黑塞矩阵
黑塞矩阵(Hessian Matrix),又译作海森矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。黑塞矩阵常用于牛顿法解决优化问题,利用黑塞矩阵可判定多元函数的极值问题。在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到黑塞矩阵。
在数学中, 海森矩阵(Hessian matrix或Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵, 此函数如下:
f(x1,x2…,xn)
f
(
x
1
,
x
2
…
,
x
n
)
如果
f
f
的所有二阶导数都存在, 那么
的海森矩阵即:
H(f)ij(x)=DiDjf(x)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂x21∂2f∂x2∂x1⋮∂2f∂xn∂x1∂2f∂x1∂x2∂2f∂x22⋮∂2f∂xn∂x2⋯⋯⋱⋯∂2f∂x1∂xn∂2f∂x2∂xn⋮∂2f∂x2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(1)
H
(
f
)
i
j
(
x
)
=
D
i
D
j
f
(
x
)
=
[
∂
2
f
∂
x
1
2
∂
2
f
∂
x
1
∂
x
2
⋯
∂
2
f
∂
x
1
∂
x
n
∂
2
f
∂
x
2
∂
x
1
∂
2
f
∂
x
2
2
⋯
∂
2
f
∂
x
2
∂
x
n
⋮
⋮
⋱
⋮
∂
2
f
∂
x
n
∂
x
1
∂
2
f
∂
x
n
∂
x
2
⋯
∂
2
f
∂
x
n
2
]
(
1
)
其中
x=(x1,x2…,xn)
x
=
(
x
1
,
x
2
…
,
x
n
)
将二元函数的泰勒展开式推广到多元函数,则
f(x1,x2,...,xn)
f
(
x
1
,
x
2
,
.
.
.
,
x
n
)
在
X(0)
X
(
0
)
点处的泰勒展开的矩阵形式为:
f(X)=f(X(0))+∇f(X(0))T∇X+12∇XTG(X(0))∇X+...
f
(
X
)
=
f
(
X
(
0
)
)
+
∇
f
(
X
(
0
)
)
T
∇
X
+
1
2
∇
X
T
G
(
X
(
0
)
)
∇
X
+
.
.
.
其中:
(1)
∇f(X(0))=[∂f∂x1,∂f∂x2,∂f∂xn]|TX(0)
∇
f
(
X
(
0
)
)
=
[
∂
f
∂
x
1
,
∂
f
∂
x
2
,
∂
f
∂
x
n
]
|
X
(
0
)
T
,它是
f(X)
f
(
X
)
在
X(0)
X
(
0
)
点处的梯度。
(2)
G(X(0))
G
(
X
(
0
)
)
就是上面的式子(1),为函数
f(X)
f
(
X
)
在
X(0)
X
(
0
)
点处的黑塞矩阵。
黑塞矩阵是由目标函数
f
f
在点X处的二阶偏导数组成的
阶对称矩阵。
Hessian矩阵判断
(1)如果是正定矩阵,则临界点处是一个局部极小值
(2)如果是负定矩阵,则临界点处是一个局部极大值
(3)如果是不定矩阵,则临界点处不是极值
实二次型矩阵为正定二次型的判断方法
判断一个矩阵是否是正定方法 :
1、顺序主子式:实对称矩阵为正定矩阵的充要条件是的各顺序主子式都大于零。
2、特征值:矩阵的特征值全大于零,矩阵为正定。矩阵的特征值全小于零,矩阵为负定。否则是不定的。
牛顿法参考如下:
Jacobian矩阵和Hessian阵 — 讲解hessian及其求解应用