连续函数的最优化方法-高斯牛顿法
1、介绍
高斯牛顿法针对最小二乘问题,采用一定的方法对牛顿法中的黑塞矩阵进行近似,从而简化了计算量(注意:只有最小二乘问题才能使用高斯牛顿法)。
F
(
X
)
=
1
2
∥
L
(
X
)
∥
2
(
公
式
34
)
F(X)= \frac{1}{2} \begin{Vmatrix} L(X) \end{Vmatrix}^2 \qquad (公式34)
F(X)=21∥∥L(X)∥∥2(公式34)
min
X
F
(
X
)
(
公
式
35
)
\underset{X}{\min}F(X) \qquad (公式35)
XminF(X)(公式35)
2、数学原理
高斯牛顿法与牛顿法不同之处在于,不对目标函数
F
(
X
)
F(X)
F(X)进行泰勒展开,而是对残差函数
L
(
X
)
L(X)
L(X)在
X
=
X
k
X=X_k
X=Xk处进行不含皮亚诺余项一阶泰勒展开,可推得:
G
(
Δ
X
k
)
=
d
e
f
F
(
X
k
+
Δ
X
k
)
≈
1
2
∥
L
(
X
k
)
+
J
(
X
k
)
⏟
L
T
Δ
X
k
∥
2
(
公
式
36
)
G(\Delta X_k)\stackrel{\mathrm{def}}{=} F(X_k+\Delta X_k)\approx \frac{1}{2} \begin{Vmatrix} \\ L(X_k)+\underbrace{J(X_k)}_{L}{^T} \Delta X_k \end{Vmatrix}^2 \qquad (公式36)
G(ΔXk)=defF(Xk+ΔXk)≈21∥∥∥∥∥∥L(Xk)+L
J(Xk)TΔXk∥∥∥∥∥∥2(公式36)
公式36中
J
(
X
k
)
⏟
L
\underbrace{J(X_k)}_{L}
L
J(Xk)函数
L
(
X
k
)
L(X_k)
L(Xk)的雅可比矩阵。
该表达式中
F
(
X
k
+
Δ
X
k
)
F(X_k+\Delta X_k)
F(Xk+ΔXk)、
L
(
X
k
)
L(X_k)
L(Xk)是一个常数,
J
(
X
k
)
⏟
L
T
\underbrace{J(X_k)}_{L}{^T}
L
J(Xk)T是一个常数矩阵,
Δ
X
k
\Delta X_k
ΔXk是一个变量矩阵,即函数
G
(
Δ
X
k
)
G(\Delta X_k)
G(ΔXk)是以
Δ
X
k
\Delta X_k
ΔXk为自变量的二次函数。综上所述,当函数
G
(
Δ
X
k
)
G(\Delta X_k)
G(ΔXk)的一阶导数为0的时候,函数
G
(
Δ
X
k
)
G(\Delta X_k)
G(ΔXk)取得极值,可推得:
G
Δ
X
k
′
(
Δ
X
k
)
=
0
(
公
式
37
)
G'_{\Delta X_k}(\Delta X_k)=0 \qquad (公式37)
GΔXk′(ΔXk)=0(公式37)
由公式 36 和公式 37 可推得:
0
=
L
(
X
k
)
J
(
X
k
)
⏟
L
+
J
(
X
k
)
⏟
L
J
(
X
k
)
⏟
L
T
Δ
X
k
(
公
式
38
)
0= L(X_k) \underbrace{J(X_k)}_{L} + \underbrace{J(X_k)}_{L} \underbrace{J(X_k)}_{L}{^T} \Delta X_k \qquad (公式38)
0=L(Xk)L
J(Xk)+L
J(Xk)L
J(Xk)TΔXk(公式38)
即:
0
=
∑
i
=
1
m
(
L
i
(
X
k
)
J
(
X
k
)
⏟
L
i
+
J
(
X
k
)
⏟
L
i
J
(
X
k
)
⏟
L
i
T
Δ
X
k
)
(
公
式
39
)
0= \sum_{i=1}^m ( L_i(X_k) \underbrace{J(X_k)}_{L_i} + \underbrace{J(X_k)}_{L_i} \underbrace{J(X_k)}_{L_i}{^T} \Delta X_k ) \qquad (公式39)
0=i=1∑m(Li(Xk)Li
J(Xk)+Li
J(Xk)Li
J(Xk)TΔXk)(公式39)
设:由公式38结合公式26结构形式,可近似推得函数
F
(
X
)
F(X)
F(X)的黑塞矩阵
H
(
X
k
)
⏟
F
\underbrace{H(X_k)}_{F}
F
H(Xk)和雅克比矩阵
J
(
X
k
)
⏟
F
\underbrace{J(X_k)}_{F}
F
J(Xk):
H
(
X
k
)
⏟
F
≈
d
e
f
J
(
X
k
)
⏟
L
J
(
X
k
)
⏟
L
T
(
公
式
40
)
\underbrace{H(X_k)}_{F} \stackrel{\mathrm{def}}{\approx} \underbrace{J(X_k)}_{L} \underbrace{J(X_k)}_{L}{^T} \qquad (公式40)
F
H(Xk)≈defL
J(Xk)L
J(Xk)T(公式40)
J
(
X
k
)
⏟
F
≈
d
e
f
L
(
X
k
)
J
(
X
k
)
⏟
L
(
公
式
41
)
\underbrace{J(X_k)}_{F} \stackrel{\mathrm{def}}{\approx} L(X_k) \underbrace{J(X_k)}_{L} \qquad (公式41)
F
J(Xk)≈defL(Xk)L
J(Xk)(公式41)
由公式 38、公式 40、公式 41 可推得:
Δ
X
k
=
−
H
(
X
k
)
⏟
F
−
1
J
(
X
k
)
⏟
F
(
公
式
42
)
\Delta X_k=- {\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式42)
ΔXk=−F
H(Xk)−1F
J(Xk)(公式42)
由公式 42 可推得目标函数
F
(
X
)
F(X)
F(X)的最优化迭代公式:
X
k
+
1
=
d
e
f
X
k
−
H
(
X
k
)
⏟
F
−
1
J
(
X
k
)
⏟
F
(
公
式
43
)
X_{k+1}\stackrel{\mathrm{def}}{=} X_{k} -{\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式43)
Xk+1=defXk−F
H(Xk)−1F
J(Xk)(公式43)