学习率过小
学习率过小会导致梯度下降迭代次数过多,降低了运算速度,如下图:
学习率过大
学习率过大可能会导致取值来回震荡或不收敛:
如何选择学习率
通过绘制迭代次数和优化目标函数值得关系曲线来直观的观察迭代效果(主要是看是否震荡和不收敛):
后两种情况都是由于学习率过大造成的。达爷给出的建议的是按照下列列这样的数列来尝试学习率:
..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1, ...
最后选一个可用的最大值或比其稍小的值。
参考:
- 《机器学习工程师》网易云课堂出品
- 《吴恩达机器学习》