【线性代数-非线性优化算法】高斯-牛顿法和LM法
文章目录
-
- 一、常见非线性优化算法概览
- 二、高斯-牛顿法(Gauss-Newton Method)
-
- 1. 问题形式
- 2. 核心思想
- 3. 迭代公式
- 4. 优缺点
- 三、列文伯格-马夸尔特法(Levenberg-Marquardt, LM)
-
- 1. 动机:融合梯度下降与高斯-牛顿
- 2. 核心公式
- 3. 阻尼因子 λ \lambda λ 的自适应调整
-
- 调整策略:
- 4. 为什么 ∣ r k + J k Δ x ∣ 2 | \mathbf{r}_k + J_k \Delta \mathbf{x} |^2 ∣rk+JkΔx∣2 是预测残差?
-
- 一阶泰勒展开:
- 几何/物理意义:
- 5. LM 算法完整流程
- 6. LM 的优势
- 7. 典型应用场景
- 四、总结对比
一、常见非线性优化算法概览
算法 | 特点 | 适用场景 |
---|---|---|
梯度下降法(Gradient Descent) | 仅用一阶导数(梯度),方向为负梯度;简单但收敛慢 | 大规模问题、对精度要求不高 |
牛顿法(Newton’s Method) | 使用二阶导数(Hessian 矩阵),二阶收敛;计算与存储 Hessian 开销大 | 小规模、光滑函数 |
高斯-牛顿法(Gauss-Newton) | 专为最小二乘设计,用 J ⊤ J J^\top J J⊤J 近似 Hessian,避免二阶导数 | 数据拟合、重投影误差最小化 |
列文伯格-马夸尔特法(Levenberg-Marquardt, LM) | 高斯-牛顿的改进版,引入阻尼因子 λ \lambda λ,兼具稳健性与快速性 | 实际中最常用,如相机标定、Bundle Adjustment |
拟牛顿法(BFGS / L-BFGS) | 迭代近似 Hessian,L-BFGS 节省内存 | 通用非线性优化,尤其适合大规模问题 |
二、高斯-牛顿法(Gauss-Newton Method)
1. 问题形式
求解 非线性最小二乘问题:
min x 1 2 ∣ r ( x ) ∣ 2 = 1 2 ∑ i = 1 m r i ( x ) 2 \min_{\mathbf{x}} \frac{1}{2} | \mathbf{r}(\mathbf{x}) |^2 = \frac{1}{2} \sum_{i=1}^m r_i(\mathbf{x})^2 xmin21∣r(x)∣2=21i=1∑mri(x)2
- x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn:待优化参数
- r ( x ) ∈ R m \mathbf{r}(\mathbf{x}) \in \mathbb{R}^m r(x)∈Rm:残差向量(模型预测与观测的差异)
2. 核心思想
牛顿法需计算 Hessian 矩阵 H H H,但对最小二乘问题:
H = J ⊤ J + ∑ i = 1 m r i ∇ 2 r i H = J^\top J + \sum_{i=1}^m r_i \nabla^2 r_i H=J⊤J+i=1∑mri∇2ri
高斯-牛顿法忽略二阶项(即 ∇ 2 r i \nabla^2 r_i </