线性回归

来源:互联网 发布:宁海知豆招聘 编辑:程序博客网 时间:2024/04/29 03:12


(一)  Cost Function

线性回归是给出一系列数据点,求拟合直线 

记Cost Function为 ,如下左图所示:

求出Cost Function最小时的值,的值求出来了,拟合直线也就知道了。

下右图为简化模式,也即,拟合直线为 



举例:有三个数据点,如下左图中×所示,当时,,如下图所示。



下图为不同情况的cost function 的值。

从这里也可以看到,当时,达到最小,此时对应的拟合直线为最优拟合直线。

       


以上为假设  的情况,现在我们回到  的情况。

当存在两个参数时,cost function是一个三维函数,如下图所示:

可以看到,在“谷底”时,最小,此时对应的带入就是我们要求的拟合直线。

  


将上图中的cost function在二维上用不同颜色的等高线映射为下右图所示,

在下右图中,给定一个时,拟合直线也就确定了,

如下图所示,下右图给定,下左图就对应一条拟合直线。左图中的×为数据点。


改变,往里面移动,可以看到下左图跟着改变。



继续改变,移到最内侧(对应三维图像的“谷底”),可以看到,此时和数据点的拟合程度是最好的,

如下图所示。

我们的目的是最小化cost function,即上图中最后一幅图=450,=0.12的情况。




(二) Gradient descent

Gradient descent是指梯度下降,为的是将cost funciton 描绘出之后,让参数沿着梯度下降的方向走,并迭代地不断减小J(),即稳态。


每次沿着梯度下降的方向:


参数的变换公式:其中标出了梯度(蓝框内)和学习率():




其中:为梯度,α为学习率。



gradient即J在该点的切线斜率slope,tanβ。下图所示分别为slope(gradient)为正和负的情况:



同时更新,左边为正解:



关于学习率:


α太小:学习很慢;                                                             α太大:容易过学习

所以如果陷入局部极小,则slope=0,不会向左右变换

本图表示:无需逐渐减小α,就可以使下降幅度逐渐减小(因为梯度逐渐减小):


求导后:



由此我们得到:



其中表示输入数据x中的第i组数据.

8 0