Hessian Matrix 海森矩阵

本文最后更新于:2022年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
    $$
    即:

    $$
    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)=\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) $$
  • $ 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
    $$
    其中:

  1. $ \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)} $ 点处的梯度。
  2. $ 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 $是“可疑”极值点,尚需要利用其他方法来判定。

参考资料


Hessian Matrix 海森矩阵
https://www.zywvvd.com/notes/study/math/hessian-matrix/hessian-matrix/
作者
Yiwei Zhang
发布于
2022年6月8日
许可协议