(三)Deep Learning笔记:单变量线性回归2
1 梯度下降
1.1概念
梯度下降可用来求解代价函数J(θ0,θ1)的最小值或局部最小值,其计算步骤如下:
1) 首先给θ0,θ1赋初值,一般设θ0=0,θ1 =0;
2)不断的改变θ0,θ1来减小J(θ0,θ1)的值,直至J(θ0,θ1)达到预期的最小值;
可通过3D图更直观的理解梯度下降的工作过程。图中所示即为代价函数J(θ0,θ1)的图像,x轴、y轴分别代表θ0、θ1。想象这是公园的两座小山,假设我就在山上的某一点处,我想尽快下山,环顾四周,应该向哪个方向迈出这一步才能尽快下山呢。梯度下降算法沿着图中所示的下山路径,很快就可以到达一个局部最低点。
假设我们的起点偏移了一些,如图所示,这次的路径也发生了变化,到达了另一个局部最低点,这也是梯度下降算法的一个特点。
1.2数学表示
梯度下降算法的数学表示如图所示。
:=代表赋值assignmengt,a:=b的含义是将b的值赋给a。
α代表学习效率learning rate,α越大,代表每次下山迈出的步子越大,α越小,代表每次下山迈出的步子越小。
代表偏导项。
梯度下降算法的计算过程如图,注意θ0,θ1的值需要同时更新,右侧错误的方法在于先更新了θ0的值,因此在计算θ1的偏导项时,θ0的值已经变了,出现了误差。
1.3数学意义
为了方便起见,假设θ0=0,θ1是实数,画出J(θ1)的图像,如下图所示。
假设θ1点在图上的红色标记处,根据梯度下降算法的定义,计算方框中的导数项,我们知道这个导数的数学意义是点θ1处曲线的斜率,因此它是一个正数。更新后的θ1是在原θ1值上减去一个正数,会得到一个更小的数,θ1点向左移动,到的新的位置。依次类推,θ1点继续向左移动,J(θ1)可收敛至最低点。
假设θ1点位置变了,在下图的红色标记处,类似的,J(θ1)也收敛于最低点。
1.4学习效率α
学习效率α对梯度下降算法的影响:
如果α太小,θ1更新的间隔比较小,J(θ1)收敛也慢;如果α太大,θ1更新的间隔比较大,可能会跳过最低点,J(θ1)不收敛甚至是发散。
当J(θ1)已经到达一个局部最优点时,下图所示的导数项为0,此时,θ1的值不再变化。因此,α设定为一个固定值,当θ1的值越来越接近最低点时,斜率的绝对值越来越小,因此每次迈出的步子越来越小,直至到达最低点,斜率为0收敛为止。
2梯度下降在线性回归中的应用
2.1模型建立
梯度下降和线性回归的数学表示:
对J(θ0,θ1)求偏导可以推导出:
将上述等式带入梯度下降算法中,可得
2.2工作过程
用等高线图来描述剃度下降算法的工作过程。
初始值设为:θ0=900,θ1=-0.1
执行梯度下降算法,同时更新θ0,θ1的值,得到:
继续执行,直至代价函数收敛,假设函数hθ(x)也很好的拟合了数据。