Hessian矩阵 (Hessian Matrix)
Hessian矩阵,或称海森矩阵,是多元微积分中的一个核心概念,由一个标量值函数的所有二阶偏导数所组成的方块矩阵。它以19世纪的德国数学家路德维希·奥托·黑塞(Ludwig Otto Hesse)的名字命名。Hessian矩阵可以被看作是单变量函数二阶导数在多维空间中的推广,它描述了一个函数在某一点附近的局部曲率。
Hessian矩阵最重要的应用是在最优化理论中,用于判断多元函数的临界点是局部极大值、局部极小值还是鞍点。
形式化定义
假设有一个定义在 Rn 上的实值函数 f(x1,x2,…,xn),即 f:Rn→R。如果函数 f 的所有二阶偏导数都存在且在定义域内连续,那么函数 f 在点 x=(x1,…,xn) 的Hessian矩阵 H(f)(x) 是一个 n×n 的矩阵,其定义如下:
公式暂不可显示
\vdots \& \vdots \& \ddots \& \vdots \\
公式暂不可显示
矩阵的第 i 行第 j 列的元素为:
(H(f)(x))ij=∂xi∂xj∂2f(x)
Hessian矩阵有时也用 ∇2f(x) 来表示,以强调它是对梯度 ∇f(x) 的再次求导(在某种意义上)。
关键性质:对称性
根据克莱罗定理(Clairaut's Theorem,或称施瓦茨定理),如果函数 f 的二阶混合偏导数 ∂xi∂xj∂2f 和 ∂xj∂xi∂2f 都是连续的,那么它们的求导次序可以交换,即:
∂xi∂xj∂2f=∂xj∂xi∂2f
在这种通常满足的条件下,Hessian矩阵是一个对称矩阵,即 H=HT。这一性质在理论分析和计算中都至关重要。
在无约束最优化中的应用:二阶导数检验
Hessian矩阵是多元函数极值判定的核心工具。这套判定准则被称为 二阶导数检验。
前提:首先,我们需要找到函数 f 的所有临界点。临界点是满足梯度为零向量 ∇f(x∗)=0 的点 x∗。这些点是潜在的极值点。
检验步骤:对于一个临界点 x∗,我们计算其Hessian矩阵 H(f)(x∗),并判断该矩阵的定性(Definiteness)。
- 局部极小值 (Local Minimum):如果Hessian矩阵 H(f)(x∗) 是正定矩阵(Positive Definite),则 f 在 x∗ 处取得一个严格的局部极小值。 \begin{itemize}
- 对于正定矩阵,其所有的特征值(Eigenvalues)都为正。这意味着函数在 x∗ 附近向所有方向 "向上弯曲",形成一个盆地状。 \end{itemize}
- 局部极大值 (Local Maximum):如果Hessian矩阵 H(f)(x∗) 是负定矩阵(Negative Definite),则 f 在 x∗ 处取得一个严格的局部极大值。 \begin{itemize}
- 对于负定矩阵,其所有的特征值都为负。这意味着函数在 x∗ 附近向所有方向 "向下弯曲",形成一个山峰状。 \end{itemize}
- 鞍点 (Saddle Point):如果Hessian矩阵 H(f)(x∗) 是不定矩阵(Indefinite),即它既有正特征值也有负特征值,则 x∗ 是一个鞍点。 \begin{itemize}
- 在鞍点,函数在某些方向上是极大值,而在另一些方向上是极小值,形状如同马鞍。 \end{itemize}
- 检验失效:如果Hessian矩阵 H(f)(x∗) 是半正定矩阵或半负定矩阵(但不是正定或负定),即它有零特征值且其余特征值同号,则二阶导数检验失效。需要更高阶的检验来判断该临界点的性质。
示例
考虑函数 f(x,y)=x3−3x+y2。
第一步:求梯度和临界点
计算一阶偏导数并令其为零:
∇f(x,y)=(∂x∂f,∂y∂f)=(3x2−3,2y)
令 ∇f(x,y)=(0,0),我们得到方程组:
3x2−3=0⟹x=±1
2y=0⟹y=0
因此,我们有两个临界点:(1,0) 和 (−1,0)。
第二步:计算Hessian矩阵
计算二阶偏导数:
∂x2∂2f=6x,∂y2∂2f=2,∂x∂y∂2f=∂y∂x∂2f=0
Hessian矩阵为:
H(f)(x,y)=[6x002]
第三步:在临界点处评估Hessian矩阵并判断
- 对于临界点 (1,0): H(f)(1, 0) = \begin{bmatrix} 6(1) \& 0 \\ 0 \& 2 \end{bmatrix} = \begin{bmatrix} 6 \& 0 \\ 0 \& 2 \end{bmatrix} 该矩阵的特征值为 λ1=6,λ2=2。所有特征值均为正,因此矩阵是正定的。 结论:函数在点 (1,0) 处取得一个局部极小值。
- 对于临界点 (−1,0): \[ H(f)(-1, 0) = \begin{bmatrix} 6(-1) & 0 \\ 0 & 2 \end{bmatrix} = \begin{bmatrix} -6 & 0 \\ 0 & 2 \end{bmatrix} \] 该矩阵的特征值为 λ1=−6,λ2=2。特征值有正有负,因此矩阵是不定的。 结论:点 (−1,0) 是一个鞍点。
理论背景:泰勒展开
Hessian矩阵在二阶导数检验中之所以有效,根源于函数的多元泰勒展开。在临界点 x∗ 附近,函数的二阶泰勒展开式为:
f(x)≈f(x∗)+∇f(x∗)T(x−x∗)+21(x−x∗)TH(f)(x∗)(x−x∗)
由于 x∗ 是临界点,∇f(x∗)=0,上式简化为:
f(x)−f(x∗)≈21(x−x∗)TH(f)(x∗)(x−x∗)
右侧的表达式是一个二次型,其符号完全由Hessian矩阵 H(f)(x∗) 的定性决定。
- 如果 H 是正定的,则对于任何非零向量 z=x−x∗,二次型 zTHz>0。这意味着 f(x)>f(x∗),因此 x∗ 是一个局部极小点。
- 如果 H 是负定的,则 zTHz<0,意味着 f(x)<f(x∗),因此 x∗ 是一个局部极大点。
其他重要应用
除了在最优化中的核心作用,Hessian矩阵在其他领域也扮演着重要角色:
- 经济学:在微观经济学中,用于检验效用最大化或成本最小化的二阶条件。例如,对于带有约束的优化问题,需要使用加边Hessian矩阵(Bordered Hessian)来进行判断。
- 计量经济学:在最大似然估计(MLE)中,对数似然函数的Hessian矩阵至关重要。在似然函数的峰值处(即MLE估计值处)计算的Hessian矩阵的负逆,可以作为参数估计量的方差-协方差矩阵的一个估计,即信息矩阵的逆。
- 数值分析:在求解非线性优化问题的算法中,如牛顿法,Hessian矩阵被用来确定搜索方向和步长。更新规则通常涉及Hessian矩阵的逆:xk+1=xk−[H(f)(xk)]−1∇f(xk)。
- 物理学和工程学:用于分析势能面的稳定点,确定系统的平衡状态是稳定、不稳定还是亚稳态。