想象你是一名山地勘测员,任务是摸清脚下这片地形的脾气:哪里是能把人兜住的碗形谷底,哪里是让人站不稳的山尖,哪里又是看似平坦、实则暗藏危险的马鞍隘口?只测海拔(函数值)和坡度(梯度)远远不够——同一个“看起来没坡”的地方,可能往哪个方向走都是上坡,也可能一方向上坡、一方向下坡。真正起决定作用的,是坡度本身怎么变化。这篇文章的主角——海森矩阵,就是一张记录坡度变化率的表;而它的特征值,则是读懂每个方向“弯不弯、怎么弯”的密码。我们将沿着勘测员的脚印,学会用地形语言看懂任意多元函数的局部形状,顺带解决一个实战难题:为什么某些方向优化快得像下坡冲浪,另一些方向却慢如爬泥潭。

岗位关联

对 AI 从业者来说,看懂“函数弯不弯”,意味着你能诊断梯度下降为何卡顿、判断是否该换二阶方法、理解学习率为何难调——这是吃透现代优化器的关键一步。

目录
  1. 可视化演示
  2. 海森矩阵定义
  3. 特征值解码
  4. 正定碗形
  5. 负定不定
  6. 鞍点识别
  7. 曲率与优化
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示海森矩阵与曲率的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

海森矩阵与曲率:海森矩阵 海森矩阵特征值与各方向曲率的对 正定、负定与碗形、山形、鞍点的 核心机制可视化 海森矩阵与曲率整体架构与关键组件

海森矩阵定义

勘测员站在山坡上,第一件要弄清的事是:脚下的坡度会不会变?往东走,坡度是越来越陡还是越来越缓?往北走呢?光是读出“当前坡度”(一阶导数)远远不够,你必须知道坡度的变化率——也就是坡度的“坡度”。对多元函数来说,每个方向都有自己的“坡度变陡率”,把这些数值整齐排好,就得到一张决定地形性格的表格。

于是我们请出主角:海森矩阵。对一个二元函数 $f(x,y)$,它把所有二阶偏导装进一个 $2 \times 2$ 的方阵。左上角是 $x$ 方向的坡度变化率 $f_{xx}$,右下角是 $y$ 方向的 $f_{yy}$,两个对角位置则是“沿 $x$ 的坡度在 $y$ 方向上怎么扭转”的混合偏导 $f_{xy}$ 与 $f_{yx}$。

这就像勘测员把罗盘转一圈,记下每个方向的“陡峭变化率”,填进一张整齐的表格。有了这张表,地形不再是一团模糊的起伏,而是一份可以逐格分析的数据。接下来,我们要从这张表里提取最关键的密码——特征值。

H=[∂2f∂x2∂2f∂x∂y∂2f∂y∂x∂2f∂y2]H = \begin{bmatrix} \displaystyle\frac{\partial^2 f}{\partial x^2} & \displaystyle\frac{\partial^2 f}{\partial x \partial y} \\[6pt] \displaystyle\frac{\partial^2 f}{\partial y \partial x} & \displaystyle\frac{\partial^2 f}{\partial y^2} \end{bmatrix}
海森矩阵本质是“坡度的变化率”的完整账本:每个位置都记录着某个方向的坡度被另一个方向拉扯得多厉害。
  1. 二阶导 $f_{xx}$取 $x$ 方向的一阶偏导后,再对 $x$ 求一次偏导,得到沿 $x$ 轴方向坡度的变化速度。
    fxx=∂∂x(∂f∂x)=∂2f∂x2\displaystyle f_{xx} = \frac{\partial}{\partial x}\left(\frac{\partial f}{\partial x}\right) = \frac{\partial^2 f}{\partial x^2}
  2. 混合偏导 $f_{xy}$先对 $x$ 求偏导,再对 $y$ 求偏导,衡量 $x$ 方向的坡度沿 $y$ 方向扭转的程度。
    fxy=∂∂y(∂f∂x)\displaystyle f_{xy} = \frac{\partial}{\partial y}\left(\frac{\partial f}{\partial x}\right)
  3. 对称性绝大多数光滑函数满足混合偏导可交换,即 $f_{xy}=f_{yx}$,因此海森矩阵沿主对角线对称,勘测时只需测定三个独立数值。
    HT=H\displaystyle H^T = H

特征值解码

表格有了,可它包含的信息太多,怎么提炼?勘测员有诀窍:找出特殊方向——沿这些方向走,坡度变化率的“方向感”不会跑偏,只会整体放大或缩小。这些特殊方向就是特征向量,放大缩小的倍数就是特征值。特征值的大小,恰好就是该方向的曲率。

为什么说特征值是曲率?因为沿任意方向 $v$ 走一小步,函数值变化的“弯度”可以用二次型 $v^T H v$ 衡量。除以 $v^T v$ 归一化后,得到的就是该方向的方向曲率。当 $v$ 恰好取特征向量时,这个比值退化为特征值本身——简单又漂亮。

有了这套解码规则,勘测员只需要算出两个特征值,就能回答“往哪弯、弯多少”。若两个特征值都为正,地形是碗形;都为负,是倒扣山形;一正一负,那就是让人困惑的马鞍隘口。下面我们逐一辨认这些地形。

κv=vTHvvTv,Hv=λv\kappa_v = \frac{v^T H v}{v^T v}, \qquad Hv = \lambda v
特征向量指向“曲率主轴”——弯得最厉害的方向;特征值就是沿这些主轴的实际弯度数值。
  1. 二次型分子 $v^T H v$将方向向量 $v$ 的每个分量与海森矩阵双向“夹乘”,得到沿 $v$ 方向走时的弯度原始值。
    vTHv=[v1v2]H[v1v2]v^T H v = \begin{bmatrix} v_1 & v_2 \end{bmatrix} H \begin{bmatrix} v_1 \\ v_2 \end{bmatrix}
  2. 分母归一化 $v^T v$除以 $v$ 的长度平方,消除“走得远弯得多”的干扰,得到单位方向上的纯弯度。
    κv=vTHvvTv\displaystyle \kappa_v = \frac{v^T H v}{v^T v}
  3. 特征方程 $Hv = \lambda v$矩阵作用在特征向量上只拉伸不转向,拉伸倍数就是特征值 $\lambda$,它直接等于该方向的曲率。
    Hv=λv,λ=κv\displaystyle Hv = \lambda v, \quad \lambda = \kappa_v

正定碗形

勘测员走到一处洼地,把探测仪转了一圈:无论朝哪个方向迈步,路面都微微向上抬。这正是“碗形谷底”——每个方向的曲率都是正的。数学上称海森矩阵正定:对所有非零方向向量 $v$,都有 $v^T H v > 0$,等价于所有特征值都大于零。

怎么快速判定正定而不必解特征方程?有更省力的算术检验法——顺序主子式。对 $2 \times 2$ 的海森矩阵,只需要看两个数:第一个是 $f_{xx}$,第二个是整个矩阵的行列式。只要这两项都大于零,矩阵一定正定。

碗形谷底意味着什么?它是优化的“归宿”——若在训练损失曲面上碰到正定海森矩阵的驻点,就能放心宣布:这里就是局部极小值。勘测队可以安稳扎营了。但若特征值符号不统一,故事就精彩了。

vTHv>0  ⟺  λ1>0,  λ2>0v^T H v > 0 \iff \lambda_1 > 0,\; \lambda_2 > 0
Δ1=fxx>0,Δ2=∣fxxfxyfyxfyy∣>0\Delta_1 = f_{xx} > 0, \qquad \Delta_2 = \begin{vmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{vmatrix} > 0
顺序主子式判定法相当于“抽验两个关键截面”:先确认 $x$ 方向弯得向上,再确认整体行列式为正,即可锁定碗形。
  1. 二次型恒正任意非零方向 $v$ 代入 $v^T H v$ 都得到正值,说明没有任何方向是“下凹”的。
    vTHv>0,∀v≠0\displaystyle v^T H v > 0, \quad \forall v \neq 0
  2. 特征值全正正定与“两个特征值都大于零”完全等价,这是最直观的判定方式。
    λ1>0且λ2>0\displaystyle \lambda_1 > 0 \quad \text{且} \quad \lambda_2 > 0
  3. 一阶主子式 $\Delta_1$取 $f_{xx}$ 判断 $x$ 方向是否为向上弯的截面。
    Δ1=fxx>0\displaystyle \Delta_1 = f_{xx} > 0
  4. 二阶主子式 $\Delta_2$行列式 $f_{xx}f_{yy} - f_{xy}^2$ 大于零,保证两个方向的弯度不会被混合偏导“扭”成下凹。
    Δ2=fxxfyy−fxy2>0\displaystyle \Delta_2 = f_{xx}f_{yy} - f_{xy}^2 > 0

负定不定

如果两个特征值都为负,探测仪指针全部朝下:无论朝哪个方向走,路都向下塌。这是负定,对应倒扣的山形峰顶——一个局部极大值,站在上面往任何方向迈步都是下坡。若两个特征值一个正一个负,矩阵就是不定的,这时的地形是马鞍隘口:沿一条脊线看是凸起的山顶,转九十度再看却是凹下的山谷。

还有一种半定情形:某个特征值恰好为零。这时地形在某条方向上是“平缓走廊”——没有弯度,像山脊上被削出一段平地。半定既不是碗也不是山,它是退化地形的信号,需要结合更高阶信息才能判断。

对勘测队来说,山形虽高却留不住人,马鞍隘口则最阴险——它在一条方向看来是“安全的谷底”,换个方向却暴露“正在下坠”的真相。这种地形,正是优化时最常栽跟头的地方。

λ1<0,  λ2<0  ⟺  负定(山形峰顶)\lambda_1 < 0,\; \lambda_2 < 0 \iff \text{负定(山形峰顶)}
λ1λ2<0  ⟺  不定(马鞍隘口)\lambda_1 \lambda_2 < 0 \iff \text{不定(马鞍隘口)}
特征值乘积为负,等价于一正一负,地形必然呈现“双向反差”的马鞍形态。
  1. 全负判负定两个特征值都小于零,任意方向二次型都取负,地形全方位向下弯。
    λ1<0,λ2<0\displaystyle \lambda_1 < 0, \quad \lambda_2 < 0
  2. 异号判不定两个特征值符号相反,存在“上弯”与“下弯”两个相反方向。
    λ1⋅λ2<0\displaystyle \lambda_1 \cdot \lambda_2 < 0
  3. 乘积即行列式特征值之积等于矩阵行列式,因此 $\det(H) < 0$ 是不定矩阵的快捷判据。
    det⁡(H)=λ1λ2<0\displaystyle \det(H) = \lambda_1 \lambda_2 < 0

鞍点识别

勘测队最怕的陷阱是:仪器显示“坡度为零”,地势平坦得让人以为找到了谷底,可环顾四周,地形既不像碗也不像山。这就是马鞍隘口——一个梯度消失却并非极值的驻点。在一维世界里,坡度为零且二阶导非零就能判断大小;但在多元世界,必须逐方向检查,鞍点正是利用“梯度归零”制造假象。

识别鞍点的铁证在特征值:只要海森矩阵的特征值异号,这个梯度为零的点就必定是鞍点。用行列式判断更快捷——行列式为负,鞍点当场现形。需要注意的是,这只适用于非退化情形(行列式不为零);若行列式为零,还需借助高阶导数进一步侦查。

在深度学习中,高维损失曲面上鞍点比极小值点常见得多。梯度下降走到鞍点附近时,梯度趋近于零,更新变得极慢,仿佛勘测队被困在隘口里团团转。要真正走出隘口,得靠曲率信息指引方向——这就引出了曲率与优化的关系。

∇f(P)=0,det⁡(H)=λ1λ2<0\nabla f(P) = 0, \qquad \det(H) = \lambda_1 \lambda_2 < 0
鞍点的判定是一场“双证会审”:一阶条件证明它是驻点,二阶条件证明它既非极大也非极小。
  1. 一阶驻点条件梯度向量为零,说明该点处所有方向的一阶坡度都是零。
    ∇f=(∂f∂x,∂f∂y)=(0,0)\displaystyle \nabla f = \left(\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}\right) = (0, 0)
  2. 行列式判据$\det(H) < 0$ 意味着两个特征值异号,必有一个方向向上弯、另一方向向下弯。
    det⁡(H)<0\displaystyle \det(H) < 0
  3. 合并定论驻点 + 异号特征值 = 鞍点,二者缺一不可。
    ∇f=0且λ1λ2<0\displaystyle \nabla f = 0 \quad \text{且} \quad \lambda_1 \lambda_2 < 0

曲率与优化

勘测队规划下山路线时发现:步长(学习率)的选择,完全取决于地形弯度。沿曲率大的方向走,地面急剧起伏,步子稍大就会“过冲”、反弹震荡;沿曲率小的方向走,地面平缓,步子小了又像原地踏步。同一个步长很难同时伺候好曲率悬殊的方向——这正是梯度下降在山谷地形中来回震荡的根源。

衡量这种“方向间曲率差异”的指标是条件数:最大特征值绝对值与最小特征值绝对值之比。条件数等于 $1$ 时地形各向均匀,怎么走都顺畅;条件数远大于 $1$ 时,地形被拉成狭长峡谷,梯度下降沿陡峭方向震荡、沿平缓方向龟爬。牛顿法等二阶方法用海森矩阵的逆对方向做归一化,等效于把峡谷“压回”圆形,因此收敛快得多。

勘测队最终明白:光有海拔和坡度不够,带上曲率探测仪(海森矩阵)和弯度密码(特征值),才能避开马鞍、认准碗底、按地形调整步伐。看懂函数弯不弯,就是看懂了整片地形对优化者的“脾气”。

κ=max⁡i∣λi∣min⁡i∣λi∣≥1\kappa = \frac{\max_i |\lambda_i|}{\min_i |\lambda_i|} \ge 1
条件数就是“最难走方向”与“最好走方向”的悬殊程度;条件数越大,地形越像被拉扁的峡谷,一阶优化器越容易陷入震荡。
  1. 分子取最大绝对值特征值找出所有方向中弯得最剧烈的那条,它决定步长上限。
    max⁡i∣λi∣\displaystyle \max_i |\lambda_i|
  2. 分母取最小绝对值特征值找出弯得最平缓的方向,它决定收敛速度的下限。
    min⁡i∣λi∣\displaystyle \min_i |\lambda_i|
  3. 两者相除得条件数比值越接近 $1$,各方向曲率越均匀;比值越大,方向间差异越悬殊。
    κ=∣λ∣max⁡∣λ∣min⁡≥1\displaystyle \kappa = \frac{|\lambda|_{\max}}{|\lambda|_{\min}} \ge 1

AI 应用场景

深度学习优化器的自适应学习率

阶段:模型训练(参数优化)

解决的问题:随机梯度下降(SGD)用同一个学习率对待所有参数,但深层网络的损失曲面各方向曲率差异巨大——有些权重方向曲率极大(陡峭),稍迈步就震荡;有些方向曲率极小(平缓),走半天不动。Adam、AdaGrad 等优化器用梯度的二阶矩估计近似曲率,按方向缩放学习率,本质上是在不显式计算海森矩阵的前提下,做对角化的“曲率归一化”。

具体案例:训练 ResNet-50 时,固定学习率 0.1 的 SGD 在损失曲面峡谷区反复震荡、loss 曲线像锯齿;切换到 Adam 后,每个参数根据各自的累积梯度能量自适应缩放步长,训练曲线立刻变得平滑稳定。

结构仿真中的稳定性判定

阶段:物理仿真与数据分析

解决的问题:机械结构的势能函数在平衡位形处是否稳定,取决于势能的海森矩阵(刚度矩阵)是否正定。传统方法靠经验加载测试,成本高;现在借助数值海森矩阵的特征值分析,在仿真阶段就能提前判断结构是否会发生屈曲失稳。

具体案例:某桥梁桁架设计的有限元仿真中,工程师计算结构在满载工况下刚度矩阵的最小特征值。当最小特征值接近零时,系统警告“临界失稳”,设计团队随即加固薄弱杆件,避免了一次真实建造中的坍塌风险。

机器人路径规划中的陷阱识别

阶段:决策规划(代价地图分析)

解决的问题:机器人规划路径时,避障代价函数在候选路径点上的一阶导数为零并不代表安全——可能落在“假谷底”(鞍点)上。通过计算代价函数的海森矩阵,判断该驻点是碗形(安全通道)还是马鞍形(障碍物隘口),可有效避免规划器陷入伪安全点。

具体案例:仓储机器人导航中,代价地图在货架之间形成一个狭窄通道,代价函数在该处的海森矩阵特征值异号,暴露出它其实是鞍点而非通道。规划器据此绕行,避免了机器人在通道中被“卡住”低效徘徊。

Python 演示

python53 行
"""海森矩阵与曲率分析:判断函数在某个点的弯曲形状。"""import numpy as np  def hessian(f, x, y, h=1e-5):    """用中心差分数值计算二元函数的海森矩阵。"""    def px(xx, yy):        return (f(xx + h, yy) - f(xx - h, yy)) / (2 * h)     def py(xx, yy):        return (f(xx, yy + h) - f(xx, yy - h)) / (2 * h)     fxx = (px(x + h, y) - px(x - h, y)) / (2 * h)    fyy = (py(x, y + h) - py(x, y - h)) / (2 * h)    fxy = (px(x, y + h) - px(x, y - h)) / (2 * h)    return np.array([[fxx, fxy], [fxy, fyy]])  def classify(f, x, y):    """计算海森矩阵、特征值与地形形态。"""    H = hessian(f, x, y)    ev = np.linalg.eigvals(H)    det = np.linalg.det(H)    if ev[0] > 0 and ev[1] > 0:        shape = "正定(碗形谷底)"    elif ev[0] < 0 and ev[1] < 0:        shape = "负定(山形峰顶)"    elif ev[0] * ev[1] < 0:        shape = "不定(马鞍隘口)"    else:        shape = "半定(平缓走廊)"    cond_num = max(abs(ev)) / min(abs(ev))    return H, ev, det, shape, cond_num  def demo():    bowl = lambda x, y: x**2 + 2 * y**2    ridge = lambda x, y: -2 * x**2 - y**2    saddle = lambda x, y: x**2 - y**2     for name, fn in [("bowl  : x^2+2y^2", bowl),                     ("ridge : -2x^2-y^2", ridge),                     ("saddle: x^2-y^2", saddle)]:        H, ev, det, shape, cn = classify(fn, 1.0, 1.0)        print(name)        print("Hessian:\n", H.round(3))        print("eigenvalues:", ev.round(3), " det:", round(det, 3))        print("shape:", shape, " cond:", round(cn, 3))        print("-" * 30)  if __name__ == "__main__":    demo()
目的:用数值差分计算任意二元函数在某点的海森矩阵,通过特征值和行列式判断该点的地形形态与条件数,帮你快速验证一个驻点是碗形、山形还是马鞍形。
  1. def hessian(f, x, y, h=1e-5):用中心差分近似二阶偏导,避免手工求导的麻烦,$h$ 取极小值保证精度。
  2. def px(xx, yy):先封装一阶 $x$ 方向偏导数算子,后续对它的结果再差分就能得到二阶偏导。
  3. fxy = (px(x, y + h) - px(x, y - h)) / (2 * h)对 $f_x$ 再沿 $y$ 方向差分,得到混合偏导 $f_{xy}$,并利用对称性填充矩阵。
  4. ev = np.linalg.eigvals(H)一行代码求出海森矩阵的全部特征值,也就是各主方向的曲率。
  5. elif ev[0] * ev[1] < 0:特征值乘积为负即一正一负,快速锁定马鞍隘口地形。
  6. cond_num = max(abs(ev)) / min(abs(ev))条件数 = 最大/最小特征值绝对值之比,衡量地形被“拉扁”的程度。

常见误区

误区我找到梯度等于零的点,那肯定就是最小值了,直接当作最终结果输出。

正解梯度为零只说明这里是“驻点”——勘测队到了一块平地。这块平地可能是碗形谷底(极小值),可能是峰顶(极大值),也可能是马鞍隘口(鞍点)。必须进一步检查海森矩阵的定性:特征值全正才是局部极小值。一维里 $f''>0$ 的经验,在多元世界里要升级成“海森矩阵正定”。

为何常见:因为在中学和本科低年级数学里,一元函数求极值就是“导数等于零”,这个简单规则太深入人心,导致很多人自动把它搬进多元环境。

误区$f_{xx}$ 是 $x$ 方向的曲率,$f_{yy}$ 是 $y$ 方向的曲率,$f_{xy}$ 就是斜方向的曲率。

正解$f_{xx}$ 和 $f_{yy}$ 只是沿坐标轴方向的二阶导,$f_{xy}$ 更是两个方向之间的“扭转耦合量”,它本身不是任何单一方向的曲率。真正对应各方向曲率的是海森矩阵的特征值——它们是整体矩阵对角化之后暴露出的“纯净弯度”。矩阵元素会随坐标旋转而变,特征值却不变,这才是地形的客观属性。

为何常见:初学者习惯“一个元素对应一个含义”的直觉,矩阵的耦合性被忽略,直到发现换坐标系后元素全变才困惑。

误区矩阵每个元素都大于零,那它肯定是正定的吧?勘测表里全是正数,地形怎么着也是全向上的。

正解正定的定义是“对所有非零向量 $v$,都有 $v^T H v > 0$”,等价于特征值全正,与元素是否为正无关。例如 $\begin{bmatrix} 1 & 3 \\ 3 & 1 \end{bmatrix}$ 所有元素都是正数,但特征值为 $4$ 和 $-2$,一正一负,其实是不定矩阵。反过来,$\begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}$ 元素全正且特征值 $3,1$ 才是正定。

为何常见:把矩阵的“元素符号”和“二次型符号”混为一谈,忽略了交叉项 $2v_1v_2$ 可能把整体拖成负值。

误区条件数上万,那这个函数的值一定也很大,地形一定很高耸吧?

正解条件数是最大曲率与最小曲率的比值,描述的是各个方向弯曲程度的悬殊差异,与函数值的绝对大小毫无关系。一个值域只有 $[-1,1]$ 的平坦小山谷,若一个方向弯度 $10^{-6}$、另一方向 $10^{-2}$,条件数照样上万。它衡量的是“地形被拉得多扁”,而不是“地形有多高”。

为何常见:“大数”的直觉容易让人把比率的大小误解为绝对量的大小,忽略了条件数本质是除法运算的结果。

误区鞍点是二维马鞍的特例,深度学习里损失函数维度太高,不太会遇到这种东西。

正解恰恰相反,高维空间中鞍点极度常见。在 $n$ 维空间中,一个驻点的 $n$ 个特征值里有正有负就是鞍点——而随机行走中,$n$ 个特征值恰好全部同号的概率只有 $2/2^n$,维度越高越趋近于零。也就是说,高维损失曲面上几乎处处是鞍点,极小值点反而是稀有物种。这正是优化理论中“鞍点问题比局部极小值更棘手”的原因。

为何常见:人脑只能想象三维马鞍,自然把鞍点当作罕见特例;而高维几何的“体积集中在表面”反直觉特性,让真实情况与直觉完全相反。

面试题

Q1. 海森矩阵中位置 $(1,2)$ 的元素是下列哪一项?

单选题 · easy

  • A.沿x方向的二阶偏导 f_xx
  • B.混合偏导 ∂²f/∂x∂y← 正确答案
  • C.沿y方向的二阶偏导 f_yy
  • D.一阶梯度分量 ∂f/∂x

答案:B。海森矩阵第 $i$ 行第 $j$ 列是 $\partial^2 f/\partial x_i \partial x_j$,因此 $(1,2)$ 位置是 $\partial^2 f/\partial x \partial y$,即 $f_{xy}$。$f_{xx}$ 在 $(1,1)$,$f_{yy}$ 在 $(2,2)$,梯度分量是向量而不是矩阵元素。

Q2. 下列哪个条件能严格保证驻点是局部极小值?

单选题 · mid

  • A.一阶梯度方向为零
  • B.一阶梯度为零且f_xx为正
  • C.一阶梯度为零且海森正定← 正确答案
  • D.一阶梯度为零且行列式正

答案:C。梯度为零只说明是驻点,还需要海森矩阵正定(特征值全正)才能保证沿任何方向都是上弯的碗形。只检查 $f_{xx}>0$ 忽略了 $x$ 与 $y$ 的耦合;行列式为正时两个特征值同号,但可能同负(那是极大值),所以行列式正并不够。

Q3. 矩阵 $H=\begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}$ 的特征值和定性分别是?

单选题 · mid

  • A.特征值为 3 和 1,矩阵正定← 正确答案
  • B.特征值为 2 和 2,矩阵正定
  • C.特征值为 -1 和 3,矩阵不定
  • D.特征值为 1 和 0,矩阵半正定

答案:A。$\det(H-\lambda I)=(2-\lambda)^2-1=0$,解得 $\lambda=3,1$。两个特征值都大于零,所以是正定矩阵,对应碗形谷底。选项 B 的行列式与迹不匹配,C 和 D 的乘积也不是 $3$。

Q4. 函数 $f(x,y)=x^2-4y^2$ 在原点处属于哪种地形?

单选题 · mid

  • A.正定碗形谷底
  • B.负定山形峰顶
  • C.不定马鞍隘口← 正确答案
  • D.半定平缓走廊

答案:C。海森矩阵为 $\mathrm{diag}(2,-8)$,特征值为 $2$ 和 $-8$,一正一负异号,因此是不定矩阵,原地形为马鞍隘口:沿 $x$ 方向看是谷底,沿 $y$ 方向看是峰顶。梯度在原点为零,但它既非极小也非极大。

Q5. 海森矩阵出现某个特征值为零意味着什么?

单选题 · easy

  • A.该方向曲率为零← 正确答案
  • B.该方向曲率为无穷大
  • C.该方向曲率为负值
  • D.该方向曲率为正值

答案:A。特征值直接对应沿特征向量方向的曲率,特征值为零就是该方向上没有弯曲,地形呈现“平缓走廊”式的半定状态。此时仅靠二阶信息无法判断该方向是否极小,需要考察更高阶导数。

Q6. 用顺序主子式判定 $2\times2$ 海森矩阵正定的规则是?

单选题 · hard

  • A.所有一阶主子式均大于零
  • B.一阶二阶主子式都必须大于零← 正确答案
  • C.只需二阶主子式大于零即可
  • D.所有主子式均不得为零

答案:B。顺序主子式判定正定要求所有顺序主子式都大于零:$\Delta_1 = f_{xx} > 0$ 且 $\Delta_2 = \det(H) > 0$。只查一阶主子式等于只看 $x$ 方向;只查二阶主子式时两个特征值可能同负(负定也满足行列式为正)。B 才是完整条件。

Q7. 关于鞍点,下列说法正确的有哪些?

多选题 · mid

  • A.梯度为零但非极值点← 正确答案
  • B.特征值符号存在异号← 正确答案
  • C.行列式必定小于零← 正确答案
  • D.它一定是全局最优点

答案:ABC。鞍点是梯度为零、特征值异号的驻点,因此 A 和 B 正确;$\det(H)$ 等于特征值之积,异号乘积必为负,C 也正确。D 明显错误——鞍点连局部极值都不是,更谈不上全局最优。这个组合考察鞍点的完整判定链。

Q8. 为什么特征值差异大时梯度下降容易震荡?

单选题 · hard

  • A.单一学习率难以适配所有方向← 正确答案
  • B.函数值计算出现复数
  • C.梯度方向被错误估计
  • D.海森矩阵变得不可逆

答案:A。条件数大意味着各方向曲率悬殊,固定学习率朝曲率大的方向走就过冲反弹、朝曲率小的方向走就龟速前进,形成锯齿形震荡。这不是数值误差或矩阵可逆性的问题,而是单一标量步长无法同时满足不同方向步长上限的几何矛盾。

Q9. 条件数极大时,牛顿法相比梯度下降的主要优势是?

单选题 · hard

  • A.用海森逆阵归一化各方向← 正确答案
  • B.完全不需要计算梯度
  • C.可以直接跳过鞍点
  • D.不依赖二阶导数信息

答案:A。牛顿法用 $H^{-1}\nabla f$ 作为更新方向,等效于把椭圆等高线“压”回圆形,使各方向按自身曲率缩放步长,从而消除条件数带来的震荡。它仍然需要梯度,也可能被鞍点吸引,且必须依赖二阶信息,所以其余选项都不成立。

Q10. 下列哪些是海森矩阵的正确性质?

多选题 · easy

  • A.它是一个对称方阵← 正确答案
  • B.特征值反映各方向曲率← 正确答案
  • C.特征向量指向曲率主轴← 正确答案
  • D.正定时函数值取到最大

答案:ABC。由混合偏导相等可知 $H^T=H$,A 正确;特征值即沿特征向量方向的曲率,特征向量就是曲率主轴方向,B、C 正确。D 说反了——正定对应的是局部极小值(碗底最低),而不是最大值。