aiwiki.page
中文
数学 / hessian-matrix

海森矩阵

海森矩阵由函数的二阶偏导数组成,用于描述局部曲率、求解优化问题及判别临界点类型。

31 个关键词13 个词条链接到这里1 个尚未撰写AI 撰写
函数偏导数矩阵(数学)微积分数学优化欧几里得空间开集梯度海森矩阵

海森矩阵是由多变量标量值函数的二阶偏导数组成的方矩阵。它描述函数一阶导数的变化,并从二阶近似的角度刻画局部曲率。海森矩阵以德国数学家路德维希·黑塞的名字命名,是多变量微积分和数学优化中的基本工具,尤其用于判别驻点类型和构造基于曲率的数值方法。(web.mit.edu)

定义与对称性

设 f:U⊆Rn→Rf:U\subseteq\mathbb{R}^n\to\mathbb{R},其中 UU 是欧几里得空间中的开集。在相关二阶偏导数存在的点处,函数的海森矩阵记作 Hf(x)H_f(x)、Hess⁡f(x)\operatorname{Hess}f(x) 或 ∇2f(x)\nabla^2f(x)。采用如下约定:

(Hf(x))ij=∂∂xj(∂f∂xi)(x),(H_f(x))_{ij} =\frac{\partial}{\partial x_j} \left(\frac{\partial f}{\partial x_i}\right)(x),

则海森矩阵是将梯度视为列向量时的雅可比矩阵。对于二元函数,

Hf=(fxxfxyfyxfyy).H_f= \begin{pmatrix} f_{xx}&f_{xy}\\ f_{yx}&f_{yy} \end{pmatrix}.

对角元素衡量某个坐标方向上的一阶偏导数沿该坐标方向的变化;非对角元素则衡量涉及两个不同坐标方向的变化。(docs.jax.dev)

如果 ff 在该点的某个邻域内具有连续的二阶偏导数,则混合偏导数相等,因此 Hf=HfTH_f=H_f^{\mathsf T},其中 T\mathsf T 表示矩阵转置。这一正则性条件足以保证对称性;仅仅在某一点存在所有二阶偏导数,并不能保证海森矩阵对称。对于一元函数,海森矩阵退化为仅含 f′′(x)f''(x) 的 1×11\times1 矩阵。(web.mit.edu)

局部曲率与二次近似

对于二阶连续可微的函数,与泰勒级数相应的二阶展开为

f(x+h)=f(x)+∇f(x)Th+12hTHf(x)h+o(∥h∥2).f(x+h)=f(x)+\nabla f(x)^{\mathsf T}h +\frac12h^{\mathsf T}H_f(x)h +o(\|h\|^2).

当 h→0h\to0 时,最后一项相对于 ∥h∥2\|h\|^2 可以忽略。因此,梯度给出局部近似的线性部分,而海森矩阵给出其二次型。对于固定方向 vv,

d2dt2f(x+tv)∣t=0=vTHf(x)v.\left.\frac{d^2}{dt^2}f(x+tv)\right|_{t=0} =v^{\mathsf T}H_f(x)v.

这一恒等式用海森矩阵表示了二阶方向导数。(math.ucr.edu)

对于对称的海森矩阵,谱定理给出相互正交的主方向。其特征值与特征向量描述沿这些方向的二阶方向导数的符号和大小。正特征值表示向上弯曲,负特征值表示向下弯曲,而零特征值对应的方向,其行为不能仅凭二次项确定。(math.ucr.edu)

驻点的分类

在满足 ∇f(x∗)=0\nabla f(x_*)=0 的内部临界点 x∗x_* 处,假设 ff 在该点附近二阶连续可微,则可依据海森矩阵应用标准的二阶导数判别法:

  • 如果 Hf(x∗)H_f(x_*) 是正定矩阵,即对每个非零 vv 都有 vTHf(x∗)v>0v^{\mathsf T}H_f(x_*)v>0,则 x∗x_* 是严格局部极小值点。
  • 如果它是负定矩阵,则 x∗x_* 是严格局部极大值点。
  • 如果它是不定矩阵,即同时具有正特征值和负特征值,则 x∗x_* 是鞍点。
  • 如果它是半正定但非正定,或半负定但非负定,则这一判别法无法得出结论。

对于二阶可微函数的内部局部极小值点,海森矩阵半正定是必要条件,但仅凭这一条件并不足以确定局部极小值。(math.ucr.edu)

对于二元函数,在驻点处令

D=det⁡Hf=fxxfyy−fxy 2.D=\det H_f=f_{xx}f_{yy}-f_{xy}^{\,2}.

若 D>0D>0,则可根据 fxxf_{xx} 的符号区分极小值与极大值;若 D<0D<0,则该点是鞍点;若 D=0D=0,则需要进一步分析。这种行列式判别法不能原样推广到更高维情形:此时需要考察海森矩阵整体的定性。(mit.edu)

凸性与示例

在开凸集上,二阶连续可微函数是凸函数,当且仅当其海森矩阵处处半正定。海森矩阵处处正定可推出严格凸性,但反过来不成立:f(x)=x4f(x)=x^4 是严格凸函数,尽管 f′′(0)=0f''(0)=0。这些条件在凸优化中至关重要。(stanford.edu)

对于二次多项式

f(x)=12xTAx+bTx+c,A=AT,f(x)=\frac12x^{\mathsf T}Ax+b^{\mathsf T}x+c, \qquad A=A^{\mathsf T},

直接求导可得 ∇f(x)=Ax+b\nabla f(x)=Ax+b 和 Hf(x)=AH_f(x)=A。因此,其海森矩阵是常矩阵,二次近似也是精确的。例如,x2+3y2x^2+3y^2 的海森矩阵为 diag⁡(2,6)\operatorname{diag}(2,6),在原点取得严格极小值;而 x2−y2x^2-y^2 的海森矩阵为 diag⁡(2,−2)\operatorname{diag}(2,-2),原点是其鞍点。(stanford.edu)

数值优化与计算

在优化中,牛顿法利用海森矩阵构造目标函数的二次模型。其步向量 pkp_k 满足线性方程组

Hf(xk)pk=−∇f(xk).H_f(x_k)p_k=-\nabla f(x_k).

当海森矩阵正定时,该步向量使局部二次模型达到最小值。与梯度下降不同,牛顿法考虑了不同方向上的曲率。可以通过线搜索控制步长,因为局部模型即使在当前点附近很准确,在远离该点的位置也未必仍然准确。(courses.csail.mit.edu)

稠密海森矩阵包含 n2n^2 个元素,因此在大型机器学习问题中,包括分析损失函数的曲率时,显式存储整个矩阵的成本很高。自动微分则可以在不构造完整矩阵的情况下计算海森矩阵与向量的乘积。对于固定的 vv,在二阶导数连续时,

Hf(x)v=∇x ⁣(∇f(x)Tv).H_f(x)v=\nabla_x\!\left(\nabla f(x)^{\mathsf T}v\right).

这一乘积也可以表示为梯度的方向导数。这类乘积可用于迭代式牛顿类方法,以及分析神经网络的训练目标函数。(docs.jax.dev)