海森矩阵(德语:Hesse-Matrix;英语:Hessian matrix 或 Hessian),又译作黑塞矩阵、海塞(赛)矩阵或海瑟矩阵等,是一个由多变量实值函数的所有二阶偏导数组成的方阵,由德国数学家奥托·黑塞引入并以其命名。
假设有一实值函数,如果 的所有二阶偏导数都存在并在定义域内连续,那么函数的黑塞矩阵为
或使用下标记号表示为
显然黑塞矩阵 是一个方阵。黑塞矩阵的行列式被称为黑塞式(英语:Hessian),而需注意的是英语环境下使用Hessian一词时可能指上述矩阵也可能指上述矩阵的行列式[1]。
由高等数学知识可知,若一元函数在点的某个邻域内具有任意阶导数,则函数在点处的泰勒展开式为
其中,。
同理,二元函数在点处的泰勒展开式为
其中,,,,,,,。
将上述展开式写成矩阵形式,则有
其中,,是的转置,是函数在的梯度,矩阵
即函数在点处的黑塞矩阵。它是由函数在点处的所有二阶偏导数所组成的方阵。
由函数的二次连续性,有
所以,黑塞矩阵为对称矩阵。
将二元函数的泰勒展开式推广到多元函数,函数在点处的泰勒展开式为
其中,
为函数在点的梯度,
为函数在点的黑塞矩阵。若函数有次连续性,则函数的黑塞矩阵是对称矩阵。
说明:在优化设计领域中,黑塞矩阵常用表示,且梯度有时用表示。[2]
函数的黑塞矩阵和雅可比矩阵有如下关系:
即函数的黑塞矩阵等于其梯度的雅可比矩阵。
对于一元函数,在给定区间内某点处可导,并在点处取得极值,其必要条件是
即函数的极值必定在驻点处取得,或者说可导函数的极值点必定是驻点;但反过来,函数的驻点不一定是极值点。检验驻点是否为极值点,可以采用二阶导数的正负号来判断。根据函数在点处的泰勒展开式,考虑到上述极值必要条件,有
若在点处取得极小值,则要求在某一邻域内一切点都必须满足
即要求
亦即要求
在点处取得极大值的讨论与之类似。于是有极值充分条件:
设一元函数在点处具有二阶导数,且,,则
- 当时,函数在处取得极小值;
- 当时,函数在处取得极大值。
而当时,无法直接判断,还需要逐次检验其更高阶导数的正负号。由此有一个规律:若其开始不为零的导数阶数为偶数,则驻点是极值点;若为奇数,则为拐点,而不是极值点。
对于二元函数,在给定区域内某点处可导,并在点处取得极值,其必要条件是
即
同样,这只是必要条件,要进一步判断是否为极值点需要找到取得极值的充分条件。根据函数在点处的泰勒展开式,考虑到上述极值必要条件,有
设,,,则
或
若在点处取得极小值,则要求在某一邻域内一切点都必须满足
即要求
亦即要求,
即
此条件反映了在点处的黑塞矩阵的各阶主子式都大于零,即对于
要求
在点处取得极大值的讨论与之类似。于是有极值充分条件:
设二元函数在点的邻域内连续且具有一阶和二阶连续偏导数,又有,同时令,,,则
- 当,时,函数在处取得极小值;
- 当,时,函数在处取得极大值。
此外可以判断,当时,函数在点处没有极值,此点称为鞍点。而当时,无法直接判断,对此,补充一个规律:当时,如果有,那么函数在有极值,且当有极小值,当有极大值。
由线性代数的知识可知,若矩阵满足
则矩阵是正定矩阵,或者说矩阵正定。
若矩阵满足
则矩阵是负定矩阵,或者说矩阵负定。[3]
于是,二元函数在点处取得极值的条件表述为:二元函数在点处的黑塞矩阵正定,则取得极小值;在点处的黑塞矩阵负定,则取得极大值。
对于多元函数,若在点处取得极值,则极值存在的必要条件为
取得极小值的充分条件为
正定,即要求的各阶主子式都大于零,即
取得极大值的充分条件为
负定。[4][5][6]