Machine learning 确定梯度下降的起点

Machine learning 确定梯度下降的起点,machine-learning,math,Machine Learning,Math,我刚刚了解到,梯度下降的起点决定了终点。因此,我想知道如何确定到达全局最小点的正确起点,从而得到最小代价函数?是的,对于一般目标函数,梯度下降的起点决定了终点。这是复杂的,梯度下降可能会陷入次优局部极小。对此,我们能做些什么: :如果目标是在凸域上进行优化,则情况会更好,即,任何局部最小值也是全局最小值。所以凸函数上的梯度下降不会陷入次优局部极小。更好的是,如果目标是严格凸的,则(最多)存在一个全局最小值。由于这些原因,在可能的情况下,基于优化的方法通常被表述为凸优化。例如,一个凸优化问题

我刚刚了解到,梯度下降的起点决定了终点。因此,我想知道如何确定到达全局最小点的正确起点,从而得到最小代价函数?

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

  • 如果目标是在凸域上进行优化,则情况会更好,即,任何局部最小值也是全局最小值。所以凸函数上的梯度下降不会陷入次优局部极小。更好的是,如果目标是严格凸的,则(最多)存在一个全局最小值。由于这些原因,在可能的情况下,基于优化的方法通常被表述为凸优化。例如,一个凸优化问题

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

  • 对基本梯度下降思想的扭曲也有助于避免局部极小值。(同样地,)会发出更嘈杂的脚步声。这种噪声具有累积效应,就像优化目标的平滑版本一样,希望能够在较小的山谷上进行平滑。另一个想法是增加梯度下降或SGD,目的是动量将允许该方法滚动并避开局部极小值

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


这就是百万美元的问题。对于许多复杂函数,您不能。你能做的就是随机选择你的起点,多次开始梯度下降,希望你能得到一个好的解决方案。在某些情况下,对您正在处理的领域的了解可能会帮助您选择有意义的起点。注意:不是专家。以我的回答为例。梯度下降的第一步是选择一个起始值(起始点)。起始点无关紧要许多算法只是设置为0或选择一个随机值。我认为从随机值开始是一个更好的方法。我投票结束这个问题,因为它不是关于中定义的编程,而是关于ML理论和/或方法-请参阅机器学习中的介绍和说明。