ARTICLE

鞍点

鞍点 (Saddle Point) 鞍点 (Saddle Point) 在多变量微积分和最优化理论中,是一个函数的定义域内的一个点,该点是驻点(或称临界点),但不是局部极值(即非局部最大值或局部最小值)。鞍点的名称来源于其最典型的几何形状,如同马鞍一样:从一个方向看,该点是曲线的最低点;而从另一个垂直方向看,该点却是曲线的最高点。 直观理解:马鞍的形状 为了

浏览 53 更新 2025-10-26

鞍点 (Saddle Point)

鞍点 (Saddle Point) 在多变量微积分最优化理论中,是一个函数的定义域内的一个点,该点是驻点(或称临界点),但不是局部极值(即非局部最大值局部最小值)。鞍点的名称来源于其最典型的几何形状,如同马鞍一样:从一个方向看,该点是曲线的最低点;而从另一个垂直方向看,该点却是曲线的最高点。

直观理解:马鞍的形状

为了建立对鞍点的直观理解,我们可以想象一个马鞍面。

  • 如果你坐在马鞍上,沿着马的脊背方向(从马头到马尾)观察,你所在的位置是最低点。
  • 同时,如果你沿着横跨马背的方向(从左腿到右腿)观察,你所在的位置是最高点。

这个既是最低点又是最高点的特殊位置,就是鞍点。在三维坐标系中,一个函数 z=f(x,y)z = f(x, y) 的鞍点 (x0,y0)(x_0, y_0) 在其图形上的表现正是如此:在包含该点的某个平面(例如,y=y0y=y_0)上,函数曲线在该点取得局部最小值;而在另一个与之垂直的平面(例如,x=x0x=x_0)上,函数曲线在该点取得局部最大值。

一个典型的产生鞍点的函数是双曲抛物面,例如 f(x,y)=x2y2f(x, y) = x^2 - y^2f(x,y)=xyf(x, y) = xy。它们的图形在原点 (0,0)(0,0) 处都呈现出经典的马鞍形状。更一般地,任何形如 f(x,y)=ax2+by2f(x,y) = ax^2 + by^2(其中 aabb 异号)的二次型函数,其原点都是一个鞍点。

数学定义与判定

从数学上讲,一个鞍点必须满足特定的导数条件。对于一个具有二阶连续偏导数的二元函数 f(x,y)f(x, y),我们可以通过以下步骤来识别鞍点。

一阶条件:寻找驻点

首先,鞍点必须是一个驻点 (Stationary Point) 或临界点 (Critical Point)。这意味着函数在该点的一阶偏导数都为零。换言之,函数的梯度 (Gradient) 在该点为零向量。

f(x0,y0)=(fx(x0,y0)fy(x0,y0))=(00)\nabla f(x_0, y_0) = \begin{pmatrix} \frac{\partial f}{\partial x}(x_0, y_0) \\ \frac{\partial f}{\partial y}(x_0, y_0) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix}

这个条件表明,函数在这一点的"瞬时变化率"为零,其切平面是水平的。这是该点成为局部最大值、局部最小值或鞍点的必要条件。

二阶条件:二阶偏导数检验

为了区分驻点是最大值、最小值还是鞍点,我们需要使用二阶偏导数检验 (Second Partial Derivative Test)。这需要计算函数的Hessian矩阵 (Hessian Matrix) 在该驻点的行列式。Hessian矩阵是一个由二阶偏导数构成的方阵:

Hf(x,y)=(fxx(x,y)fxy(x,y)fyx(x,y)fyy(x,y))H_f(x, y) = \begin{pmatrix} f_{xx}(x, y) & f_{xy}(x, y) \\ f_{yx}(x, y) & f_{yy}(x, y) \end{pmatrix}

其中 fxx=2fx2f_{xx} = \frac{\partial^2 f}{\partial x^2}fxy=2fyxf_{xy} = \frac{\partial^2 f}{\partial y \partial x},以此类推。根据克莱罗定理,如果二阶偏导数是连续的,则 fxy=fyxf_{xy} = f_{yx}

我们定义判别式 DD (Discriminant) 为Hessian矩阵在驻点 (x0,y0)(x_0, y_0) 处的行列式:

D(x0,y0)=det(Hf(x0,y0))=fxx(x0,y0)fyy(x0,y0)[fxy(x0,y0)]2D(x_0, y_0) = \det(H_f(x_0, y_0)) = f_{xx}(x_0, y_0) f_{yy}(x_0, y_0) - [f_{xy}(x_0, y_0)]^2

检验规则如下:

  • 如果 D>0D > 0fxx(x0,y0)>0f_{xx}(x_0, y_0) > 0,则 (x0,y0)(x_0, y_0) 是一个局部最小值点。
  • 如果 D>0D > 0fxx(x0,y0)<0f_{xx}(x_0, y_0) < 0,则 (x0,y0)(x_0, y_0) 是一个局部最大值点。
  • 如果 D<0D < 0,则 (x0,y0)(x_0, y_0) 是一个鞍点
  • 如果 D=0D = 0,则该检验无法得出结论,需要使用更高阶的检验或其他方法来判断。

鞍点的核心特征在于 D<0D < 0。这个条件意味着 fxxf_{xx}fyyf_{yy} 异号(当 fxyf_{xy} 较小时),这对应了函数在两个主轴方向上具有相反的曲率——一个方向向上弯曲(凸),另一个方向向下弯曲(凹),从而形成马鞍形状。从线性代数的角度来看,D<0D < 0 意味着Hessian矩阵是一个不定矩阵 (Indefinite Matrix),即它同时拥有正的特征值和负的特征值。对于 nn 元函数,若Hessian矩阵的特征值中既有正数也有负数,该驻点即为鞍点。

示例分析

让我们通过一个具体的例子来识别鞍点。考虑函数:

f(x,y)=x3+y33xyf(x, y) = x^3 + y^3 - 3xy

第一步:求驻点

计算一阶偏导数并令其为零:

fx=fx=3x23y=0    y=x2(1)f_x = \frac{\partial f}{\partial x} = 3x^2 - 3y = 0 \implies y = x^2 \quad \text{(1)}
fy=fy=3y23x=0    x=y2(2)f_y = \frac{\partial f}{\partial y} = 3y^2 - 3x = 0 \implies x = y^2 \quad \text{(2)}

将 (1) 代入 (2):

x=(x2)2=x4x = (x^2)^2 = x^4
x4x=0    x(x31)=0x^4 - x = 0 \implies x(x^3 - 1) = 0

解得 x=0x=0x=1x=1

  • x=0x=0 时,由 (1) 得 y=0y=0。所以一个驻点是 (0,0)(0, 0)
  • x=1x=1 时,由 (1) 得 y=1y=1。所以另一个驻点是 (1,1)(1, 1)

我们找到了两个驻点:(0,0)(0, 0)(1,1)(1, 1)

第二步:进行二阶偏导数检验

计算二阶偏导数:

fxx=6x,fyy=6y,fxy=3f_{xx} = 6x,\quad f_{yy} = 6y,\quad f_{xy} = -3

计算判别式 D(x,y)=fxxfyy(fxy)2=(6x)(6y)(3)2=36xy9D(x, y) = f_{xx}f_{yy} - (f_{xy})^2 = (6x)(6y) - (-3)^2 = 36xy - 9

现在对每个驻点进行检验:

  • 对于驻点 (0,0)(0, 0) \[ D(0, 0) = 36(0)(0) - 9 = -9 \] 由于 D(0,0)<0D(0, 0) < 0,根据检验规则,点 (0,0)(0, 0) 是一个鞍点
  • 对于驻点 (1,1)(1, 1) \[ D(1, 1) = 36(1)(1) - 9 = 27 \] 由于 D(1,1)>0D(1, 1) > 0,我们还需要看 fxxf_{xx} 的符号。 \[ f_{xx}(1, 1) = 6(1) = 6 > 0 \] 因此,点 (1,1)(1, 1) 是一个局部最小值

应用与重要性

鞍点的概念在多个领域都至关重要:

最优化理论机器学习

在训练复杂的神经网络等模型时,优化的目标是找到损失函数的最小值。损失函数的曲面通常是高维且非凸的,充满了大量的鞍点。传统的梯度下降算法在鞍点附近会因为梯度接近于零而大大减慢速度,甚至停滞不前,难以逃逸。这被称为"鞍点问题"。高维空间中,鞍点的数量远超局部极小点——事实上,对于高维非凸损失函数,几乎所有的临界点都是鞍点而非局部极小值。这一发现来自随机矩阵理论和统计物理的分析成果,深刻影响了深度学习优化算法的设计思路。因此,现代优化算法,如Adam优化器或使用二阶信息的方法(如牛顿法),被设计用来更有效地识别和越过鞍点。例如,动量方法通过累积历史梯度方向,可帮助算法在鞍点附近保持前进动力;而自然梯度下降等二阶方法则能够直接感知曲率信息,区分极小点和鞍点。

博弈论

在二人零和博弈中,鞍点代表了纳什均衡 (Nash Equilibrium)。假设一个支付矩阵 AA,行玩家希望最大化其收益,而列玩家希望最小化行玩家的收益(即最小化自己的损失)。这个系统的解是一个极大极小值 (Maximin) 和极小极大值 (Minimax) 相等的地方,这个点在支付函数的曲面上正是一个鞍点。它代表了一个稳定的策略组合,任何一方单方面偏离该策略都不会获得更好的结果。冯·诺伊曼的极小极大定理(Minimax Theorem)正是博弈论的基础定理,其数学本质即为支付函数鞍点的存在性定理。

经济学与物理学

在涉及多个相互制约变量的系统中,如经济均衡模型或物理学中的势能面,鞍点代表了一种不稳定的平衡点。系统在这一点可以暂时保持静止,但任何微小的扰动都会使其沿着"下坡"方向迅速离开这个平衡位置。这对于分析系统的稳定性至关重要。在物理学中,鞍点是化学反应路径上的过渡态——反应物和产物之间的势能面鞍点对应活化络合物,其能量高低决定了反应速率。

高维空间中的鞍点

鞍点的概念不局限于二元函数。对于 nn 维空间中的函数 f(x1,x2,,xn)f(x_1, x_2, \ldots, x_n),如果一个驻点(梯度为零)的Hessian矩阵既有正特征值也有负特征值(即为不定矩阵),那么这个点就是鞍点。这意味着函数在该点附近,沿着某些方向(对应负特征值的特征向量)表现为局部最大值,而沿着另一些方向(对应正特征值的特征向量)表现为局部最小值。在机器学习的损失景观中,这些具有不同曲率方向的维度可以高达数百万甚至数十亿,使得高维鞍点的逃逸成为一个极具挑战性的数值计算问题。