Title: 非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法 (I)
写在前面
原本只写一篇博文关于 “非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法”,
想把高斯-牛顿法这一广泛应用于最小二乘问题求解的数值方法的来龙去脉写清楚.但因为网站发布字数的限制, 按章节顺序拆成了几篇发布.
姊妹博文
非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法 (I) ⟵ \longleftarrow ⟵ 本篇
非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法 (II)
非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法 (III)
非线性最小二乘问题的数值方法 —— 从牛顿迭代法到高斯-牛顿法 (IV)
↑ \uparrow ↑ 理论部分
↓ \downarrow ↓ 实例部分
目录
I.引言
II.牛顿迭代法解非线性方程
1.一元非线性方程形式的牛顿迭代法
2.高维非线性方程组形式的牛顿迭代法
3.牛顿迭代法的雅可比矩阵
III.牛顿迭代法解非线性最小二乘问题
1.从方程问题到最小二乘问题的演化
2.最小二乘问题 Jacobian 矩阵的推导
3.最小二乘问题 Jacobian 矩阵的性质
A.维度
B.整体 Hessian 矩阵
C.局部 Hessian 矩阵
D.Jacobian 矩阵/Hessian 矩阵
E.Hessian 矩阵的对称性
IV.高斯-牛顿法解非线性最小二乘问题
1.高斯-牛顿法的获得
2.高斯-牛顿法的优势
3.高斯-牛顿法的解读 —— 优化观点
V.最小二乘法与高斯的贡献
VI.总结
参考文献
I. 引言
实际应用或者论文阅读中都会经常遇到最优化问题.
通过构建平方和形式的参数化的代价函数, 并寻找使得代价函数取得极小值的最优参数, 就是非线性最小二乘问题 (The Nonlinear Least Squares Problem, NLLS).
非线性最小二乘问题数学上可以写成
m
i
n
i
m
i
z
e
g
(
x
)
=
1
2
∥
r
(
x
)
∥
2
2
=
1
2
∑
i
=
1
m
r
i
(
x
)
2
(I-1)
{\rm minimize}\quad {g}(\mathbf{x}) = \frac{1}{2}\|\mathbf{r}(\mathbf{x})\|_2^2 = \frac{1}{2}\sum_{i=1}^{m} r_i(\mathbf{x})^2 \tag{I-1}
minimizeg(x)=21∥r(x)∥22=21i=1∑mri(x)2(I-1)
其中
x = [ x 1 , x 2 , ⋯ , x n ] T ∈ R n \mathbf{x}=\begin{bmatrix}x_1, x_2, \cdots, x_n\end{bmatrix}^{\rm\small T}\in \mathbb{R}^{n} x=[x1,x2,⋯,xn]T∈Rn 视作模型的参数向量, 为待求向量, 其中 n n n 为该向量的维度.
r ( x ) = [ r 1 ( x ) , r 2 ( x ) , ⋯ , r m ( x ) ] T ∈ R m \mathbf{r}(\mathbf{x})=\begin{bmatrix}r_1(\mathbf{x}), r_2(\mathbf{x}), \cdots, r_m(\mathbf{x})\end{bmatrix}^{\rm\small T}\in \mathbb{R}^{m} r(x)=[r1(x),r2(x),⋯,rm(x)]T∈Rm, 其中 r i ( x ) ∈ C 2 r_i(\mathbf{x}) \in C^{2} ri(x)∈C2 为二次连续可微函数 ( i = 1 , 2 , ⋯ , m i=1,2, \cdots, m i=1,2,⋯,m),
r i ( x ) r_i(\mathbf{x}) ri(x) 一般为预测值与测量值之间的偏差, 称作 “误差/残差”, 其中 i i i 一般代表数据序列编号. (回归问题中可如此解释, 其他一般的二次优化问题中 r i r_i ri 根据具体问题而定)
g ( x ) = 1 2 ∥ r ( x ) ∥ 2 2 {g}(\mathbf{x}) = \frac{1}{2}\|\mathbf{r}(\mathbf{x})\|_2^2 g(x)=21∥r(x)∥22 是一个误差平方和形式的实值凸函数, 称为代价函数.
需要说明:
式中 1 / 2 {1}/{2} 1/2 仅为后面推导的简洁而引入.
一般情况下, 在优化问题中, 数据维度 m m m > > > 参数维度 n n n.
非线性最小二乘问题就是寻找最优的参数向量使得由测量和预测之间的残差的平方之和构造的代价函数最小.
解决非线性最小二乘问题经常用到的数值计算工具, 如
- 梯度下降法 (Gradient Descent Method)
- 牛顿迭代法 (Newton’s Method)
- 高斯-牛顿法 (Gauss-Newton Method)
- 列文伯格-马夸尔特法 (Levenberg-Marquardt Method)
- 狗腿法 (Dog-Leg Method)
本篇博文我们回顾一下牛顿迭代法和高斯-牛顿法的推导.