其他优化技术


迭代梯度下降技术

梯度下降,也称为最速下降,是一种寻找函数局部最小值的迭代优化算法。在最小化函数的同时,我们关心的是要最小化的成本或错误(记住旅行商问题)。它广泛用于深度学习,在多种情况下都很有用。这里要记住的一点是我们关心的是局部优化而不是全局优化。

主要工作思路

我们可以通过以下步骤来理解梯度下降的主要工作思想 -

  • 首先,从对解决方案的初步猜测开始。

  • 然后,求该点函数的梯度。

  • 随后,通过在梯度的负方向上步进解决方案来重复该过程。

按照上述步骤,算法最终会在梯度为零的地方收敛。

优化

数学概念

假设我们有一个函数f(x),并且我们试图找到该函数的最小值。以下是查找f(x)最小值的步骤。

  • 首先,为 x$ 提供一些初始值 $x_{0}

  • 现在取函数的梯度 $\nabla f$ ⁡,直觉上梯度将给出x处曲线的斜率,其方向将指向函数的增加,找出使其最小化的最佳方向。

  • 现在更改 x 如下 -

    $$x_{n\:+\:1}\:=\:x_{n}\:-\:\theta \nabla f(x_{n})$$

这里,θ > 0是迫使算法进行小跳跃的训练率(步长)。

估计步长

实际上,错误的步长θ可能无法收敛,因此仔细选择步长θ非常重要。选择步长时必须记住以下几点

  • 不要选择太大的步长,否则会产生负面影响,即会发散而不是收敛。

  • 不要选择太小的步长,否则需要很长时间才能收敛。

关于选择步长的一些选项 -

  • 一种选择是选择固定步长。

  • 另一种选择是为每次迭代选择不同的步长。

模拟退火

模拟退火 (SA) 的基本概念源自固体退火。在退火过程中,如果我们将金属加热到其熔点以上并冷却,那么结构性能将取决于冷却速率。我们也可以说SA模拟了退火的冶金过程。

在人工神经网络中的使用

SA 是一种随机计算方法,受退火类比启发,用于逼近给定函数的全局优化。我们可以使用SA来训练前馈神经网络。

算法

步骤 1 - 生成随机解决方案。

步骤 2 - 使用一些成本函数计算其成本。

步骤 3 - 生成随机相邻解决方案。

步骤 4 - 通过相同的成本函数计算新的解决方案成本。

步骤 5 - 将新解决方案与旧解决方案的成本进行比较,如下所示 -

如果新解决方案的成本<旧解决方案的成本,则转向新解决方案。

步骤 6 - 测试停止条件,这可能是达到的最大迭代次数或获得可接受的解决方案。