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》讲座

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

Table of Contents