第二篇:《机器学习之线性回归》

2018-08-07 17:01:33 浏览数 (1)

“线性回归是啥?”

这是你们即将学习的第一个最基础的机器学习算法

在它的基础之上发展得到的便是逻辑回归算法——构建神经网络模型最为基础的单元

让我们来深入地学习它吧!

第二篇还是以概念和公式为主

因为这是很基础的知识,一定要掌握哦

学术上:

线性回归属于回归问题

它包含一元线性回归和多元线性回归

形象讲解开始:

我们先从一元的线性回归下手

参见上一篇《初探篇》里对用于模型训练的样本的定义,样本可以是音频、图片、点集等等,这里我用一个简单的点集作为我们的样本解释,如图

你们看这些离散的点有各自的坐标值,其实这就是一组很小型的数据了,你完全可以类比实际应用的值

(这里用Andrew Ng教授很喜欢的房价比喻来解释吧)

比如这些点的横轴值

你可以理解为某地的房屋使用面积

纵轴值表示的是对应的价格

可以看到随着面积的增长,价格的波动上涨

(暂时不考虑其他影响价格发展不均匀的因素或者特征值吧)

在这里面积就是要输入模型里的特征值,未来神经网络就会经过这些面积的反复训练,让自己得到的房价(预测值)不断地接近纵轴的房价(实际的值)

其实一元线性回归也在干这样的事情

我们要如何得出自己的预测数据用来和真实值比较呢?答案是,画一条直线呗,如图

开始的时候这条直线和真实值的差距可能很大,经过我们的训练(调整这条直线的参数)使得我们的直线(预测值)和真实值的差距不断趋向最小,就变成图中的样子了!

机器学习里一元线性回归方程的表示为:

hθ (x)= θ0 θ1*x

θ0 θ1就是影响预测值的参数

θ1 表示输入的特征值x对预测值影响的程度(权重

θ0 用来上下调整整个模型(截距

如果有多种特征值呢?

也就是说决定价格的有多种因素

比如有面积X1地理位置X2两个

那应该怎么解决呢?——画一个切面

Y还是我们的房价

受两种参数影响的离散分布如图

我们通过调整三个参数得到一个切面

表示对于每一组特征值(X1 X2)的预测值

二元的线性回归方程

令X0 =1便得到第二行和的形式

后面是向量化表示便于矩阵运算

θ是一个(3x1)的矩阵/列向量,T表示转置

X 是样本的特征集合(3x1)的矩阵/列向量

多元的线性回归其实就是增加了特征值的维度

输入值X1 X2 `````Xn

真实值是多维离散点——由多个X值决定

那么得到的预测值模型就是多维表面了

(这里只需理解即可)

它的参数θ则有n 1个

θi 表示Xi对改变预测值hθ (x)的影响力

θ0 为整个模型的上下调整

最后还有两个问题:

1. 参数是怎么调整的呢?

让预测值表面和真实值表面拟合(误差接近最小)

说用眼睛看出来的那位同学你是认真的吗

简言之就是对代价函数求偏导,算出每一个权重对于误差的影响力,然后不断迭代更新趋于最小值

篇幅限制,我们将在下一篇中详细讲解

2.预测值的面都是平面的吗?

在二元线性回归里我们就发现有些点和平面的距离挺大的,这已经使得模型的预测不够准确了。其实我们可以将X进行调整,比如方程中的参数X1 变为 X1平方我们便可以得出一个曲面,一元线归里则是抛物线的样子了

可见确定特征值X的形式非常重要

总结一下:如何使用线性回归

1. 首先对于数据选择特征值的维度

2. 确定每个特征值的形式

3. 建立一般的线性方程表示模型

4. 把所有的参数值随机初始化

5. 计算代价函数(预测值与真实值的误差)

6. 梯度下降调整参数

可能你们觉得这些理论部分很无聊吧

那我们从下一篇开始

在每一篇的最后用Python编程实现这些算法吧

在耐心学完逻辑回归后

你们很快就可以着手写神经网络了哦,加油

下一篇我们将学习

1. 学习计算代价函数

2. 直观理解梯度下降

3. 使用Python写线性回归方程

自主学习部分:(Homework)

1.通过安装Anaconda(强烈推荐哦)

2.学习使用Jupyter Notebook(强烈推荐哦)

3.了解Python语法特性(对有编程基础的同学是容易的)

4.在Jupyter Notebook里使用Python

Anaconda就像大礼包一样

可以快速安装Python和JupyterNotebook

从官网下载慢,给大家一个链接

https://pan.baidu.com/s/1yxhoxo8cWKINiHyU0MIOrw

JupyterNotebook的使用教程

https://www.jianshu.com/p/86117613b7a6

JupyterNotebook是一种交互式的Python编辑器,目前非常非常流行,强烈推荐大家使用,如果只喜欢使用Eclipse等也可以

下一篇:《代价函数和梯度下降》

下下一篇:《强大的逻辑回归》

0 人点赞