Hessian矩阵及其辨识 实变函数 极值 无约束梯度分析
本文主要介绍Hessian矩阵的定义以及与实变函数无约束极值的关系,主要内容来自张贤达《矩阵分析与优化(第二版)》第三章和第四章的相关内容。
Hessian矩阵的定义
Hessian矩阵可以理解为矩阵的二阶偏导。
实值标量函数f(x)在列向量x∈Rm×1处的Hessian矩阵为:
H[f(x)]=∂x∂xT∂f2(x)=∂x∂[∂xT∂f(x)]∈Rm×m
其第(i,j)个元素定义为:
H[f(x)]i,j=[∂x∂xT∂f2(x)]i,j=∂xi∂[∂xj∂f(x)]
展开的形式为:
H[f(x)]=∂x∂xT∂f2(x)=⎣⎢⎢⎡∂x1∂x1∂f2(x)⋮∂xm∂x1∂f2(x)⋯⋱⋯∂x1∂xm∂f2(x)⋮∂xm∂xm∂f2(x)⎦⎥⎥⎤∈Rm×m
同样,实值标量函数f(X)对矩阵变元X∈Rm×n的Hessian矩阵定义为:
H[f(X)]=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡∂X11∂X11∂2f(X)⋮∂Xm1∂X11∂2f(X)⋮∂Xmn∂X11∂2f(X)⋯⋱⋯⋱⋯∂X11∂Xm1∂2f(X)⋮∂Xm1∂Xm1∂2f(X)⋮∂Xmn∂Xm1∂2f(X)⋯⋱⋯⋱⋯∂X11∂Xmn∂f2(X)⋮∂Xm1∂Xmn∂2f(X)⋮∂Xmn∂Xmn∂2f(X)⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤∈Rmn×mn
可以看出,实标量函数的Hessian矩阵是对称矩阵。
Hessian矩阵的辨识
同Jacobian矩阵类似,Hessian矩阵与矩阵微分的关系称为Hessian矩阵的辨识,提供了除定义外求Hessian矩阵的另一种方法。
实标量函数对向量变元x∈Rm×1的Hessian矩阵的辨识为:
d2f(x)=(dx)TH[f(x)]dx
在运算中,如果矩阵B满足:
d2f(x)=(dx)TBdx
则可得:
H[f(x)]=21(BT+B)
这是为了保证所得Hessian矩阵的对称性。
实值标量函数对矩阵变元X∈Rm×n的Hessian矩阵的辨识为:
d2f(X)=(d(vecX))TH[f(X)]d(vecX)
这里vec表示矩阵向量化运算,vecX定义为:
vecX=[X11,⋯,Xm1,⋯,X1n,⋯,Xmn]T
在运算中,如果矩阵B满足:
d2f(X)=(d(vecX))TBd(vecX)
则可得:
H[f(x)]=21(BT+B)
这同样是为了保证所得Hessian矩阵的对称性。
实变函数平稳点与极值点的条件
上一篇Jacobian矩阵,梯度矩阵和这一篇Hessian矩阵都是为了下面这个表。

解释一下,R→R即表示实数到实数的映射函数,Rn→R表示向量到实数的映射函数,Rm×n→R表示矩阵到实数的映射函数。
实数到实数我们很熟悉了,一阶导为0则为极点,二阶导大于0则为极小点,二阶导小于0则为极大点。矩阵和向量到实数的函数,一阶导为0或0矩阵则为极点,二阶导正定则为极小点,二阶导负定则为极大点。半正定的情况都不是严格的极大点和极小点。
张贤达书上第四章还谈了复变函数的Hessian矩阵及其平稳点和极点条件,由于我暂时不关注,也未做总结。