数值最优化—优化问题的解(二)

一、定理

局部最小值点一阶必要条件: ∇ 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)=02f(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 pTf(x)=f(x)Tf(x)=f(x)<0 (1)
根据函数的连续性,必然可以得到,存在一个足够小的正数 T T T ,使得:
p T ∇ f ( x ∗ + t p ) < 0 p^T\nabla f(x^*+tp)<0 pTf(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)+tpTf(x+tp)forsomet(0,t) (3)
观察公式(3)的第二项, t ‾ \overline{t} t 是一个正实数,根据公式(2)我们又可以知道 p T ∇ f ( x ∗ + t p ) p^T\nabla f(x^*+tp) pTf(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 pT2f(x)p<0 。同样由连续性,可以得到,存在一个正数 T T T 使得:
p T ∇ 2 f ( x ∗ + t p ) p < 0 p^T\nabla^2f(x^*+tp)p<0 pT2f(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)+tpTf(x+tp)+21t2pT2f(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={ zzx<r} 。我们假设 p p p 为任意满足 ∥ p ∥ < r \|p\|<r p<r 的向量。那么我们可以得到 x ∗ + p ∈ D x^*+p\in \mathcal{D} x+pD
(这里做一点简要的解释,在 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)+pTf(x)+21pT2f(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

猜你喜欢

转载自blog.csdn.net/yikuanglancheng/article/details/108780206
今日推荐