925 字
5 分钟
03 驻点与局部极值:导数为零说明什么

复习提纲,对应 M2.4 的驻点与局部极值;不是掌握记录,也不是练习答案。正式 chain rule 与 gradient descent 尚未讲。

1. 本课位置#

只在一元函数、可导点的范围内讨论:导数为零的点和局部极值是什么关系。结论不能直接套到多变量,也不处理不可导点。

2. 术语与定义#

  • stationary point(驻点):定义域内点 a,且 f'(a) = 0。
  • local minimum(局部最小):若存在 δ > 0,使定义域内所有满足 |x - a| < δ 的 x 都有 f(x) >= f(a),则 a 是 local minimum。
  • local maximum(局部最大):同样条件下 f(x) <= f(a)。strict 版本要求 0 < |x - a| < δ,即排除 x = a 自身;只把 >= 换成 > 且仍包含中心点,会在 x = a 处出现 f(a) > f(a) 的矛盾。本课不强制 strict。

f'(a) = 0 的含义是局部变化率为 0、切线水平。它不表示函数在 a 附近是常数,也不直接说明 a 是最小还是最大。

3. 三个函数在 0 的差商#

function f(h) [f(h)-f(0)]/h, h!=0 极限 h->0 0 处身份
A(t)=t^2 h^2 h 0 local min
B(t)=-t^2 -h^2 -h 0 local max
C(t)=t^3 h^3 h^2 0 都不是

三者导数在 0 都为 0,身份却不同,所以 f'(0) = 0 不能单独判定极值。反过来,可导 + 定义域内点 + 局部极值 => f'(a) = 0 成立;逆命题不成立。

不可导的尖角与定义域端点不在本课结论范围内:它们可能取到极值,但不能用 f' = 0 来分析。

4. 平均变化率#

Δf/Δt = (f(t0 + Δt) - f(t0)) / Δt, Δt != 0

分子分母都是变化量,都按“新值减旧值”计算,不是 f/Δt。以 C(t) = t^3、t0 = 0 向左走 Δt = -0.1 为例:Δf = -0.001,差商 (-0.001)/(-0.1) = +0.01。两个负数相除得正,所以只看 Δf < 0 不能断定差商为负,还要看 Δt 的符号。

5. 导数为零不等于全局最小:一个反例#

F(t) = (t^2 - 1)^2 >= 0,且 F(0) = 1、F(±0.1) = 0.9801。存在更小的函数值,所以 0 不是全局最小。教师补充的判定:

F(h) - F(0) = h^2 (h^2 - 2) < 0, 0 < |h| < 1

邻域内 F(h) < F(0),故 0 是 strict local maximum,不是 minimum。函数值非负、导数又为 0,仍可能是局部最大。

就本例而言,F(0) 与 F(±0.1) 的有限采样足以反驳“0 是全局最小”,但不能只靠这两个点证明 0 是局部最大;局部结论需要邻域内任意接近的 h 都满足的不等式,本课已由上面的因式分解给出。

6. 导数为零与 MSE 为零#

  • 有限实数、精确算术、非空 batch 下,MSE = 0 当且仅当所有 residual 都为 0;而驻点只保证 dMSE/db = 0,不保证预测完美,它可能对应非零的极小值。

7. 速查#

  • 驻点 f'(a) = 0:局部变化率为 0,切线水平,不等于附近常数。
  • 可导内点取局部极值 => f'(a) = 0;反过来不成立。
  • 差商是 Δf/Δt,分子分母都按“新减旧”计算。
  • 有限点比较能反驳某个全局断言,不足以证明局部结论;局部结论要靠邻域不等式。
  • 导数 0 与 MSE 0 是两件事。

8. 自测#

  1. [f(0.2) - f(0)] / 0.2 与 f(0.2) / 0.2 差在哪?
  2. 可导点 f'(a) = 0 能否推出 a 是局部最小?举一个反例。
  3. F(t) = (t^2 - 1)^2 在 t = 0 为什么不是全局最小?

来源:本课数学与反例为教师补充,未新增外部微积分来源。

上一课:02 bias 与损失。

本文于2026-10-26整理公开,日期为导入日期。