大家的AI
机器学习AI论文
加载中…

学习

🏅我的成就

Ch.10

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

按章节的数学图示

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

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

碗形:只向下弯→极小点

↓ 弯曲(x, f(x))

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

值↑值↓S

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

鞍点:既非极小也非极大

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

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

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

左:碗形(只向下弯)→极小。倒扣的碗(只向上弯)→极大。鞍点:一方上升一方下降→既非极小也非极大。
黑塞矩阵是由标量函数的二阶偏导数构成的方阵,表示某点处曲面的曲率,用于判断极小、极大与鞍点,也是牛顿法、置信域方法的基础。

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

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

解题示例

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

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

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

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

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

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

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

문제

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

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