单变量线性回归

单变量线性回归就是从一个输入值预测一个输出值。输入/输出关系是一个线性函数。

模型表示:

我们用一个根据房屋尺寸预测房屋售价的例子开始。
假设有一个数据集,我们称作训练集,如下表所示

我们用来描述回归问题的标记如下:
m 代表训练集中实例的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y) 代表训练集中的实例
 代表第i个观测实例
h 代表学习算法的函数也称为假设(hypothesis)

然后我们看一下监督学习的工作方式

我们把训练集(房屋尺寸)作为输入喂给学习算法,学习算法训练后输出一个函数 (h),通过这个函数我们可以预测房屋售价。
假设房屋尺寸与房屋售价是线性关系,我们假设函数(hypothesis function)为  ,因为只有一个特征/输入变量,所以这样的问题叫做单变量线性回归问题。

代价函数(cost function):

现在我们有了假设函数,接下来要做的就是选择合适的参数(parameter) Θ
我们的目标是用假设函数进行预测,因此 要最接近 y

因此我们引出代价函数(cost function)也叫平方误差代价函数: ,其中½是为了接下来的计算方便。
我们的目标就是找出 使得代价函数 最小。
我们绘制一个等高线图,三个坐标分别为

我们可以看到存在一个点使得 最小。

现在我们看看代价函数是干什么的。
=0时, 随着 变化如下:
=1时, 取得最小值, 与y最接近。

正如我们上面提到的,当 均不为0时,存在一个点使得 最小,

现在我们知道了代价函数,那么我们接下来就要一个有效的算法,自动地找出使代价函数 最小的参数

梯度下降(gradient descent):

梯度下降是一个用来计算函数最小值的算法,所以我们要使用梯度下降算法来求出代价函数的最小值。
梯度下降的基本思想是:开始随机定义一个参数组合 ,然后不断地改变参数的值,使得每次代价函数J下降最多,直到找到一个局部最小值。


想象一下,你现在站在山上一个点,然后运用梯度下降观察周围,找到下降最快的方向,并朝着这个方向下山。
   
当然,如果你的起始点不同,你所走的路径和找到的最低点也可能不同。


下面是批量梯度下降(batch gradient descent)算法的公式:

其中, 是学习率(learning rate),就是梯度下降每次下降的步长(学习速率),需要注意的是,我们要同时更新

下面是梯度下降的直观理解:

减去红线斜率(正数),所以 减小,直到红线斜率等于0, 不变,J最小;

另一方向同理, 减去红线斜率(负数), 增大,直到斜率为0, 不变,J最小。

如果学习率太小,那么下降速度比较慢,而如果学习率太大,梯度下降可能无法收敛。

如果一开始参数选择在局部最优点,那么这个点的导数为0,参数 Θ不会更新。
在梯度下降的过程中,导数的值会不断变小,下降幅度也会减小,因此在下降过程中没有必要对学习率进行调整。


梯度下降的线性回归:

现在我们将梯度下降和代价函数结合。


表示代价函数对 分别求导:

j=0时:
j=1时: 


所以算法改写成:


这就是线性代数的梯度下降法。


下面是线性分类与线性回归比较





参考资料:Machine Learning——Andrew Ng (Coursera)
                   机器学习基石——林轩田 (Coursera)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值