(一) 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组数据.