问题预览/关键词
- 本节内容
- 梯度下降更新w的公式
- 梯度下降更新b的公式
- =的含义
- α的含义
- 为什么要控制梯度下降的幅度?
- 导数项的含义
- 为什么要控制梯度下降的方向?
- 梯度下降何时结束?
- 梯度下降算法收敛的含义
- 正确更新梯度下降的顺序
- 错误更新梯度下降的顺序
笔记
1.本节内容
如何实现梯度下降算法
2.梯度下降更新w的公式
3.梯度下降更新b的公式
4.=的含义
表示计算机中的赋值操作,不能理解成数学中的等于操作。
5.α的含义:
希腊字母,表示学习率,通常为0-1之间很小的数,如0.01。它用来控制梯度下降的幅度。α越大,下降的步子越大。α很小,则一点点向下走。
6.为什么要控制梯度下降的幅度
控制梯度下降的幅度:学习率过高,下降幅度太大,无法下降到最低点,学习率过低,下降幅度太小,影响算法性能。
- 如何选择合适的α:4.4课节会详细说明。
7.导数项的含义
用来控制梯度下降的方向。
- 计算J关于w的偏导数
- 计算J关于b的偏导数。
8.为什么要控制梯度下降的方向?
只有控制方向,才能尽快的到达函数的局部或全局最小值。
-
为什么求导能控制方向?4.3课节会详细说明。
-
导数如何计算?4.5课节会详细说明。
9.梯度下降何时结束
不断更新w和b直到算法收敛,梯度下降就可以停止了。
- 自行设置停止条件,在第一周lab_05实验代码,设置迭代10000次后自动停止。
10.梯度下降算法收敛
优化过程中,算法逐步逼近问题的最优解或局部最优解。在线性回归中,表示梯度下降更新的w和b,已经达到成本函数J的局部最小值,此时w,b不怎么改变了。
11.更新梯度下降的正确顺序
先用旧的w和b计算,计算完成在更新w和b,即同步更新。
12.更新梯度下降的错误顺序
计算w然后更新w,导致计算b的过程里使用了新的w,旧的w被忽略了,导致w,b没有同步更新。
总结
梯度下降的具体操作是要更新w,b,公式为计算学习率乘以J关于w或b的偏导数,然后将结果赋值给新的w和b,一直重复上述过程,直到w,b的值不怎么改变了。公式中的=符号表示赋值操作,α(学习率)控制梯度下降的步幅,导数项控制梯度下降的方向。在更新w,b的时候,我们要做到同步更新。先计算旧的w,b,然后将结果更新给新的w,b。