设函数建立了参数向量
估计的测量向量
的关系.现在有初始的参数估计
和测量向量
,想找到一个向量
最好满足函数关系
.即最小化平方距离
.
LM算法的思想是在信赖域内线性逼近.对于一个小的
,泰勒展开得到近似值.
[1]
是雅克比矩阵
.像所有的非线性优化方法一样,LM是迭代的:设置起始点
,产生一系列的
,最后收敛到
的局部最小值
.因此,对于每一步,需要找到
最小化
.被找的
就是线性最小二乘问题的解:当
和
的列空间正交时获得最小值.得到
,其中
是正规方程[1]的解.
[2]
矩阵是Hessian矩阵的近似.LM方法实际上求解了一个称为增广正态方程的[2]的变体.
[3]
其中的非对角元素与
的相应元素相同,对角元素在
由
给出.改变
的对角元素的策略称为阻尼,
被称为阻尼系数.如果被更新的参数向量
,其中
由方程[3]得到,且使残差
减小,此次更新可以接受并且减小阻尼系数并重复,否则增加,增广正态方程被再次求解而且迭代到有一个
使残差减小.
在LM中,阻尼项在每次迭代时进行调整,以确保减少残差.如果阻尼设置为较大值,则矩阵
在等式[3]中,几乎是对角的.此时LM的更新步长
接近最速下降方向.阻尼还可以处理[3]中雅可比矩阵不是满秩,
是奇异的的情况.如果阻尼较小,LM步长近似于适用于完全线性问题的精确二次步长.满足以下条件时迭代结束:
(1)梯度的幅值,即等式[2]右侧的
,下降到阈值
以下
(2)值的相对变化下降到阈值
以下
(3)残差降到阈值
以下
(4)最大迭代次数达到
如果的协方差矩阵
可用,可以最小化
,
.因此,通过求解由加权正态方程定义的加权最小二乘问题