问题预览/关键词
- 学习率太小有什么影响?
- 学习率太大有什么影响?
- 如果成本函数达到局部最小值,使用梯度下降还能继续最小化吗?
- 为什么学习率固定,而最小化成本函数的步幅却越来越缓?
- 如何选择合适的学习率?
笔记
1.学习率太小
学习率太小,导数项会乘以非常小的数,梯度下降速度过慢,不符合尽快下降的要求。
2.学习率太大
学习率太大,步幅太大,导致梯度下降会反复横跳,无法最小化成本函数。
3.梯度下降继续更新最优解参数
不会继续最小化。此时切线斜率为0,因此导数项为0,w参数一直能够让成本函数的值最小。
4.学习率固定,下降步幅发生变化
w参数越近函数最小值,导数项(斜率)也会越来越小,因此w每次更新的数值越来越小,所以更新幅度越来越缓慢。
5.学习率选择
常见的初始学习率为0.01。
总结
如果学习率太大,梯度下降可能会反复横跳,无法到达最低点。如果学习率太小,则下降到最低点的进度缓慢,影响算法性能。如果成本函数的值已经是局部最小值,那么继续使用梯度下降也不会最小化成本函数。学习率是调整步幅的,但是如果学习率固定,越接近最小值,更新幅度却会发生变化,变得越来越小。因为越接近最小值,参数点切线的斜率越小,导数项越小,因此参数更新的幅度也会越来越缓慢。