本文最后更新于:2024年7月4日 上午
海森矩阵是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。
简介
海森矩阵(Hessian Matrix),又译作黑塞矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。海森矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。海森矩阵常用于牛顿法解决优化问题。
定义
- 对于一个实值多元函数 $ f\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) $, 如果函数 $ f $ 的二阶偏导数都存在, 则定义 $ f $ 的海森矩阵为
$$
H_ {i, j}(f(\vec {x}))=D_ {i} D_ {j} f(\vec {x})
$$
-
其中 $ D_ {i} $ 表示对第 $ i $ 个变量的微分算子, $ \vec {x}=\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) $ 。那么, $ f $ 的海森矩阵即
$$ H(f)=\left[\begin {array} {cccc} \frac {\partial^ {2} f} {\partial x_ {1}^ {2}} & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {n}} \\ \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {2}^ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac {\partial^ {2} f} {\partial x_ {n} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {n} \partial x_ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {n}^ {2}} \end {array}\right] $$
与泰勒展开项的关系
- 海森矩阵也可以理解为多元函数泰勒展开后的二阶导系数矩阵
二元函数
-
若一元函数 $ f(x) $ 在 $ x=x^ {(0)} $ 点的某个邻域内具有任意阶导数,则 $ f(x) $ 在 $ x^ {(0)} $ 点处的泰勒展开式 为:
$$ f(x)=f\left(x^ {(0)}\right)+f^ {\prime}\left(x^ {(0)}\right) \Delta x+\frac {1} {2} f^ {\prime \prime}\left(x^ {(0)}\right)(\Delta x)^ {2}+\cdots $$ -
其中 $ \Delta x=x-x^ {(0)} , \Delta x^ {2}=\left(x-x^ {(0)}\right)^ {2} $ 。 二元函数 $ f\left(x_ {1}, x_ {2}\right) $ 在 $ X^ {(0)}\left(x_ {1}^ {(0)}, x_ {2} ^ {(0)} \right) $ 点处的泰勒展开式为:
$$ \begin {array} {c} f\left(x_ {1}, x_ {2}\right)=f\left(x_ {1}^ {(0)}, x_ {2}^ {(0)}\right)+\left.\frac {\partial f} {\partial x_ {1}}\right|_ {X^ {(0)}} \Delta x_ {1}+\left.\frac {\partial f} {\partial x_ {2}}\right|_ {X^ {(0)}} \Delta x_ {2}+ \\ \frac {1} {2}\left[\left.\frac {\partial^ {2} f} {\partial x_ {1}^ {2}}\right|_ {X^ {(0)}} \Delta x_ {1}^ {2}+\left.2 \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {2}}\right|_ {X(0)} \Delta x_ {1} \Delta x_ {2}+\left.\frac {\partial^ {2} f} {\partial x_ {2}^ {2}}\right|_ {X^ {(0)}} \Delta x_ {2}^ {2}\right]+\cdots \end {array} $$其中, $ \Delta x_ {1}=x_ {1}-x_ {1}^ {(0)}, \Delta x_ {2}==x_ {2}-x_ {2}^ {(0)} $ 。
-
将上述展开式写成矩阵形式,则有:
$$ f(X)=f\left(X^ {(0)}\right)+\left(\frac {\partial f} {\partial x_ {1}}, \frac {\partial f} {\partial x_ {2}}\right)_ {X^ {(0)}}\left(\begin {array} {c} \Delta x_ {1} \\ \Delta x_ {2} \end {array}\right)+\left.\frac {1} {2}\left(\Delta x_ {1}, \Delta x_ {2}\right)\left(\begin {array} {cc} \frac {\partial^ {2} f} {\partial x_ {1}^ {2}} & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {2}} \\ \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {2}^ {2}} \end {array}\right)\right|_ {X^ {(0)}}\left(\begin {array} {l} \Delta x_ {1} \\ \Delta x_ {2} \end {array}\right)+\cdots $$即:
$$ G\left(X^ {(0)}\right)=\left.\left(\begin {array} {cc} \frac {\partial^ {2} f} {\partial x_ {1}^ {2}} & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {2}} \\ \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {2}^ {2}} \end {array}\right)\right|_ {X^ {(0)}}, \Delta X=\left(\begin {array} {c} \Delta x_ {1} \\ \Delta x_ {2} \end {array}\right) $$
$$
f(X)=f\left(X^ {(0)}\right)+\nabla f\left(X^ {(0)}\right)^ {T} \Delta X+\frac {1} {2} \Delta X^ {T} G\left(X^ {(0)}\right) \Delta X+\cdots
$$
其中: -
$ G\left(X^ {(0)}\right) $ 是 $ f\left(x_ {1}, x_ {2}\right) $ 在 $ X^ {(0)} $ 点处的黑塞矩阵。它是由函数 $ f\left(x_ {1}, x_ {2}\right) $ 在 $ X^ {(0)} $ 点处的二阶偏导数所组成的方阵。
多元函数
-
将二元函数的泰勒展开式推广到多元函数
-
$ f\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) $ 在 $ X^ {(0)} $ 点处的泰勒展开式的矩阵形式为:
$$
f(X)=f\left(X^ {(0)}\right)+\nabla f\left(X^ {(0)}\right)^ {T} \Delta X+\frac {1} {2} \Delta X^ {T} G\left(X^ {(0)}\right) \Delta X+\cdots
$$
其中:
- $ \nabla f\left(X^ {(0)}\right)=\left.\left[\frac {\partial f} {\partial x_ {1}}, \frac {\partial f} {\partial x_ {2}}, \cdots, \frac {\partial f} {\partial x_ {n}}\right]\right|_ {X^ {(0)}} ^ {T} $ ,它是 $ f(X) $ 在 $ X^ {(0)} $ 点处的梯度。
- $ G\left(X^ {(0)}\right)=\left[\begin {array} {cccc}\frac {\partial^ {2} f} {\partial x_ {1}^ {2}} & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {1} \partial x_ {n}} \\ \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {2}^ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {2} \partial x_ {n}} \\ \vdots & \vdots & \ddots & \vdots \\ \frac {\partial^ {2} f} {\partial x_ {n} \partial x_ {1}} & \frac {\partial^ {2} f} {\partial x_ {n} \partial x_ {2}} & \cdots & \frac {\partial^ {2} f} {\partial x_ {n}^ {2}}\end {array}\right]_ {X^ {(0)}} $ 为函数 $ f(X) $ 在 $ X^ {(0)} $ 点处的黑塞矩阵。
- 黑塞矩阵是由目标函数 $ f $ 在点X处的二阶偏导数组成的 $ n \times n $ 阶对称矩阵。
性质
对称性
- 如果函数 $ f $ 在 $ D $ 区域内二阶连续可导, 那么 $ f $ 海森矩阵 $ H(f) $ 在 $ D $ 内为对称矩阵。原因是: 如果函数 $ f $ 的二阶偏导数连 续, 则二阶偏导数的求导顺序汥有区别, 即
$$
\frac {\partial} {\partial x}\left(\frac {\partial f} {\partial y}\right)=\frac {\partial} {\partial y}\left(\frac {\partial f} {\partial x}\right)
$$
- 则对于矩阵 $ H(f) $, 有 $ H_ {i, j}(f)=H_ {j, i}(f) $, 所以 $ H(f) $ 为对称矩阵。
极值判定
- 如果实值多元函数 $ f\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) $ 二阶连续可导, 并且在临界点 $ M\left(x_ {i}\right) $ (其中 $ i=1,2, \cdots, n $, 并且 $ x_ {i} $ 已知) 处梯度 (一阶导数) 等于 0 , 即 $ \nabla f(M)=0, M $ 为驻点。仅通过一阶导数无法判断在临界点, $ M $ 处是极大值还是极小值。
- 记 $ f $ 在 $ M $ 点处的海森矩阵为 $ H(M) $ 。由于 $ f $ 在 $ M $ 点处连续, 所以 $ H(M) $ 是一个 $ n \times n $ 的对称矩阵。对于 $ H(M) $, 有 如下结论:
- 如果 $ H(M) $ 是正定矩阵, 则临界点 $ M $ 处是一个局部的极小值。
- 如果 $ H(M) $ 是负定矩阵, 则临界点M处是一个局部的极大值。
- 如果 $ H(M) $ 是不定矩阵, 则临界点 $ M $ 处不是极值。
- 当 $ H(M) $ 为半正定矩阵或半负定矩阵时, 临界点 $ M $是“可疑”极值点,尚需要利用其他方法来判定。
为什么有极值
假设 $x_0$ 是驻点,我们想判断这个点是否是极值点,那么要看 $f(x_0+\Delta x)$ 和 $f(x_0)$的关系。
由Taylor展开的矩阵形式:
$$
\mathrm{f(\vec{x}+\vec{\Delta x})-f(\vec{x})=[\nabla f(x_0)]^T(\vec{\Delta x})+\frac1{2!}[\vec{\Delta x}]^T H(x_0)[\vec{\Delta x}]+o^n}
$$
由于$x_0$ 是驻点,所以$ [\nabla f(x_0)]^T$ 为 0,忽略 $o^n$ ,则上式的正负仅与$[ \vec {\Delta x}]^TH(x_0)[ \vec {\Delta x}]$ 有关,故:
- Hessian矩阵正定=>上式大于0恒成立,函数在M点有极小值
- Hessian矩阵负定=>上式小于0恒成立函数在M点有极大值
- Hessian矩阵不定=>上式正负性难料,M点不是极值点
参考资料
- https://blog.csdn.net/caimouse/article/details/60465975
- https://baike.baidu.com/item/黑塞矩阵/2248782?fr=aladdin
- https://blog.csdn.net/qq_37477357/article/details/104750718
- https://www.cnblogs.com/veagau/articles/11767946.html
文章链接:
https://www.zywvvd.com/notes/study/math/hessian-matrix/hessian-matrix/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付