【MATH】Levenberg-Marquarelt法(LM法)

背景

最优化方法,也是一种迭代求函数极值的方法

核心内容

  1. 雅可比矩阵
  2. 梯度下降法
  3. 高斯牛顿法

特点

针对一些非线性的代价函数求解用最小二乘法有难度,用LM算法会简单许多。本质算是一种带阻尼的高斯-牛顿法

Levenberg-Marquarelt法

回顾A:牛顿法求解极值问题 x k = x k − 1 − H ( x k − 1 − 1 ) ▽ f ( x k − 1 ) x_k=x_{k-1}-H(x_{k-1}^{-1})\triangledown f(x_{k-1}) xk=xk1H(xk11)f(xk1)

存在问题:
1.计算量大;
2.海森矩阵可能非正定难以求逆;
3.奇异矩阵,不能求逆;
4.不能保证目标函数是下降的;
5.不能保证收敛;

回顾B:梯度下降法求解极值问题

x k = x k − 1 − α ▽ f ( x ) x_k=x_{k-1}-\alpha \triangledown f(x) xk=xk1αf(x)
其中, α \alpha α是步长

LM法

x k = x k − 1 − ( H + α I ) − 1 ▽ f ( x k − 1 ) x_k=x_{k-1}-(H+\alpha I)^{-1}\triangledown f(x_{k-1}) xk=xk1(H+αI)1f(xk1)

当下降太快时使用较小的 α \alpha α,使整个公式接近高斯牛顿法;
当下降太慢时使用较大的 α \alpha α,使整个公式接近梯度下降法

引:最小二乘问题

对于一个非线性最小二乘问题: x = a r g m i n x F ( x ) = a r g m i n x 1 2 ∑ i = 1 N ∣ ∣ f ( x ) ∣ ∣ 2 x=argmin_x F(x)=argmin_x\frac{1}{2}\sum_{i=1}^{N}||f(x)||^2 x=argminxF(x)=argminx21i=1N∣∣f(x)2
则可以令:
F ( x ) = 1 2 ∑ i = 1 N ∣ ∣ f ( x ) ∣ ∣ 2 = 1 2 ∣ ∣ f ( x ) ∣ ∣ 2 = 1 2 f ( x ) T f ( x ) F(x)=\frac{1}{2}\sum_{i=1}^{N}||f(x)||^2=\frac{1}{2}||\mathbf{f}(x)||^2=\frac{1}{2}\mathbf{f}(x)^T\mathbf{f}(x) F(x)=21i=1N∣∣f(x)2=21∣∣f(x)2=21f(x)Tf(x)
给出 f ( x ) \mathbf{f}(x) f(x)的一阶泰勒展开式:
f ( x + h ) = f ( x ) + J ′ ( x ) h + o ( h T h ) \mathbf{f}(x+h)=\mathbf{f}(x)+\mathbf{J}'(x)h+o(h^Th) f(x+h)=f(x)+J(x)h+o(hTh)
去掉高阶项,代入到 F ( x ) F(x) F(x):[了解向量函数运算]
F ( x + h ) ≃ L ( h ) = 1 2 f T f + h T J f + 1 2 h T J T J h F(x+h)\simeq L(h)=\frac{1}{2}\mathbf{f}^T\mathbf{f}+h^T\mathbf{J}\mathbf{f}+\frac{1}{2}h^T\mathbf{J}^T\mathbf{J}h F(x+h)L(h)=21fTf+hTJf+21hTJTJh到这里,如果是直接对 h h h求导,令其等于0,则是牛顿法的求解方法,难点在于 ( J ) T J \mathbf(J)^T\mathbf{J} (J)TJ的逆难求,因此LM方法是加一个阻尼项 1 2 μ h T h \frac{1}{2}\mu h^Th 21μhTh:
h = a r g m i n h G ( H ) = a r g m i n h 1 2 f T f + h T J f + 1 2 h T J T J h + 1 2 μ h T h h = argmin_h G(H)=argmin_h \frac{1}{2}\mathbf{f}^T\mathbf{f}+h^T\mathbf{J}\mathbf{f}+\frac{1}{2}h^T\mathbf{J}^T\mathbf{J}h+\frac{1}{2}\mu h^Th h=argminhG(H)=argminh21fTf+hTJf+21hTJTJh+21μhTh
因此,上式对 h h h求偏导=0【Why?:微积分+泰勒展开式】,得到:
h = − g H + μ I h=-\frac{g}{\mathbf{H}+\mu\mathbf{I}} h=H+μIg
其中:
H = J T J , g = J T \mathbf{H}=\mathbf{J}^T\mathbf{J} , g=\mathbf{J}^T H=JTJ,g=JT

注:更详细的算法过程和初始值选取,可参考:

Levenberg-Marquardt 最小二乘优化

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值