一、定理
局部最小值点一阶必要条件:
∇
f
(
x
∗
)
=
0
\nabla f(x^*)=0
∇f(x∗)=0
局部最小值点二阶必要条件:
∇
f
(
x
∗
)
=
0
且
∇
2
f
(
x
∗
)
\nabla f(x^*)=0 且 \nabla^2 f(x^*)
∇f(x∗)=0且∇2f(x∗) 正定。
局部最小值点二阶充分条件:
∇
2
f
(
x
)
\nabla^2 f(x)
∇2f(x) 在
x
∗
x^*
x∗的开邻域内连续,
∇
f
(
x
∗
)
=
0
\nabla f(x^*)=0
∇f(x∗)=0并且
∇
2
f
(
x
∗
)
\nabla^2 f(x^*)
∇2f(x∗) 正定,那么
x
∗
x^*
x∗是
f
(
x
)
f(x)
f(x) 的严格局部最小值点。
二、证明
Proof 1
反证法
假设当
x
∗
x^*
x∗ 为局部最小值时
∇
f
(
x
∗
)
≠
0
\nabla f(x^*)\neq0
∇f(x∗)=0 ,那么定义
p
=
−
∇
f
(
x
∗
)
p = -\nabla f(x^*)
p=−∇f(x∗) 。这样我们可以得到:
p
T
∇
f
(
x
∗
)
=
−
∇
f
(
x
∗
)
T
∇
f
(
x
∗
)
=
−
∥
∇
f
(
x
∗
)
∥
<
0
p^T\nabla f(x^*)=-\nabla f(x^*)^T\nabla f(x^*)=-\|\nabla f(x^*)\|<0
pT∇f(x∗)=−∇f(x∗)T∇f(x∗)=−∥∇f(x∗)∥<0 (1)
根据函数的连续性,必然可以得到,存在一个足够小的正数
T
T
T ,使得:
p
T
∇
f
(
x
∗
+
t
p
)
<
0
p^T\nabla f(x^*+tp)<0
pT∇f(x∗+tp)<0 for all
t
∈
[
0
,
T
]
t\in[0,T]
t∈[0,T] (2)
考虑 \overline{t} \in(0,T] ,并对 f(x)$ 在
x
∗
x^*
x∗ 点处做泰勒展开,我们可以得到:
f
(
x
∗
+
t
‾
p
)
=
f
(
x
∗
)
+
t
‾
p
T
∇
f
(
x
∗
+
t
p
)
f
o
r
s
o
m
e
t
∈
(
0
,
t
‾
)
f(x^*+\overline{t}p) = f(x^*)+\overline{t}p^T\nabla f(x^*+tp) for some t\in (0,\overline{t})
f(x∗+tp)=f(x∗)+tpT∇f(x∗+tp)forsomet∈(0,t) (3)
观察公式(3)的第二项,
t
‾
\overline{t}
t 是一个正实数,根据公式(2)我们又可以知道
p
T
∇
f
(
x
∗
+
t
p
)
p^T\nabla f(x^*+tp)
pT∇f(x∗+tp) 是一个负数。那么我们可以我们一定可以找到一个正数
β
\beta
β ,使得:
f
(
x
∗
+
t
‾
p
)
=
f
(
x
∗
)
−
β
f(x^*+\overline{t}p) = f(x^*)-\beta
f(x∗+tp)=f(x∗)−β
也就是:
f
(
x
∗
+
t
‾
p
)
<
f
(
x
∗
)
f(x^*+\overline{t}p) < f(x^*)
f(x∗+tp)<f(x∗)
那么 x^* 不是局部最小值点,与假设相反,原结论成立。
Q.E.D
Proof 2:
由Proof 1我们已经证明了前半部分,现在证明后半部分,也就是
∇
2
f
(
x
∗
)
\nabla^2 f(x^*)
∇2f(x∗) 正定。
反证法
假设
∇
2
f
(
x
∗
)
\nabla^2 f(x^*)
∇2f(x∗) 不是正定的,那么肯定可以找到一个向量
p
p
p 使得
p
T
∇
2
f
(
x
∗
)
p
<
0
p^T\nabla^2 f(x^*)p<0
pT∇2f(x∗)p<0 。同样由连续性,可以得到,存在一个正数
T
T
T 使得:
p
T
∇
2
f
(
x
∗
+
t
p
)
p
<
0
p^T\nabla^2f(x^*+tp)p<0
pT∇2f(x∗+tp)p<0 for all
t
∈
[
0
,
T
]
t\in[0,T]
t∈[0,T]
考虑
t
‾
∈
(
0
,
T
]
\overline{t} \in(0,T]
t∈(0,T] ,并对
f
(
x
)
f(x)
f(x) 在
x
∗
x^*
x∗ 点处做二阶泰勒展开,我们可以得到:
f
(
x
∗
+
t
‾
p
)
=
f
(
x
∗
)
+
t
‾
p
T
∇
f
(
x
∗
+
t
p
)
+
1
2
t
‾
2
p
T
∇
2
f
(
x
∗
+
t
p
)
p
<
f
(
x
∗
)
f(x^*+\overline{t}p) = f(x^*)+\overline{t}p^T\nabla f(x^*+tp)+\frac{1}{2}\overline{t}^2p^T\nabla^2f(x^*+tp)p<f(x^*)
f(x∗+tp)=f(x∗)+tpT∇f(x∗+tp)+21t2pT∇2f(x∗+tp)p<f(x∗)
同理我们可以得到假设错误,原结论成立。
Q.E.D
Proof 3
由于
∇
2
f
(
x
)
\nabla^2f(x)
∇2f(x) 的连续性,我们可以知道,在
x
∗
x^*
x∗ 的一个足够小的邻域内,
∇
2
f
(
x
)
\nabla^2f(x)
∇2f(x) 可以保持正定性。假设这个邻域的半径为
r
r
r ,那么这个邻域内所有点的集合 为
D
=
{
z
∣
∥
z
−
x
∗
∥
<
r
}
\mathcal{D} =\{z| \|z-x^*\|<r\}
D={z∣∥z−x∗∥<r} 。我们假设
p
p
p 为任意满足
∥
p
∥
<
r
\|p\|<r
∥p∥<r 的向量。那么我们可以得到
x
∗
+
p
∈
D
x^*+p\in \mathcal{D}
x∗+p∈D 。
(这里做一点简要的解释,在
x
∗
x^*
x∗ 附近满足正定性条件的点不一定都在集合
D
\mathcal{D}
D 里面,之所以引入集合
D
\mathcal{D}
D 的概念主要是为了简化描述。对于单一变量而言,
D
\mathcal{D}
D是一个以
x
∗
x^*
x∗为中点的线段,这个线段中任何一点都能使二阶导正定。这个线段可能不是最长的线段,但是他必须是以
x
∗
x^*
x∗为中点的,二维的话就是以
x
∗
x^*
x∗ 为圆心的圆,三维就是以
x
∗
x^*
x∗ 为球心的球。)
同样我们做泰勒展开:
f
(
x
∗
+
p
)
=
f
(
x
∗
)
+
p
T
∇
f
(
x
∗
)
+
1
2
p
T
∇
2
f
(
z
)
p
=
f
(
x
∗
)
+
1
2
p
T
f
(
z
)
p
f(x^*+p) = f(x^*) +p^T \nabla f(x^*) + \frac{1}{2}p^T\nabla^2 f(z) p\\=f(x^*) + \frac{1}{2} p^T f(z) p
f(x∗+p)=f(x∗)+pT∇f(x∗)+21pT∇2f(z)p=f(x∗)+21pTf(z)p
这里需要解释的有两点。1、第二个等式是因为在
x
∗
x^*
x∗ 处
∇
f
(
x
∗
)
=
0
\nabla f(x^*) = 0
∇f(x∗)=0 。2、根据泰勒定理,这里的
z
=
x
∗
+
t
p
z=x^*+tp
z=x∗+tp for some
t
∈
(
0
,
1
)
t \in (0,1)
t∈(0,1) 。对于最后一个等式的最后一项,根据正定的定义我们可以知道
p
T
f
(
z
)
p
p^T f(z) p
pTf(z)p 是一个正数。
我们可以得到:
f
(
x
∗
+
p
)
>
f
(
x
∗
)
f(x^*+p) > f(x^*)
f(x∗+p)>f(x∗)
由于
x
∗
+
p
x^*+p
x∗+p 可以认为是一个在超平面上以
x
∗
x^*
x∗ 为球心的开球域。这也就是说,在
x
∗
x^*
x∗ 附近所有的函数值都比
x
∗
x^*
x∗ 点处的大。
Q.E.D