黑塞矩阵(Hessian Matrix)

黑塞矩阵和雅可比矩阵,相信搞机器学习方向的同学多多少少也听过一点。但是平时毕竟用到的还是不多,因此也不是很重视,甚至对它们的定义也不是很清楚。😫😫😫此次,就借这个博客梳理一下黑塞矩阵及其用途。🐳

定义

黑塞矩阵是由多元函数的二阶偏导组成的矩阵。假设 \(f(x_1, x_2, ..., x_n)\) 二阶可导,则其黑塞矩阵为:

\[\left[ \begin{array}{cccc} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & ... & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f}{\partial x_2^2} & \frac{\partial^2 f}{\partial x^2_2} & ... & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\ ... & ... & ... & ... \\ \frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & ... & \frac{\partial^2 f}{\partial x^2_n} \\ \end{array} \right] \]

一般情况下,多元函数的混合二阶偏导与求导次序无关,即:

\[\frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i} \]

函数凹凸性与黑塞矩阵

先说一下凹凸函数:

凹函数
对于函数 \(f(\boldsymbol{x})\) ,对于其定义域内的任意两点 \(\boldsymbol{x,\ y}\) ,以及任意实数 \(\theta \in [0, 1]\) ,若

\[f(\theta \boldsymbol{x} + (1 - \theta) \boldsymbol{y}) \leq \theta f(\boldsymbol{x}) + (1 - \theta) f(\boldsymbol{y}) \]

成立,则 \(f\) 为凸函数(下凸)。若上式严格成立(将小于等于换成小于),则为严格凸函数。同理可定义凹函数(上凸)和严格凹函数。

假设 \(f(x_1, x_2, ..., x_n)\) 二阶可导,则

  • 若其黑塞矩阵半正定,则函数是凸函数
  • 若黑塞矩阵正定,则函数为严格凸函数
  • 若黑塞矩阵半负定,则函数为凹函数
  • 若黑塞矩阵负定,则函数为严格凹函数

函数极值与黑塞矩阵

\(\boldsymbol{x}_0\)\(f(\boldsymbol{x})\) 的驻点(梯度为0的点),则:

  • 黑塞矩阵在该点处正定,则 \(f\) 在该点有严格极小值
  • 黑塞矩阵在该点处负定,则 \(f\) 在该点有严格极大值
  • 黑塞矩阵在该点处不定,则该点不是极值点,为鞍点

多元函数求极值的过程:求梯度,找到所有驻点 ==> 计算在驻点处的黑塞矩阵 ==> 判断驻点是否为极值点。

posted @ 2021-11-30 11:06  Milkha  阅读(4890)  评论(0编辑  收藏  举报