找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5093

积分

0

好友

656

主题
发表于 3 小时前 | 查看: 4| 回复: 0

多元微积分局部极值:局部最小值、局部最大值与鞍点分类示意图

这张图讲的是多元微积分里一个非常核心的主题:局部极值(Local Extrema)。它要解决的问题可以用一句话概括:

对曲面 $z = f(x, y)$,怎样判断某个点附近到底是“山谷底”“山顶”,还是“山鞍口”?

图中把整个过程分成了三部分:先认识三种几何形状,再用梯度和 Hessian 矩阵判断,最后说明这些概念有什么实际用途。


一、先理解什么叫“局部”

这里最重要的词其实不是“最大”或“最小”,而是:

局部 Local。

假设你站在一片山区的某个点。

如果只看你周围很小的一圈:

  • 周围都比你高,你就在“局部谷底”;
  • 周围都比你低,你就在“局部山顶”;
  • 有的方向上坡、有的方向下坡,你就在“鞍点”。

所以局部最小值并不一定是整个世界最低点。

例如一片山区可能有很多山谷:

它们都可能是局部最小值,但只有其中最低的那个才可能是全局最小值。


二、图上方:三种最重要的形状

1. Local Minimum:局部最小值

左边画的是一个碗:

绿色小球位于碗底。

从这个点向任何足够小的方向走,都会往上。

数学上,如果点 $(x_0, y_0)$ 附近都有:

$$f(x, y) \geq f(x_0, y_0)$$

那么 $(x_0, y_0)$ 是局部最小点。

可以把它想象成:

小球掉进碗底以后,会停在那里。

最典型的例子就是:

$$f(x, y) = x^2 + y^2$$

在 $(0, 0)$ 处:

$$f(0, 0) = 0$$

而其他附近点都有:

$$f(x, y) > 0$$

因此原点是局部最小点。

它的图形就是标准的“碗”。


2. Local Maximum:局部最大值

中间画的是一座山峰。

红球位于山顶。

从这个点向任何方向走,都会下降。

数学上就是附近满足:

$$f(x, y) \leq f(x_0, y_0)$$

例如:

$$f(x, y) = -x^2 - y^2$$

在原点:

$$f(0, 0) = 0$$

而附近其他点:

$$f(x, y) < 0$$

所以 $(0, 0)$ 是局部最大点。

可以把它想象成:

把球放在山顶上,稍微一碰就会滚下来。


3. Saddle Point:鞍点

右边这幅图最值得理解。

它长得像马鞍。

站在紫色点上:

沿一个方向看,它像山谷:

$$f(x, 0) = x^2$$

但沿另一个方向看,它却像山顶:

$$f(0, y) = -y^2$$

所以它既不是局部最大,也不是局部最小。

最经典的例子:

$$f(x, y) = x^2 - y^2$$

看看原点附近。

沿 $x$ 轴:

$$f(x, 0) = x^2$$

得到 $z = x^2$,这是一条开口向上的抛物线:

原点像最低点。

但沿 $y$ 轴:

$$f(0, y) = -y^2$$

得到 $z = -y^2$,这是开口向下:

原点又像最高点。

所以:

$$f(x, y) = x^2 - y^2$$

既像谷底,又像山顶。

因此称为:

鞍点(Saddle Point)。

这其实就是“不同方向的弯曲性质不同”。


三、怎样找到这些特殊点?

图片中间给出两个步骤:

一阶导数检验(梯度) 和 二阶导数检验(Hessian 矩阵)。

这里虽然图上像是两个独立测试,其实它们是一套连续流程。

可以概括成:

先找平地,再看弯曲方向。


四、第一步:梯度为什么要等于 0?

图片写:

$$\nabla f(x, y) = (f_x, f_y) = 0$$

也就是:

$$\nabla f = \vec{0}$$

梯度 $\nabla f$ 表示函数增长最快的方向。

如果梯度不为零,比如:

$$\nabla f(x_0, y_0) \neq \vec{0}$$

说明存在明显的上坡方向。

那你显然不可能已经站在光滑山顶或谷底。

用一维函数类比最容易理解

一维函数:

$$y = f(x)$$

在山顶或谷底通常有:

$$f'(x) = 0$$

例如:

$$f(x) = x^2$$

有:

$$f'(x) = 2x$$

在原点:

$$f'(0) = 0$$

二维函数只是把这个思想推广:

$$\nabla f(x, y) = (f_x, f_y) = (0, 0)$$

即:

$$f_x = 0, \quad f_y = 0$$

这种点称为:

临界点 / 驻点(critical point / stationary point)。


五、但为什么 $\nabla f = 0$ 还不够?

这是本图最重要的逻辑。

因为:

$$\nabla f = 0$$

只能告诉我们:

“地面在这里暂时是平的。”

却不能告诉我们它是:

  • 谷底,
  • 山顶,
  • 还是鞍点。

看看三个经典函数:

$$f_1(x, y) = x^2 + y^2$$

$$f_2(x, y) = -x^2 - y^2$$

$$f_3(x, y) = x^2 - y^2$$

它们在原点全部满足:

$$\nabla f(0, 0) = \vec{0}$$

但三个原点分别是:

  • 局部最小
  • 局部最大
  • 鞍点

所以还必须研究:

曲面在这个点附近到底怎样弯曲?

这就是二阶导数的任务。


六、第二步:Hessian 矩阵

图片中间写的是:

$$H = \begin{bmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{bmatrix}$$

这个矩阵称为:

Hessian 矩阵(海森矩阵)。

如果梯度负责研究:

“哪里是平的?”

那么 Hessian 负责研究:

“平的地方是怎样弯的?”

因此可以记:

$$\nabla f = 0 \quad \Rightarrow \quad \text{找到候选点}$$

$$H \quad \Rightarrow \quad \text{判断候选点的类型}$$


七、Hessian 为什么能判断山峰、谷底、鞍点?

关键是 Hessian 的特征值。

图片右侧给出了最核心的分类法。

设 Hessian 的特征值是 $\lambda_1, \lambda_2$。

情况 1:所有特征值都大于 0

如果:

$$\lambda_1 > 0, \quad \lambda_2 > 0$$

说明所有主要方向都向上弯。

想象:

$$\text{碗底}$$

无论朝哪个方向切,都倾向于像碗底。

因此:

$$\text{局部最小值(Valley)}$$

情况 2:所有特征值都小于 0

如果:

$$\lambda_1 < 0, \quad \lambda_2 < 0$$

说明所有主要方向都向下弯。

类似:

$$\text{山顶}$$

因此是:

$$\text{局部最大值(Peak)}$$

情况 3:特征值一正一负

如果:

$$\lambda_1 > 0, \quad \lambda_2 < 0$$

说明一个方向:

$$\text{向上弯}$$

而另一个方向:

$$\text{向下弯}$$

这正是马鞍形。

所以:

$$\text{鞍点(Saddle Point)}$$


八、用三个最简单函数验证一下

这三个函数几乎可以作为整张图的“万能记忆模板”。

函数 Hessian 特征值 类型
$f(x,y) = x^2 + y^2$ $\begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}$ $2, 2$ 局部最小
$f(x,y) = -x^2 - y^2$ $\begin{bmatrix} -2 & 0 \\ 0 & -2 \end{bmatrix}$ $-2, -2$ 局部最大
$f(x,y) = x^2 - y^2$ $\begin{bmatrix} 2 & 0 \\ 0 & -2 \end{bmatrix}$ $2, -2$ 鞍点

因此最值得背下来的其实就是:

$$x^2 + y^2 \to \text{局部最小}$$

$$-x^2 - y^2 \to \text{局部最大}$$

$$x^2 - y^2 \to \text{鞍点}$$

非常直观。


九、Hessian 的特征值究竟代表什么?

可以把 Hessian 想象成一个:

“曲面弯曲探测器”。

它会找出一些最有代表性的方向。

特征向量告诉我们:

$$\text{弯曲的方向}$$

特征值告诉我们:

$$\text{该方向弯曲的程度和正负}$$

所以:

$$\lambda_i > 0$$

表示该方向大致:

$$\text{向上弯}$$

而:

$$\lambda_i < 0$$

表示:

$$\text{向下弯}$$

因此鞍点最本质的特征就是:

$$\text{一个方向向上弯,另一个方向向下弯}$$


十、其实二维时还有一个更常用的判别公式

对于:

$$z = f(x, y)$$

通常定义:

$$D = f_{xx} \cdot f_{yy} - (f_{xy})^2$$

也就是 Hessian 的行列式:

$$D = \det(H)$$

在临界点处:

当 $D > 0$ 且 $f_{xx} > 0$ 时,是局部最小值。

当 $D > 0$ 且 $f_{xx} < 0$ 时,是局部最大值。

当 $D < 0$ 时,是鞍点。

所以二维题里经常直接记:

$$D > 0, \, f_{xx} > 0 \Rightarrow \text{局部最小}$$

$$D > 0, \, f_{xx} < 0 \Rightarrow \text{局部最大}$$

$D > 0$ 说明两个方向“同类”。

再看 $f_{xx}$:

$$f_{xx} > 0 \Rightarrow \text{向上弯} \Rightarrow \text{最小}$$

$$f_{xx} < 0 \Rightarrow \text{向下弯} \Rightarrow \text{最大}$$

而 $D < 0$ 说明两个方向“异类”:

$$\text{一个向上弯,一个向下弯}$$

所以必然是鞍点。


十一、有一个重要情况,图片没有特别强调

如果出现:

$$D = 0$$

或者 Hessian 有零特征值,那么二阶判别法可能失效。

这时不能马上说它是最大、最小还是鞍点。

例如:

$$f(x, y) = x^4 + y^4$$

在原点:

$$\nabla f(0, 0) = \vec{0}$$

但 Hessian 在原点是零矩阵:

$$H(0, 0) = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}$$

特征值都是 0。

二阶判别法给不出答案。

但因为:

$$f(x, y) = x^4 + y^4 \geq 0 = f(0, 0)$$

所以原点实际上仍然是局部最小值。

因此要记住:

Hessian 判别法很强,但遇到零特征值时可能“信息不足”。


十二、整套判断流程应该怎样理解?

一道实际题通常按下面的逻辑走:

先求:

$$\nabla f = (f_x, f_y)$$

解:

$$f_x = 0, \quad f_y = 0$$

找到所有临界点:

$$(x_0, y_0)$$

然后计算 Hessian:

$$H = \begin{bmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{bmatrix}$$

最后根据 Hessian 的特征值或:

$$D = f_{xx} f_{yy} - f_{xy}^2$$

进行分类。

整个思想就是:

$$\text{先找平的地方,再看怎么弯}$$


十三、图片下半部分:这些东西有什么用?

图中给了三个非常典型的领域。

机器学习

训练神经网络,本质上经常是在最小化一个损失函数:

$$L(\theta)$$

参数数量可能达到:

$$\text{百万、十亿甚至更多}$$

梯度下降做的事情可以形象地理解成:

在高维山地里不断往下坡走。

数学上:

$$\theta_{t+1} = \theta_t - \eta \cdot \nabla L(\theta_t)$$

其中 $\eta$ 是学习率。

目标是找到损失较低的位置。

所以图中写:

Gradient Descent is like descending a mountain.

这个比喻非常准确。


物理学:能量稳定性

物理系统通常倾向于低能状态。

比如一个球放在碗里:

如果稍微推一下,它还会滚回来。

因此局部能量最小值往往对应:

$$\text{稳定状态(Stable)}$$

而球放在山顶:

哪怕轻微扰动也会滚走。

所以局部最大值通常对应:

$$\text{不稳定状态(Unstable)}$$

这就是为什么 Hessian 在物理里也特别重要。


经济学与商业优化

假设利润取决于多个因素:

$$P(x, y, z, \ldots)$$

比如:

  • 价格
  • 产量
  • 营销投入
  • 人力成本

企业可能希望:

$$\text{利润最大化}$$

于是就会寻找:

$$\nabla P = 0$$

再研究 Hessian,判断得到的是:

$$\text{局部最大利润}$$

还是其他类型的临界点。

成本问题则往往是:

$$\text{最小化 } C(x, y, z)$$


十四、这张图真正想让你建立的“地形直觉”

多元微积分里的函数:

$$z = f(x, y)$$

不要只把它看成一串公式。

最好把它想成:

一张三维地形图。

那么:

$$z \text{ 就是海拔}$$

$$\nabla f \text{ 就是:}$$

最陡的上坡方向。

$$\nabla f = 0 \text{ 表示:}$$

这里暂时没有明显坡度。

Hessian 则表示:

地面接下来怎样弯。

于是三个重要点就很好理解:

$$\text{谷底} = \text{所有方向都往上弯}$$

$$\text{山顶} = \text{所有方向都往下弯}$$

$$\text{鞍点} = \text{一个方向上弯,一个方向下弯}$$


十五、尤其要区分三个概念

这三个词很容易混淆:

$$\text{临界点(Critical Point)}$$

只是说明:

$$\nabla f = 0$$

它可能是极值,也可能不是。

而:

$$\text{局部极值(Local Extremum)}$$

包括:

$$\text{局部最小} \quad \text{和} \quad \text{局部最大}$$

但:

$$\text{鞍点(Saddle Point)}$$

虽然常常也是临界点,却不是局部极值。

所以逻辑关系是:

$$\text{临界点} = \text{局部最小} \cup \text{局部最大} \cup \text{鞍点}$$

可以进一步分成:

$$\text{极值点} \quad \text{和} \quad \text{非极值点}$$


十六、最适合背诵的一张“脑内地图”

把整张图片压缩成四句话:

第一步:找平地。

解 $\nabla f = 0$

第二步:看弯曲。

计算 Hessian 矩阵

第三步:看 Hessian 特征值符号。

全正 → 谷底;全负 → 山顶;一正一负 → 鞍点

第四步:如果出现 0,二阶判别可能不够,需要进一步分析。

所以整张图最核心的思想其实只有一句:

$$\text{梯度为零告诉你“哪里平”}$$

$$\text{Hessian 告诉你“怎么弯”}$$

而“怎么弯”,最终决定这个临界点究竟是谷底、山顶还是鞍点。

在这个过程中,优化的思想贯穿始终:不论是在高维损失函数里寻找最小值,还是在物理系统中判断稳定性,本质上都是对“弯曲方向”的识别与利用。理解了这一点,局部极值就不再只是抽象的公式,而是一套可以映射到真实世界的分析工具。




上一篇:树莓派5双摄OCR读书机:12步打造开源语音合成阅读设备
下一篇:AI写简历被HR直接淘汰?从筛岗到谈薪的正确用法都在这
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-30 06:50 , Processed in 0.616948 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表