首页 > 解决方案 > 确定梯度下降的起点

问题描述

我刚刚了解到梯度下降的起点决定了终点。所以我想知道我们如何确定到达全局最小点的正确起点,以便我们获得最小的成本函数?

标签: machine-learningmath

解决方案


是的,对于一般的目标函数,梯度下降的起点决定了终点。这很复杂,梯度下降可能会陷入次优的局部最小值。我们能做些什么:

  • 凸优化:如果目标是在凸域上优化的凸函数,那么事情会更好,也就是说,任何局部最小值也是全局最小值。因此,凸函数上的梯度下降不会陷入次优的局部最小值。更好的是,如果目标是严格凸的,那么(至多)存在一个全局最小值。由于这些原因,基于优化的方法经常在可能的情况下被表述为凸优化。例如,逻辑回归是一个凸优化问题。

  • 正如 Tarik 所说,一个好的元策略是从不同的随机起始位置多次进行梯度下降。这有时被称为“随机重启”或“霰弹枪”梯度下降方法。

  • 对基本梯度下降思想的扭曲也有助于避免局部最小值。随机梯度下降 (SGD)(以及类似的模拟退火)会产生更嘈杂的步骤。这种噪声具有累积效应,例如优化目标的平滑版本,希望在较小的山谷上平滑。另一个想法是在梯度下降或 SGD 中添加动量项,目的是使动量允许该方法通过并避开局部最小值。

  • 最后,一种有趣且实用的态度就是放弃并接受梯度下降的解决方案可能不是最优的。局部最小解决方案可能仍然有用。例如,如果该解决方案代表神经网络的训练权重,那么真正重要的是网络在测试集上的泛化能力和表现良好,而不是在训练集上是最优的。


推荐阅读