一. The Levenberg-Marquardt algorithm for nonlinear least squares curve-fitting problems
作者:Henri P. Gavin
(1)LM算法是用于求解非线性最小二乘问题的。
(2)对于最小二乘问题,如果模型线性,那么目标函数就是关于参数的二次型,并且可以通过求解线性矩阵方程求解。
(3)如果模型非线性,那么这个最小二乘问题就要通过迭代算法求解。迭代算法通过选择合适的更新量。
(4)LM算法是结合梯度下降算法和高斯牛顿算法的。
(5)梯度下降算法,选择方向最陡的方向,高斯牛顿方法,认为函数局部二次型。
(6)当参数远离最优值,LM算法像梯度下降算法;当参数靠近最优值,LM算法像高斯牛顿方法。
LM算法会自适应地在梯度下降和高斯牛顿之间切换,阻尼系数lamda初始很大,以致于第一次更新步长足够小,能够沿着梯度最陡的方向。
如果任何一次更新使得更新后的损失值>更新前的损失值,那么就增大lamda,否则就减小lamda,减少lamda的过程中,LM算法就在靠近高斯牛顿方法。
数