一、参考
《数值最优化算法与理论》
二、最速下降法
从 数值最优化—无约束问题的下降算法与线性搜索 可知,负梯度方向 − ∇ f ( x ( k ) ) -\nabla f(x^{(k)}) −∇f(x(k))是函数 f f f在 x ( k ) x^{(k)} x(k)处的一个下降方向。令 d ( k ) = − ∇ f ( x ( k ) ) d^{(k)}=-\nabla f(x^{(k)}) d(k)=−∇f(x(k))。我们称 d ( k ) d^{(k)} d(k)为函数 f f f在 x ( k ) x^{(k)} x(k)处的最速下降方向。相应的算法称为最速下降算法,如下:
- 给定初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)∈Rn,精度 ϵ > 0 \epsilon >0 ϵ>0。令 k = 0 k=0 k=0。
- 若 ∣ ∣ ∇ f ( x ( k ) ) ∣ ∣ ≤ ϵ ||\nabla f(x^{(k)})|| \leq \epsilon ∣∣∇f(x(k))∣∣≤ϵ,则算法终止。得解 x ( k ) x^{(k)} x(k)。否则,计算 d ( k ) = − ∇ f ( x ( k ) ) d^{(k)} = -\nabla f(x^{(k)}) d(k)=−∇f(x(k))。转3。
- 由线性搜素确定步长 α k \alpha _k αk。
- 令 x ( k + 1 ) = x ( k ) + α k d ( k ) , k = k + 1 x^{(k+1)} = x^{(k)} + \alpha _k d^{(k)}, k=k+1 x(k+1)=x(k)+αkd(k),k=k+1。转2。

三、Newton法
设
f
f
f二次连续可微且对任意
x
∈
R
n
,
∇
2
f
(
x
)
x \in R^n, \nabla ^2 f(x)
x∈Rn,∇2f(x)正定。从 数值最优化—无约束问题的下降算法与线性搜索 可知,方向
d
(
k
)
=
−
∇
2
f
(
x
(
k
)
)
−
1
∇
f
(
x
(
k
)
)
d^{(k)} = -\nabla ^2 f(x^{(k)})^{-1} \nabla f(x^{(k)})
d(k)=−∇2f(x(k))−1∇f(x(k))是函数
f
f
f在
x
(
k
)
x^{(k)}
x(k)处的下降方向。该方向称为Newton方向。它是
f
f
f在
x
(
k
)
x^{(k)}
x(k)处的二次近似式:
f
(
x
(
k
)
)
+
∇
f
(
x
(
k
)
)
T
s
+
1
2
s
T
∇
2
f
(
x
(
k
)
)
s
≈
f
(
x
(
k
)
+
s
)
f(x^{(k)}) + \nabla f(x^{(k)})^T s + \frac 1 2 s^T \nabla ^2 f(x^{(k)})s \approx f(x^{(k)} + s)
f(x(k))+∇f(x(k))Ts+21sT∇2f(x(k))s≈f(x(k)+s)
的最小值点。或等价地,
d
(
k
)
d^{(k)}
d(k)是下面关于
d
d
d的线性方程组的解:
∇
2
f
(
x
(
k
)
)
d
+
∇
f
(
x
(
k
)
)
=
0
\nabla ^2 f(x^{(k)})d + \nabla f(x^{(k)}) = 0
∇2f(x(k))d+∇f(x(k))=0
此外Newton方向也可看成是在范数
∣
∣
⋅
∣
∣
∇
2
f
(
x
(
k
)
)
||·||_{\nabla ^2 f(x^{(k)})}
∣∣⋅∣∣∇2f(x(k))下的最速下降方向,即:
d
(
k
)
=
−
∇
2
f
(
x
(
k
)
)
−
1
∇
f
(
x
(
k
)
)
d^{(k)} = -\nabla ^2 f(x^{(k)})^{-1} \nabla f(x^{(k)})
d(k)=−∇2f(x(k))−1∇f(x(k))
是极小化问题:
m
i
n
d
∈
R
n
,
d
≠
0
∇
f
(
x
(
k
)
)
T
d
∣
∣
d
∣
∣
G
k
\underset{d \in R^n, d \neq0}{min} \frac {\nabla f(x^{(k)})^Td} {||d||_{G_k}}
d∈Rn,d=0min∣∣d∣∣Gk∇f(x(k))Td
的解,其中
G
k
=
∇
2
f
(
x
(
k
)
)
G_k = \nabla ^2 f(x^{(k)})
Gk=∇2f(x(k))。
求解无约束问题的Newton法如下:
- 给定初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)∈Rn,精度 ϵ > 0 \epsilon >0 ϵ>0。令 k = 0 k=0 k=0。
- 若
∣
∣
∇
f
(
x
(
k
)
)
∣
∣
≤
ϵ
||\nabla f(x^{(k)})|| \leq \epsilon
∣∣∇f(x(k))∣∣≤ϵ,则算法终止。得解
x
(
k
)
x^{(k)}
x(k)。否则,解线性方程组
∇ 2 f ( x ( k ) ) d + ∇ f ( x ( k ) ) = 0 \nabla ^2 f(x^{(k)})d + \nabla f(x^{(k)}) = 0 ∇2f(x(k))d+∇f(x(k))=0
得解 d ( k ) d^{(k)} d(k)。 - 由线性搜素确定步长 α k \alpha _k αk。
- 令 x ( k + 1 ) = x ( k ) + α k d ( k ) , k = k + 1 x^{(k+1)} = x^{(k)} + \alpha _k d^{(k)}, k=k+1 x(k+1)=x(k)+αkd(k),k=k+1。转2。
本文介绍了数值优化中的最速下降法,通过负梯度方向寻找下降路径,并与Newton法进行对比,后者利用二阶导数信息找到更精确的下降方向。两种方法在无约束问题上的迭代策略详细阐述,适合初学者理解优化算法核心原理。
2万+

被折叠的 条评论
为什么被折叠?



