正如之前所述,梯度矢量具有大小和方向。梯度下降算法用梯度乘以一个称为学习速率(有时候也称为步长)的标量,以确定下一个点的位置。例如,如果梯度大小为2.5,学习速率的大小为0.01,则梯度下降算法会选择距离前一个点0.025的位置作为下一个点。
超参数是编程人员在机器学习算法中用于调整的按钮。大多数编程人员会花费相当多的时间来调整学习速率。如果您选择的学习速率太小,就会花费较长的时间来学习:
图6学习速率太小
相反,如果您指定的学习速率太大,下一个点将永远在U形曲线的底部随意弹跳,就好像量子力学实验出现严重错误一样:
图7学习速率过大
每个回归问题都存在一个金发姑娘学习速率。“金发姑娘”值与损失函数的平坦程度相关。如果您知道损失函数的梯度较小,则可以放心地试着采用更大的学习速率,以补偿较小的梯度并获得更大的步长。
图8 学习速率恰好
理想的学习速率
一维空间中的理想学习速率是 :f(x)对x的二阶导数的倒数。
二维或多维空间中的理想学习速率是海森矩阵(由二阶偏导数组成的矩阵)的倒数。
广义凸函数的情况则更为复杂。