Hessian矩阵及局部极小点的条件

一 Hessian矩阵
实值函数f(x)相对于 n×1 n × 1 实向量x的二阶偏导是一个由 m2 m 2 个二阶偏导组成的矩阵(称为Hessian矩阵),定义为:

2f(x)xxT=xT[f(x)x] ∂ 2 f ( x ) ∂ x ∂ x T = ∂ ∂ x T [ ∂ f ( x ) ∂ x ]

或者简写为梯度的梯度:
2xf(x)=x(xf(x)) ∇ x 2 f ( x ) = ∇ x ( ∇ x f ( x ) )

根据定义,Hessian矩阵的第i行第j列是梯度 f(x)xi=xif(x) ∂ f ( x ) ∂ x i = ∇ x i f ( x ) 第j个分量的梯度,即:
[2f(x)xxT]i,j=2f(x)xixj [ ∂ 2 f ( x ) ∂ x ∂ x T ] i , j = ∂ 2 f ( x ) ∂ x i ∂ x j
,
或者写做:
2f(x)xxT=2f(x)x1x12f(x)x2x12f(x)xnx12f(x)x1x22f(x)x2x22f(x)xnx22f(x)x1xn2f(x)x2xn2f(x)xnxn ∂ 2 f ( x ) ∂ x ∂ x T = [ ∂ 2 f ( x ) ∂ x 1 ∂ x 1 ∂ 2 f ( x ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x 1 ∂ x n ∂ 2 f ( x ) ∂ x 2 ∂ x 1 ∂ 2 f ( x ) ∂ x 2 ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ( x ) ∂ x n ∂ x 1 ∂ 2 f ( x ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x n ∂ x n ]

因此,Hessian矩阵可以用两步法求出来:
(1)求实值函数f(x)关于向量变元x的偏导数,得到实值函数的梯度 f(x)x ∂ f ( x ) ∂ x ;
(2)再求梯度 f(x)x ∂ f ( x ) ∂ x 相对于 1×n 1 × n 行向量 xT x T 的偏导数,得到梯度的梯度即Hessian矩阵。

二 局部极小点的条件
根据定义确定某个点 x x ∗ 是否为目标函数的局部极小点,需要将目标函数在该点的取值与函数在该点领域里所有点的取值进行比较。这显然是不实际的做法。然而,如果f(x)是二次连续可微分的话,直接通过检验梯度 xf(x) ∇ x f ( x ∗ ) 和Hessian矩阵 2xf(x) ∇ x 2 f ( x ∗ ) , 即可判断点 x x ∗ 是否为局部极小点(甚至是严格局部极小点)。
(Δx)TΔx ( Δ x ) T Δ x 很小, 即函数f(x)的二阶Taylor级数展开为:

f(x+Δx)=f(x)+(Δx)Txf(x)+12(Δx)T2xf(x)Δx f ( x + Δ x ) = f ( x ) + ( Δ x ) T ∇ x f ( x ) + 1 2 ( Δ x ) T ∇ x 2 f ( x ) Δ x

关于判断一个局部极小点的一阶必要条件和一阶充分条件,请参考《矩阵分析与应用》270页(张贤达著),下面主要讲解其二阶充分条件:
定理:假设 2xf(x) ∇ x 2 f ( x ) x x ∗ 的开邻域内连续,并且
xf(x)=0, 2xf(x)>0 ∇ x f ( x ∗ ) = 0 ,   ∇ x 2 f ( x ∗ ) > 0

x x ∗ 是函数f(x)的严格局部极小点。式中 2xf(x)>0 ∇ x 2 f ( x ∗ ) > 0 表示Hessian矩阵 2xf(x) ∇ x 2 f ( x ∗ ) 正定。(具体即 (Δx)T2xf(x)Δx>0 ( Δ x ) T ∇ x 2 f ( x ) Δ x > 0
证明:由函数f(x)的二阶Taylor级数展开 f(x+Δx)=f(x)+(Δx)Txf(x)+12(Δx)T2xf(x)Δx f ( x ∗ + Δ x ) = f ( x ∗ ) + ( Δ x ) T ∇ x f ( x ∗ ) + 1 2 ( Δ x ) T ∇ x 2 f ( x ∗ ) Δ x ,且 xf(x)=0, (Δx)T2xf(x)Δx>0 ∇ x f ( x ∗ ) = 0 ,   ( Δ x ) T ∇ x 2 f ( x ∗ ) Δ x > 0 可得: f(x+Δx)>f(x) f ( x ∗ + Δ x ) > f ( x ∗ ) ,所以 x x ∗ 是函数f(x)的严格局部极小点。
应当注意的是,该二阶充分条件并不是必要条件:有的点 x x ∗ 可能是函数f(x)的严格局部极小点,但是在该点的Hessian矩阵却不是正定的。例如,观察知,点 x=0 x = 0 是函数 f(x)=(xTx)2 f ( x ) = ( x T x ) 2 的严格局部极小点,但是Hessian矩阵
2f(x)xxT=2xxT(xTx)2=12xTx ∂ 2 f ( x ) ∂ x ∂ x T = ∂ 2 ∂ x ∂ x T ( x T x ) 2 = 12 x T x

在严格局部极小点 x=0 x = 0 处为零矩阵,不是正定矩阵。

定理:凸函数f(x)的任何局部极小点 x x ∗ 都是该函数的一个全局极小点。
证明:假设 x x ∗ 是局部极小点,但不是一个全局极小点。于是,可以求出一点 zR z ∈ R 满足 f(z)<f(x) f ( z ) < f ( x ∗ ) .考虑从 x x ∗ z z 的线段上的点x,则

x=λz+(1λ)x,  λ(0,1] x = λ z + ( 1 − λ ) x ∗ ,     λ ∈ ( 0 , 1 ]

根据凸函数的性质,有
f(x)λf(z)+(1λ)f(x)<f(x) f ( x ) ≤ λ f ( z ) + ( 1 − λ ) f ( x ∗ ) < f ( x ∗ )
.
则当 x x 趋近于x时,有 f(x)<f(x) f ( x ) < f ( x ∗ ) ,所以 x x ∗ 不是局部极小点,与假设矛盾。因此,局部极小点 x x ∗ 必定时一个全局极小点。

参考:《矩阵分析与应用》(张贤达著)

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值