吴恩达机器学习笔记系列(五)——梯度下降
一、gradient descent (梯度下降)
1、概念:
线性回归的目的就是找出使得误差(损失函数)最小的参数值。可以用梯度下降来确定 参数的大小。
梯度下降是一种迭代方法,能够求解局部最小值,结果与初始点的选取有关。为了找到最小值,从某一点开始,每次都往梯度下降最快的方向移动。如下图所示,当凹处不止一个时,选择不同初始点可能得到的结果差别很大。
2、更新规则:
对于线性回归的梯度下降的更新规则为:
其中j=0,1,“:=”表示“赋值”,例如a:=b表示把b的值赋给a;是学习率(learning rate);线性回归中参数只有两个值,在其他更复杂的回归中可能包含更多个参数,如下面的式子,表示第 i 个参数,也表示参数的第 i 个分量。
–
- 练习题:
注:
;;
不同下表表示不同的参数,彼此之间没有关联,计算时不需要将更新后的值带入计算,而是直接带入原来的=1的值。
二、梯度下降的过程
1、参数
梯度下降方法每次迭代都往梯度方向进行修正。参数的更新规则为:,如下图:
- 从右侧的初始点开始,因为梯度为正值即,则修正时需要减去乘以一个正值,减小,往左侧的最低点移动;
- 从左侧的初始点开始,因为梯度为负值即,则修正时需要减去乘以一个负值,增大,往右侧的最低点移动;
所以不论初始点选取在何处,梯度下降总使得参数往最优解(局部)的方向进行不断的修正。
练习题:
2、学习率
对于学习率的选取是十分关键的,它决定了梯度下降过程中每次更新的步长。若太小,则迭代次数太多使得效率降低;若太大,则可能跳过了局部的最小值而得不到最优解。如下图:
此外,在梯度下降的过程中,虽然学习速率的值固定不变,但由于越接近底部的最小值,斜率(slope)即也越小越接近0,由可知,参数更新的幅度越来越小。故即使$\alpha$始终不变,迭代的步长也会在自动的变小。
最小值处有,
-
练习题
(注意,选c,d,第二个选项是错的,应该是local minimum局部最优解)
3、更新规则的推导
{
}
上式中②的根据偏导计算得来,偏导的规则:
所以对于求偏导如下:
相关文献: