次梯度可视化

Subdifferential Visualization - Understanding Subgradients

📐 次梯度定义 (Subdifferential Definition)

∂f(x) = {g ∈ ℝd : f(y) ≥ f(x) + ⟨g, y - x⟩ for all y ∈ X}

含义:向量 g 是点 x 处的次梯度,当且仅当过点 (x, f(x)) 且斜率为 g 的直线位于函数 f 的下方(或接触函数)

Meaning: Vector g is a subgradient at x if and only if the line through (x, f(x)) with slope g lies below (or touches) function f everywhere

🔵 可微点 (Differentiable Point)
🔴 不可微点 (Non-differentiable Point)
🔵 可微点 x = 1.00: ∂f(x) = {1.00} ✓ 单点(可微)
🔴 不可微点 x = 0.00: ∂f(x) = [-1.00, 1.00] ✓ 区间(7 个次梯度)
函数 f(x)
支撑线 (Supporting Line)
所有可能的支撑线
选择的点 x

✅ 可微点 (Differentiable)

  • 函数在该点光滑
  • 只有一条支撑线
  • ∂f(x) = {∇f(x)}(单元素集合)
  • 次梯度 = 梯度

⚠️ 不可微点 (Non-differentiable)

  • 函数在该点有"尖角"或"折点"
  • 多条支撑线
  • ∂f(x) 包含多个次梯度
  • 所有支撑线斜率的集合

💡 交互说明 (Instructions):

🎯 关键理解 (Key Understanding)

1. 支撑线的几何意义:

次梯度 g 对应一条过点 (x, f(x)) 的直线:y = f(x) + g(t - x)

这条线必须"支撑"整个函数,即对所有点都有:f(t) ≥ f(x) + g(t - x)

2. 为什么可微点只有一个次梯度?

在光滑点,函数的切线是唯一的支撑线,所以 ∂f(x) = {∇f(x)}

3. 为什么不可微点有多个次梯度?

在尖角或折点,有多条直线都可以"托住"函数曲线,这些直线的斜率构成次微分集合

4. 例子: