Have a Question?

高斯牛顿法 (Gauss-Newton Method)

You are here:

1 非线性最小二乘

设残差函数 \mathbf{f}(x) 为非线性函数,对其进行一阶泰勒展开:
\mathbf{f}(\mathbf{x}+\Delta \mathbf{x}) \approx \boldsymbol{\ell}(\Delta \mathbf{x}) \equiv \mathbf{f}(\mathbf{x})+\mathbf{J} \Delta \mathbf{x}\tag{1}
其中 \mathbf{J} 表示是残差函数 \mathbf{f}(x) 的雅克比矩阵。
则我们使用最小二乘的损失函数近似为:
\begin{aligned} F(\mathbf{x}+\Delta \mathbf{x}) \approx L(\Delta \mathbf{x}) & \equiv \frac{1}{2} \boldsymbol{\ell}(\Delta \mathbf{x})^{\top} \ell(\Delta \mathbf{x}) \\ &=\frac{1}{2} \mathbf{f}^{\top} \mathbf{f}+\Delta \mathbf{x}^{\top} \mathbf{J}^{\top} \mathbf{f}+\frac{1}{2} \Delta \mathbf{x}^{\top} \mathbf{J}^{\top} \mathbf{J} \Delta \mathbf{x} \\ &=F(\mathbf{x})+\Delta \mathbf{x}^{\top} \mathbf{J}^{\top} \mathbf{f}+\frac{1}{2} \Delta \mathbf{x}^{\top} \mathbf{J}^{\top} \mathbf{J} \Delta \mathbf{x} \end{aligned}\tag{2}

2 Gauss-Newton 法

对公式 (2) 我们需要求最优的 \Delta \mathbf{x} 即:
\Delta \mathbf{x} \equiv \arg \min _{\Delta \mathbf{x}}\left\{L(\Delta \mathbf{x})\right\}\tag{3}
因此两边求偏导:
\frac{\partial L(\Delta \mathbf{x})}{\partial \Delta \mathbf{x}} = \mathbf{J}^{\top} \mathbf{f} + \mathbf{J}^{\top} \mathbf{J} \Delta \mathbf{x} = 0\tag{4}
得到:
\left(\mathbf{J}^{\top} \mathbf{J}\right) \Delta \mathbf{x}_{\mathbf{g n}}=-\mathbf{J}^{\top} \mathbf{f}\tag{5}
高斯牛顿法由于不需要求解二阶的海森矩阵而是用 \mathbf{J}^{\top} \mathbf{J} 近似,因此对比牛顿法计算量会更小一些。

参考文献

[1] 贺一家, 高翔, 崔华坤.《从零开始手写 VIO》讲座

上一个 共轭梯度算法 (Conjugate Gradient Method)

Add a Comment

Your email address will not be published.

Table of Contents