Ch.10

海森矩阵:二阶微分与曲面的曲率

按章节的数学图示

选择章节后,下方图示会切换为该章节内容。可一览中级数学的脉络。

一阶导告诉你「哪边是下坡」,二阶(黑塞)告诉你「接下来会凹下去,还是一边升一边降(鞍点)」。请跟着下方动画理解。
黑塞是 二阶导数 构成的矩阵,所以下图中的「弯曲程度」就是黑塞所描述的内容。

碗形:只向下弯→极小点

↓ 弯曲(x, f(x))

鞍点:这边值↑上升,那边值↓下降

橙方向值上升 · 绿方向值下降

鞍点:既非极小也非极大

碗形只向下弯→此处为极小

倒扣的碗只向上弯→此处为极大

鞍点一方上升一方下降→既非极小也非极大

左:碗形(只向下弯)→极小。倒扣的碗(只向上弯)→极大。鞍点:一方上升一方下降→既非极小也非极大。

黑塞矩阵是由标量函数的二阶偏导数构成的方阵,表示某点处曲面的曲率,用于判断极小、极大与鞍点,也是牛顿法、置信域方法的基础。

黑塞矩阵:读曲面的弯曲程度

黑塞矩阵是什么? — 可以理解为:在你所站的点上,用数字写出「各个方向曲面弯了多少」的一张表。由函数二阶微分得到的值排成的方阵,且沿对角线左右对称,即对称矩阵
想象闭着眼下山。脚底感觉到的「这边更陡」是一阶微分(梯度)。而「再迈一步,地面会凹下去还是平坦?」这种预感就是二阶微分,也就是黑塞。有了它就能避开悬崖,找到像碗底那样的真正最低点。
更准确地说,把函数 ffxix_ixjx_j 两个方向各微分两次得到的 2fxixj\frac{\partial^2 f}{\partial x_i \partial x_j} 填进表里,就是黑塞 H\mathbf{H}。这张表的特征值是关键:全正→该点是碗底一样的极小点,全负→像山顶的极大点,有正有负→一边升一边降的鞍点
机器学习里,训练就是在找「误差最小的谷」。只靠梯度一点点往下走很慢。用黑塞知道曲率后,可以用牛顿法朝谷底大步跳,学习会快很多。
黑塞矩阵是由标量函数二阶偏导构成的对称矩阵,承载某点的曲率与极值性质。在梯度为零的点,特征值全正则为极小,全负则为极大,有正有负则为鞍点。在机器学习中,它是损失最小点搜索与验证、牛顿法、置信域、拟牛顿等二阶优化的基础。
往下走时会遇到梯度为 0 的平坦处。那不一定就是真正的谷底,可能是鞍点——暂时平坦,但一边升一边降。这时看黑塞的特征值就能区分:是真最小点还是鞍点。变量很多(如 AI)时,不踩进这种「假谷底」非常重要。
窄路小步、平地大步才又快又稳。黑塞告诉你「各方向有多陡」,所以能自动调好步长(学习率),少走冤枉路、高效下降。
牛顿法用下面公式一步走很多:xk+1=xkH1f(xk)\mathbf{x}_{k+1} = \mathbf{x}_k - \mathbf{H}^{-1} \nabla f(\mathbf{x}_k)。其中 xk\mathbf{x}_k 是当前位置,f(xk)\nabla f(\mathbf{x}_k) 是该点梯度,H\mathbf{H} 是该点黑塞矩阵,H1\mathbf{H}^{-1} 是其逆矩阵。也就是「同时看梯度和曲率(黑塞),朝谷底大步跳到 xk+1\mathbf{x}_{k+1}」。比只靠梯度小步走能更快接近答案。
变量一多,精确算黑塞成本太大。实务中更多用拟牛顿法(如 BFGS):不完整算黑塞,只用至今的梯度信息去「猜个大概形状」来用。
下表只整理解题所需的 公式与符号含义。表下方的 解题示例 中有完整解题过程,请对照参考。
  • 公式Hij=2fxixjH_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}
  • 符号含义HijH_{ij}=表中 (i,j)(i,j) 格中的数,可理解为「先对 xix_i 再对 xjx_j 各求一次导」。ff 为函数,xix_ixjx_j 为变量(轴)编号。求导顺序可交换,故 Hij=HjiH_{ij}=H_{ji},表对称。
  • 公式n2n^2(元素总数)
  • 符号含义nn=变量个数。nn 个变量时黑塞为 n×nn \times n,故共有 n2n^2 个元素。例:2 变量→4 个,3 变量→9 个。
  • 公式n(n+1)2\frac{n(n+1)}{2}(独立元素)
  • 符号含义nn=变量个数。对称故只数上三角,个数为 1+2++n=n(n+1)/21+2+\cdots+n = n(n+1)/2。例:2 变量→3 个,3 变量→6 个。
  • 公式nn(行/列数)
  • 符号含义nn=变量个数。黑塞为 n×nn \times n,故「几行?几列?」均为 nn
  • 公式特征值判定
  • 符号含义λ\lambda=黑塞的特征值(该点各方向曲率)。全正→像碗一样只向下弯,极小全负→只向上弯,极大有正有负→一方升一方降,鞍点
  • 公式xk+1=xkH1f(xk)\mathbf{x}_{k+1} = \mathbf{x}_k - \mathbf{H}^{-1} \nabla f(\mathbf{x}_k)
  • 符号含义xk\mathbf{x}_k=当前点,xk+1\mathbf{x}_{k+1}=下一步点。H\mathbf{H}=该点黑塞(曲率表),H1\mathbf{H}^{-1}=其逆。f(xk)\nabla f(\mathbf{x}_k)=该点梯度。即「看梯度与曲率,一步跳向谷底」的公式。
  • 公式x1=x0f(x0)f(x0)x_1 = x_0 - \frac{f^{\prime}(x_0)}{f^{\prime\prime}(x_0)}
  • 符号含义x0x_0=当前位置,x1x_1=下一位置。f(x0)f^{\prime}(x_0)=该点斜率(一阶导),f(x0)f^{\prime\prime}(x_0)=二阶导(一维时相当于黑塞)。f(x)=ax2+bx+cf(x)=ax^2+bx+cf=2af^{\prime\prime}=2a 为常数。
  • 公式f(x)=2af^{\prime\prime}(x)=2af(x)=ax2+bx+cf(x)=ax^2+bx+c
  • 符号含义ff^{\prime\prime}=二阶导数。aax2x^2 的系数。二次式求两次导后 xx 消失,只剩常数 2a2a
  • 公式f=0\nabla f = \mathbf{0}(驻点)
  • 符号含义f\nabla f=梯度(各变量方向一阶导组成的向量)。0\mathbf{0}=零向量(「无梯度」)。梯度为 0 的点是极小·极大·鞍点的候选,再用黑塞特征值判断是哪一种。

解题示例

例1 — 元素个数
问题:f(x1,x2)f(x_1, x_2) 的黑塞有多少个元素?
解:变量为 2 个时,黑塞为 2×22 \times 2 矩阵,故共有 4 个元素。对称故 H12=H21H_{12}=H_{21},彼此不同的元素只有 H11H_{11}H12H_{12}H22H_{22}3 个。
→ 问总数则答 4,问独立元素数则答 3

例2 — 极小判定
问题:黑塞特征值为 2 和 5 时,该点是极小、极大还是鞍点?
解:特征值均为正时,该点处曲面各方向向下弯,呈碗形,故为极小点
→ 在
①极小
②极大
③鞍点 中选 1(极小)

例3 — 极大判定
问题:黑塞特征值为 1-13-3 时,该点是?
解:均为负时,该点处曲面各方向向上弯,呈倒扣的碗,为极大点
→ 选 2(极大)

例4 — 鞍点判定
问题:黑塞特征值为 221-1 时,该点是?
解:特征值有正有负时,一方上升、一方下降,为鞍点
→ 选 3(鞍点)

例5 — 二阶导数值
问题:f(x)=3x2+2x+1f(x)=3x^2+2x+1 时,f(x)f^{\prime\prime}(x) 为多少?
解:二次式 ax2+bx+cax^2+bx+cx2x^2 的系数为 a=3a=3。二阶导数为 f(x)=2a=2×3=6f^{\prime\prime}(x)=2a=2 \times 3 = 6,与 xx 无关的常数。
→ 答案 6

例6 — 牛顿法(一维)
问题:f(x)=x2f(x)=x^2x0=4x_0=4 时,一步牛顿迭代后的 x1x_1 为?
解:一维牛顿步为 x1=x0f(x0)/f(x0)x_1 = x_0 - f^{\prime}(x_0)/f^{\prime\prime}(x_0)f(x)=2xf^{\prime}(x)=2xf(x)=2f^{\prime\prime}(x)=2,故 f(4)=8f^{\prime} (4) =8f(4)=2f^{\prime\prime} (4) =2,得 x1=48/2=0x_1 = 4 - 8/2 = 0
→ 答案 0

例7 — 定义(对/错)
问题:「黑塞特征值全为正时,该点为极小点。」对则 1,错则 0。
解:说法正确。特征值全为正时,曲面各方向向下弯,故为极小点。
→ 答案 1

문제

请阅读下方说明,求出答案(整数)并填入空格(?)。

请选择与下列问题相符的选项。
①极小
②极大
③鞍点 中选一个编号(1、2、3)输入。
(与黑塞特征值、定义相关的问题)
1 / 10