梯度下降实用技巧II之学习率 Gradient descent in practice II -- learning rate
梯度下降算法中的学习率
(learning rate)很难确定,下面介绍一些寻找
的实用技巧。首先看下如何确定你的梯度下降算法正在正常工作:一般是要画出代价函数
和迭代次数之间的图像,如下图所示。如果
随着迭代次数的增加不断下降,那么说明梯度下降算法工作的很好,当到达一定迭代次数后
基本持平时,说明
已经收敛了,可以选取此时的
作为参数。一般选取一个数
小于,如果
下降的幅度小于
,则认为收敛了。
下面给出判断梯度下降不正常工作的判断方法及解决方法:如下图所示,当
随着迭代次数增加反而增加时,说明梯度下降算法工作的不正常。一般的解决办法是缩小学习率
的值。如果学习率
过大,会出现如下图右所示的情况,下降的幅度过大,跳过了全局最小值(下图下方所示的图形问题),解决办法也是缩小学习率
的值。
关于学习率
的取值:由上面我们可以知道,当
过大时,
可能不降反升。需要缩小
的取值,但是如果
取值过小,会导致
收敛的非常慢。因为如何选取一个合适的
很重要。下图给出选取
的方法。