LM算法推导:阻尼法与置信域法

应用领域

LM 算法用于解决非线性最小二乘问题,问题定义如下:

LM 算法有两种推导和实现,一种是算法发明者使用的 阻尼法,一种是后来学者补充的 置信域法。这里分别作出推导。

阻尼法推导 Damped Method

1. 一阶泰勒展开近似

对 在 处泰勒展开:

将问题转化为:对于每次迭代,求最优的 。表达如下:

2. 加入阻尼项

  • 为阻尼系数

阻尼项 可以看作是对于过大的 的惩罚。

3. 求极值

令关于 的导数=0 :

得最优解:

简化表示:

简化后的最优解:

4. 阻尼系数 μ 的调节

上面的最优解表达式中还有一个阻尼系数 没有确定,这里给出它的确定方法。

定义增益率(gain ratio) :(也有叫它下降率的reduction ratio)

表达了一阶泰勒展开近似真实函数的相似程度,分子部分是 函数在经历了自变量 变化后的变化情况,分母部分是一阶泰勒展开近似在经历了 后的变化情况。

  • 分子越大, 下降的大, 越大 → 说明这里的泰勒展开近似是比较准确的,应减小阻尼系数
  • 分子越小, 下降的小, 越小 → 说明这里的泰勒展开近似不太准确,应增大阻尼系数

介绍两种阻尼系数的调节方案:
方案一 (Marquardt 1963):

时会增大阻尼系数, 时减少阻尼系数。

方案二 (Nielsen 1999):
\begin{align*} \text { if } \quad &ρ>0 \\ & \mu :=\mu * \max \left\{\frac{1}{3}, 1-(2 ρ-1)^{3}\right\} ; \quad \nu:=2 \\ \text { else } \\ & \mu:=\mu * \nu ; \quad \nu:=2 * \nu \end{align*}
方案二中,对于错误的 ,也就是 的情况,将会迅速增大阻尼系数,使下一步的 趋向于更小。比方案一多了一个参数 。

5. 总结

阻尼法的LM算法的每步迭代过程为:

  1. 计算迭代增量 ,依据
  2. 计算增益率 ,用于调节 ,依据
  3. 调节阻尼系数 ,用于下一次迭代计算

置信域法推导 Trust Region Method

1. 一阶泰勒展开近似

这一步与阻尼法是一致的。
对 在 处泰勒展开:

将问题转化为:对于每次迭代,求最优的 。表达如下:

2. 加入置信域约束项

对于每一步迭代,使用 来约束增量 ,构成如下带小于等于号的约束优化问题

  • 是置信域的范围,对于每一步的迭代, 是一个已知量。

3. 求解约束优化问题

对于这种小于等于号的约束优化问题,是需要分两情况进行考虑。

情况1:
假设最优解 位于 的范围内,则此时带约束的最优解就是无约束情况下的最优解,通过以下方式对这种假设进行求解和验证:

  1. 求无约束的最优解,得 ;
  2. 验证此最优解是否满足 ;
  3. 如果满足则此解为带约束的最优解, 如果不满足说明最优解不在 的范围内,而在 的范围上,此时应通过下一种情况继续求解。

情况2:
假设最优解位于 的范围上,此时就是一个等式约束优化问题:

需要引入拉格朗日乘子 (为方便写成),构成拉格朗日方程:

此时最优解需满足如下条件:

可以看到上面的等式 1) 是与阻尼法的最优解的形式是一样的,但是阻尼法中的阻尼系数 是已知的,在每一个迭代中都需要调节,而这里的拉格朗日乘子 是未知的而且也是无需知道的,在每一步迭代中需要调节的是置信域范围 。所以两个式子形式相同但是含义不一样。
联立 1) 2) 可解此等式约束问题得最优解 。

4. 置信域范围 的调节

上面的求解约束优化问题的过程中,还有一个置信域范围 需要在每一步迭代的事先确定。这里给出它的确定方法。
与阻尼法一样,首先需要计算

然后调节置信域范围 :

5. 总结

置信域法的LM算法的每步迭代过程为:

  1. 计算迭代增量 ,通过求解约束优化问题得到
  2. 计算增益率 ,用于调节 ,依据
  3. 调节置信域范围 ,用于下一次迭代计算

你可能感兴趣的:(LM算法推导:阻尼法与置信域法)