关于梯度下降方程的一个基本问题

数据挖掘 机器学习 梯度下降
2022-02-27 14:30:42

所以在经典的梯度下降中,我们有

W -= epsilon * (dL / dW)

但是,如果我们认为 L 和 W 有一些单位,这有什么意义呢?考虑一下不是更明智吗

W -= epsilon * (dW / dL) (其中 epsilon 现在代表损失的小幅度变化并具有相应的单位)

还要注意,如果我们不在导数为 0 的点上,我们可以考虑函数的“局部逆”,L(W)我们会得到dL/dW = 1/ (dW/dL)因此,这两个备选方案的符号是相等的——唯一不同的是我们应用于 W 的修改的大小。

以标准方式,我们在更陡峭的区域上迈出了更大的一步。“我的”变体则相反。想象一下,W 的变化导致损失的变化非常小:那么根据我提出的方法,在 W 的更新期间过度补偿这一点是有意义的。我哪里错了?

1个回答

您正在寻找局部最小值,而不是全局最小值。

局部最小值有dLdW=0, 没有方向W您可以进一步减少损失。

如果您接近局部最小值,您希望采取小步骤,而不是“超调”。如果你离得更远,你可以采取更大的步骤来加快速度,因为你确实知道最小值的方向,即梯度。