4.5 梯度下降法

4.5.1 梯度下降的类比

梯度下降法的基本思想可以类比为一个下山的过程,假设一个人在山上,此时他要以最快的速度下山,就需要梯度下降来帮助自己下山。具体来说,就是以自己现在所处的位置为基准,寻找一个山势最陡峭的方向,沿着高度下降的方向走,就能以最快速度到山底。

同理,将上一节所提到的损失函数看作一座山,我们的目标就是找到这个损失函数的最小值(山底),那么我们就可以在初始点找到该点函数的梯度,沿着函数值下降的方向对参数进行更新,这就是梯度下降法。

4.5.2 梯度

梯度是一个向量(矢量),具有大小和方向,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。

4.5.3 梯度下降的具体实现

如图4-9所示,梯度下降法的第一个阶段是为 选择一个起始值(起点),起点并不重要,因此很多算法就直接将设为0或随机选择一个值。图4-9中我们选择了一个稍大于 0 的起点,然后梯度下降法算法会计算损失曲线在起点处的梯度,简而言之,梯度是偏导数的矢量——它可以让您了解哪个方向距离目标“更近”或“更远”。请注意,损失相对于单个权重的梯度就等于导数。

梯度始终指向损失函数中增长最为迅猛的方向,梯度下降法算法会沿着负梯度的方向走一步,以便尽快降低损失。

Last updated