Hessian矩阵 (Hessian Matrix)
Hessian矩阵 ,或称海森矩阵 ,是多元微积分 中的一个核心概念,由一个标量值函数 的所有二阶偏导数 所组成的方块矩阵 。它以19世纪的德国数学家路德维希·奥托·黑塞(Ludwig Otto Hesse)的名字命名。Hessian矩阵可以被看作是单变量函数二阶导数在多维空间中的推广,它描述了一个函数在某一点附近的局部曲率 。
Hessian矩阵最重要的应用是在最优化 理论中,用于判断多元函数的临界点 是局部极大值 、局部极小值 还是鞍点 。
形式化定义
假设有一个定义在 R n \mathbb{R}^n R n 上的实值函数 f ( x 1 , x 2 , … , x n ) f(x_1, x_2, \ldots, x_n) f ( x 1 , x 2 , … , x n ) ,即 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f : R n → R 。如果函数 f f f 的所有二阶偏导数都存在且在定义域内连续,那么函数 f f f 在点 x = ( x 1 , … , x n ) x = (x_1, \ldots, x_n) x = ( x 1 , … , x n ) 的Hessian矩阵 H ( f ) ( x ) H(f)(x) H ( f ) ( x ) 是一个 n × n n \times n n × n 的矩阵,其定义如下:
H(f)(x) = \begin{bmatrix}
\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{bmatrix}
矩阵的第 i i i 行第 j j j 列的元素为:
( H ( f ) ( x ) ) i j = ∂ 2 f ∂ x i ∂ x j ( x ) (H(f)(x))_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}(x) ( H ( f ) ( x ) ) ij = ∂ x i ∂ x j ∂ 2 f ( x )
Hessian矩阵有时也用 ∇ 2 f ( x ) \nabla^2 f(x) ∇ 2 f ( x ) 来表示,以强调它是对梯度 ∇ f ( x ) \nabla f(x) ∇ f ( x ) 的再次求导(在某种意义上)。
关键性质:对称性
根据克莱罗定理 (Clairaut's Theorem,或称施瓦茨定理),如果函数 f f f 的二阶混合偏导数 ∂ 2 f ∂ x i ∂ x j \frac{\partial^2 f}{\partial x_i \partial x_j} ∂ x i ∂ x j ∂ 2 f 和 ∂ 2 f ∂ x j ∂ x i \frac{\partial^2 f}{\partial x_j \partial x_i} ∂ x j ∂ x i ∂ 2 f 都是连续的,那么它们的求导次序可以交换,即:
∂ 2 f ∂ x i ∂ x j = ∂ 2 f ∂ x j ∂ x i \frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i} ∂ x i ∂ x j ∂ 2 f = ∂ x j ∂ x i ∂ 2 f
在这种通常满足的条件下,Hessian矩阵是一个对称矩阵 ,即 H = H T H = H^T H = H T 。这一性质在理论分析和计算中都至关重要。
在无约束最优化中的应用:二阶导数检验
Hessian矩阵是多元函数极值判定的核心工具。这套判定准则被称为 二阶导数检验 。
前提 :首先,我们需要找到函数 f f f 的所有临界点 。临界点是满足梯度为零向量 ∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇ f ( x ∗ ) = 0 的点 x ∗ x^* x ∗ 。这些点是潜在的极值点。
检验步骤 :对于一个临界点 x ∗ x^* x ∗ ,我们计算其Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) ,并判断该矩阵的定性 (Definiteness)。
局部极小值 (Local Minimum) :如果Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) 是正定矩阵 (Positive Definite),则 f f f 在 x ∗ x^* x ∗ 处取得一个严格的局部极小值。 \begin{itemize}对于正定矩阵,其所有的特征值 (Eigenvalues)都为正。这意味着函数在 x ∗ x^* x ∗ 附近向所有方向 "向上弯曲",形成一个盆地状。 \end{itemize} 局部极大值 (Local Maximum) :如果Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) 是负定矩阵 (Negative Definite),则 f f f 在 x ∗ x^* x ∗ 处取得一个严格的局部极大值。 \begin{itemize}对于负定矩阵,其所有的特征值都为负。这意味着函数在 x ∗ x^* x ∗ 附近向所有方向 "向下弯曲",形成一个山峰状。 \end{itemize} 鞍点 (Saddle Point) :如果Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) 是不定矩阵 (Indefinite),即它既有正特征值也有负特征值,则 x ∗ x^* x ∗ 是一个鞍点。 \begin{itemize}在鞍点,函数在某些方向上是极大值,而在另一些方向上是极小值,形状如同马鞍。 \end{itemize} 检验失效 :如果Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) 是半正定矩阵 或半负定矩阵 (但不是正定或负定),即它有零特征值且其余特征值同号,则二阶导数检验失效。需要更高阶的检验来判断该临界点的性质。
示例
考虑函数 f ( x , y ) = x 3 − 3 x + y 2 f(x, y) = x^3 - 3x + y^2 f ( x , y ) = x 3 − 3 x + y 2 。
第一步:求梯度和临界点
计算一阶偏导数并令其为零:
∇ f ( x , y ) = ( ∂ f ∂ x , ∂ f ∂ y ) = ( 3 x 2 − 3 , 2 y ) \nabla f(x, y) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) = (3x^2 - 3, 2y) ∇ f ( x , y ) = ( ∂ x ∂ f , ∂ y ∂ f ) = ( 3 x 2 − 3 , 2 y )
令 ∇ f ( x , y ) = ( 0 , 0 ) \nabla f(x, y) = (0, 0) ∇ f ( x , y ) = ( 0 , 0 ) ,我们得到方程组:
3 x 2 − 3 = 0 ⟹ x = ± 1 3x^2 - 3 = 0 \implies x = \pm 1 3 x 2 − 3 = 0 ⟹ x = ± 1
2 y = 0 ⟹ y = 0 2y = 0 \implies y = 0 2 y = 0 ⟹ y = 0
因此,我们有两个临界点:( 1 , 0 ) (1, 0) ( 1 , 0 ) 和 ( − 1 , 0 ) (-1, 0) ( − 1 , 0 ) 。
第二步:计算Hessian矩阵
计算二阶偏导数:
∂ 2 f ∂ x 2 = 6 x , ∂ 2 f ∂ y 2 = 2 , ∂ 2 f ∂ x ∂ y = ∂ 2 f ∂ y ∂ x = 0 \frac{\partial^2 f}{\partial x^2} = 6x, \quad \frac{\partial^2 f}{\partial y^2} = 2, \quad \frac{\partial^2 f}{\partial x \partial y} = \frac{\partial^2 f}{\partial y \partial x} = 0 ∂ x 2 ∂ 2 f = 6 x , ∂ y 2 ∂ 2 f = 2 , ∂ x ∂ y ∂ 2 f = ∂ y ∂ x ∂ 2 f = 0
Hessian矩阵为:
H ( f ) ( x , y ) = [ 6 x 0 0 2 ] H(f)(x,y) = \begin{bmatrix} 6x & 0 \\ 0 & 2 \end{bmatrix} H ( f ) ( x , y ) = [ 6 x 0 0 2 ]
第三步:在临界点处评估Hessian矩阵并判断
对于临界点 ( 1 , 0 ) (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 \lambda_1 = 6, \lambda_2 = 2 λ 1 = 6 , λ 2 = 2 。所有特征值均为正,因此矩阵是正定的。 结论 :函数在点 ( 1 , 0 ) (1, 0) ( 1 , 0 ) 处取得一个局部极小值。对于临界点 ( − 1 , 0 ) (-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 \lambda_1 = -6, \lambda_2 = 2 λ 1 = − 6 , λ 2 = 2 。特征值有正有负,因此矩阵是不定的。 结论 :点 ( − 1 , 0 ) (-1, 0) ( − 1 , 0 ) 是一个鞍点。
理论背景:泰勒展开
Hessian矩阵在二阶导数检验中之所以有效,根源于函数的多元泰勒展开 。在临界点 x ∗ x^* x ∗ 附近,函数的二阶泰勒展开式为:
f ( x ) ≈ f ( x ∗ ) + ∇ f ( x ∗ ) T ( x − x ∗ ) + 1 2 ( x − x ∗ ) T H ( f ) ( x ∗ ) ( x − x ∗ ) f(x) \approx f(x^*) + \nabla f(x^*)^T (x-x^*) + \frac{1}{2} (x-x^*)^T H(f)(x^*) (x-x^*) f ( x ) ≈ f ( x ∗ ) + ∇ f ( x ∗ ) T ( x − x ∗ ) + 2 1 ( x − x ∗ ) T H ( f ) ( x ∗ ) ( x − x ∗ )
由于 x ∗ x^* x ∗ 是临界点,∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇ f ( x ∗ ) = 0 ,上式简化为:
f ( x ) − f ( x ∗ ) ≈ 1 2 ( x − x ∗ ) T H ( f ) ( x ∗ ) ( x − x ∗ ) f(x) - f(x^*) \approx \frac{1}{2} (x-x^*)^T H(f)(x^*) (x-x^*) f ( x ) − f ( x ∗ ) ≈ 2 1 ( x − x ∗ ) T H ( f ) ( x ∗ ) ( x − x ∗ )
右侧的表达式是一个二次型 ,其符号完全由Hessian矩阵 H ( f ) ( x ∗ ) H(f)(x^*) H ( f ) ( x ∗ ) 的定性决定。
如果 H H H 是正定的,则对于任何非零向量 z = x − x ∗ z = x - x^* z = x − x ∗ ,二次型 z T H z > 0 z^T H z > 0 z T Hz > 0 。这意味着 f ( x ) > f ( x ∗ ) f(x) > f(x^*) f ( x ) > f ( x ∗ ) ,因此 x ∗ x^* x ∗ 是一个局部极小点。 如果 H H H 是负定的,则 z T H z < 0 z^T H z < 0 z T Hz < 0 ,意味着 f ( x ) < f ( x ∗ ) f(x) < f(x^*) f ( x ) < f ( x ∗ ) ,因此 x ∗ x^* x ∗ 是一个局部极大点。
其他重要应用
除了在最优化中的核心作用,Hessian矩阵在其他领域也扮演着重要角色:
经济学 :在微观经济学 中,用于检验效用最大化 或成本最小化 的二阶条件。例如,对于带有约束的优化问题,需要使用加边Hessian矩阵 (Bordered Hessian)来进行判断。计量经济学 :在最大似然估计 (MLE)中,对数似然函数 的Hessian矩阵至关重要。在似然函数的峰值处(即MLE估计值处)计算的Hessian矩阵的负逆,可以作为参数估计量的方差-协方差矩阵 的一个估计,即信息矩阵的逆。数值分析 :在求解非线性优化问题的算法中,如牛顿法 ,Hessian矩阵被用来确定搜索方向和步长。更新规则通常涉及Hessian矩阵的逆:x k + 1 = x k − [ H ( f ) ( x k ) ] − 1 ∇ f ( x k ) x_{k+1} = x_k - [H(f)(x_k)]^{-1} \nabla f(x_k) x k + 1 = x k − [ H ( f ) ( x k ) ] − 1 ∇ f ( x k ) 。物理学和工程学 :用于分析势能面的稳定点,确定系统的平衡状态是稳定、不稳定还是亚稳态。
关于知经 KNOWECON
知经 KNOWECON 是深圳市卢可教育科技有限公司旗下的教育科技品牌,长期面向北京大学、清华大学、中国人民大学等顶尖院校,提供经济学、金融学、统计学、管理学等相关科目的专业课考研辅导与复试辅导。每年都有数十名同学在我们的帮助下完成系统备考,并成功进入理想院校。
知经主讲人喵喵学长毕业于北京大学汇丰商学院经济学专业和新加坡国立大学金融工程专业,获经济学硕士与金融工程硕士学位。他同时也是软件工程师和教育科技创业者,长期探索用讲义、题库、记忆系统、智能答疑与学习数据工具改善专业课学习体验。
我们相信,好的考研辅导不只是押题和陪跑,更是把复杂知识讲清楚、把复习路径设计清楚,并用技术让学习过程更可追踪、更可反馈、更可坚持。