连续函数的最优化方法-牛顿下降法
1、介绍
通过求解目标函数的一阶导数为0时的参数,进而求出目标函数最小值时的参数。收敛速度很快。海森矩阵的逆在迭代过程中不断减小,可以起到逐步减小步长的效果
2、数学原理
目标函数
F
(
X
)
F(X)
F(X)在
X
=
X
k
X=X_k
X=Xk处的不含皮亚诺余项的二阶泰勒公式如下:
G
(
Δ
X
k
)
=
d
e
f
F
(
X
k
+
Δ
X
k
)
≈
F
(
X
k
)
+
J
(
X
k
)
⏟
F
T
Δ
X
k
+
1
2
Δ
X
k
T
H
(
X
k
)
⏟
F
Δ
X
k
(
公
式
24
)
G(\Delta X_k)\stackrel{\mathrm{def}}{=} F(X_k+\Delta X_k)\approx F(X_k)+ \underbrace{J(X_k)}_{F}{^T} \Delta X_k +\frac{1}{2} {\Delta X_k}^T \underbrace{H(X_k)}_{F} \Delta X_k \qquad (公式24)
G(ΔXk)=defF(Xk+ΔXk)≈F(Xk)+F
J(Xk)TΔXk+21ΔXkTF
H(Xk)ΔXk(公式24)
该表达式中
F
(
X
k
+
Δ
X
k
)
F(X_k+\Delta X_k)
F(Xk+ΔXk)、
F
(
X
k
)
F(X_k)
F(Xk)是一个常数,
J
(
X
k
)
⏟
F
T
\underbrace{J(X_k)}_{F}{^T}
F
J(Xk)T、
H
(
X
k
)
⏟
F
\underbrace{H(X_k)}_{F}
F
H(Xk)是一个常数矩阵,
Δ
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
(
公
式
25
)
G'_{\Delta X_k}(\Delta X_k)=0 \qquad (公式25)
GΔXk′(ΔXk)=0(公式25)
由公式 24 和公式 25 可推得:
0
=
J
(
X
k
)
⏟
F
+
H
(
X
k
)
⏟
F
Δ
X
k
(
公
式
26
)
0= \underbrace{J(X_k)}_{F} + \underbrace{H(X_k)}_{F} \Delta X_k \qquad (公式26)
0=F
J(Xk)+F
H(Xk)ΔXk(公式26)
由公式 26 可推得:
Δ
X
k
=
−
H
(
X
k
)
⏟
F
−
1
J
(
X
k
)
⏟
F
(
公
式
27
)
\Delta X_k=- {\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式27)
ΔXk=−F
H(Xk)−1F
J(Xk)(公式27)
由公式 27 可推得目标函数
F
(
X
)
F(X)
F(X)的最优化迭代公式:
X
k
+
1
=
d
e
f
X
k
−
H
(
X
k
)
⏟
F
−
1
J
(
X
k
)
⏟
F
(
公
式
28
)
X_{k+1}\stackrel{\mathrm{def}}{=} X_{k} -{\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式28)
Xk+1=defXk−F
H(Xk)−1F
J(Xk)(公式28)
令:牛顿方向为
N
(
X
k
)
=
d
e
f
−
H
(
X
k
)
⏟
F
−
1
J
(
X
k
)
⏟
F
N(X_k)\stackrel{\mathrm{def}}{=}-{\underbrace{H(X_k)}_{F}}^{-1}\underbrace{J(X_k)}_{F}
N(Xk)=def−F
H(Xk)−1F
J(Xk),由公式28可推得:
X
k
+
1
=
d
e
f
X
k
+
N
(
X
k
)
(
公
式
29
)
X_{k+1}\stackrel{\mathrm{def}}{=} X_{k}+N(X_k) \qquad (公式29)
Xk+1=defXk+N(Xk)(公式29)