吴恩达机器学习笔记系列(五)——梯度下降

一、gradient descent (梯度下降)

1、概念:

线性回归的目的就是找出使得误差(损失函数)最小的参数值。可以用梯度下降来确定 参数的大小。

梯度下降是一种迭代方法,能够求解局部最小值,结果与初始点的选取有关。为了找到最小值,从某一点开始,每次都往梯度下降最快的方向移动。如下图所示,当凹处不止一个时,选择不同初始点可能得到的结果差别很大。

吴恩达机器学习笔记系列(五)——梯度下降


2、更新规则:

对于线性回归的梯度下降的更新规则为:

θj:=θjαθjJ(θ)

其中j=0,1,“:=”表示“赋值”,例如a:=b表示把b的值赋给a;α是学习率(learning rate);线性回归中参数θ只有两个值,在其他更复杂的回归中可能包含更多个参数,如下面的式子,θi表示第 i 个参数,也表示参数θ的第 i 个分量。

吴恩达机器学习笔记系列(五)——梯度下降


吴恩达机器学习笔记系列(五)——梯度下降

  • 练习题:

吴恩达机器学习笔记系列(五)——梯度下降

注:
θ0=θ0+θ0θ1=1+1×2=1+2 ;

θ1=θ1+θ0θ1=2+1×2=2+2 ;

不同下表表示不同的参数,彼此之间没有关联,计算θ1时不需要将θ0更新后的值带入计算,而是直接带入原来的θ0=1的值。


二、梯度下降的过程

1、参数θ

梯度下降方法每次迭代都往梯度方向进行修正。参数θ的更新规则为:θj:=θjαθjJ(θ),如下图:

吴恩达机器学习笔记系列(五)——梯度下降

  • 从右侧的初始点开始,因为梯度为正值即θ1J(θ1)>0,则θ1修正时需要减去α乘以一个正值,θ1减小,往左侧的最低点移动;
  • 从左侧的初始点开始,因为梯度为负值即θ1J(θ1)<0,则θ1修正时需要减去α乘以一个负值,θ1增大,往右侧的最低点移动;

所以不论初始点选取在何处,梯度下降总使得参数往最优解(局部)的方向进行不断的修正。


  • 练习题:

吴恩达机器学习笔记系列(五)——梯度下降


2、学习率α

对于学习率α的选取是十分关键的,它决定了梯度下降过程中每次更新的步长。若α太小,则迭代次数太多使得效率降低;若α太大,则可能跳过了局部的最小值而得不到最优解。如下图:

吴恩达机器学习笔记系列(五)——梯度下降

此外,在梯度下降的过程中,虽然学习速率α的值固定不变,但由于越接近底部的最小值,斜率(slope)即θ1J(θ1)也越小越接近0,由θj:=θjαθjJ(θ)可知,参数更新的幅度越来越小。故即使$\alpha$始终不变,迭代的步长也会在自动的变小。最小值处有θ1=θ1α0

吴恩达机器学习笔记系列(五)——梯度下降


  • 练习题(注意,选c,d,第二个选项是错的,应该是local minimum局部最优解)

吴恩达机器学习笔记系列(五)——梯度下降


3、更新规则的推导

{

θ0:=θ0α1mi=1m(hθ(xi)yi)

θ1:=θ1α1mi=1m((hθ(xi)yi)xi)

}

上式中②的根据偏导计算得来,偏导的规则:

y=(xy)2,yx=2(xy)(xy)x

所以对于J(θ0,θ1)=12mi=1m(hθ(x(i)y(i))2求偏导如下:

吴恩达机器学习笔记系列(五)——梯度下降


相关文献:

梯度下降总结:https://www.cnblogs.com/pinard/p/5970503.html