(十)机器学习_梯度下降技巧2_学习率

一、背景

梯度下降的使用技巧2:
学习率(十)机器学习_梯度下降技巧2_学习率
技巧1是特征值的缩放,关乎梯度下降的收敛快慢;技巧2是学习率,涉及到了梯度下降中的步伐大小。

二、梯度下降的两个问题

(十)机器学习_梯度下降技巧2_学习率

  • 问题一:调试以确保梯度下降正常工作
    方法1:可以通过观察下面的图像左侧。
    关于迭代次数和代价函数的图像。每一次迭代得到一个参数值使得此时的代价函数是取得最小值的。如果梯度下降运行正确的话,那么代价函数应该随着迭代次数逐渐下降。如图,在300~400的迭代次数之间,图像趋于平缓,可以得知此时梯度下降已经收敛。
    (十)机器学习_梯度下降技巧2_学习率

方法2:进行自动的收敛测试
也就是使用另外一种算法来告诉你该梯度下降有没有收敛。如上图右侧,选择一个合适的阈值,如果代价函数J小于该阈值,则说明收敛。事实上,选择一个合适的阈值是很困难的。所以方法1较简便。

  • 问题二:如何选择学习率
    (十)机器学习_梯度下降技巧2_学习率
    【注:右侧图横坐标为参数sita】
    当我们观察关于迭代次数和代价函数J的图像时,如果发现上图左侧的情况,如图像上升(可能因为学习率过大,导致错过代价函数J的最小值,使得该值逐渐变大)或者不是持续下降的状态时,应该选择较小的学习率。但是学习率太小,会导致梯度下降步伐太小,收敛的很慢。

(十)机器学习_梯度下降技巧2_学习率
选择学习率时,大概在每隔三倍取值,最终取得一个合适的值,使得梯度下降正常更好地工作。