Skip to content

对应 note_9_subgradient.pdf。这一章从 smooth optimization 进入 nonsmooth convex optimization:函数不可微时,梯度被替换为次梯度;最优性条件从 f(x)=0 变成 0f(x);算法从 GD 变成投影次梯度法。

0. 一句话理解这一章

次梯度是不可微凸函数的“全局支撑斜率”;次梯度法每一步沿某个次梯度走,但因为方向不一定下降,所以收敛慢,通常只有 O(1/k),强凸时可到 O(1/k)

1. 知识地图

            不可微凸函数
              |x|, ||x||, max_i f_i(x), indicator/normal cone


            次梯度
              f(y) ≥ f(x)+g^T(y-x), ∀y
              ∂f(x)=所有次梯度的集合


            最优性条件
              x* 最优 ⇔ 0 ∈ ∂f(x*)
              nonsmooth KKT:0 ∈ ∂L_x


            投影次梯度法
              y_{k+1}=x_k-α_k g_k
              x_{k+1}=Π_X(y_{k+1})


            收敛率
              一般凸:O(1/√k)
              强凸:O(1/k)


            扩展
              Polyak step / alternating projections / mirror descent

2. 次梯度定义

向量 gfx 处的次梯度,若

f(y)f(x)+gT(yx),ydomf.

次微分:

f(x)={g: f(y)f(x)+gT(yx), y}.

几何理解:

  • f(x)+gT(yx)f 的全局仿射下界;
  • (g,1) 给出了 epi(f)(x,f(x)) 处的非垂直支撑超平面;
  • 可微凸函数时 f(x)={f(x)}

3. 常见次微分

3.1 绝对值

|x|={{1},x>0,[1,1],x=0,{1},x<0.

3.2 欧氏范数

x2={{x/x2},x0,{g:g21},x=0.

3.3 有限点态最大值

f(x)=maxi=1,,mfi(x),

fi 凸可微,则

f(x)=conv{fi(x):iI(x)},

其中 active set

I(x)={i:fi(x)=f(x)}.

这条是 piecewise linear / hinge loss / max-of-affine 问题的核心。

3.4 指示函数与 normal cone

闭凸集 C 的 indicator:

IC(x)={0,xC,+,xC.

其次微分是 normal cone:

IC(x)=NC(x)={g:gT(yx)0, yC}.

投影问题的最优性条件也会用到它。

4. 次微分运算法则

常用规则:

规则形式
非负数乘(αf)(x)=αf(x), α>0
加法(f1+f2)(x)=f1(x)+f2(x)(适当正则条件下)
仿射复合g(x)=f(Ax+b)g(x)=ATf(Ax+b)
最大值maxifi(x)=conviI(x)fi(x)

做题时不要每次回到定义硬推;优先识别“范数、最大值、indicator、仿射复合、加法”。

5. 不可微最优性条件

5.1 无约束

f 凸,则

xargminf0f(x).

这就是 f(x)=0 的 nonsmooth 版本。

5.2 约束问题

minf0(x)s.t.fi(x)0, i=1,,m,

其中 fi 凸且满足 Slater,则 KKT 写成:

fi(x)0,λi0,λifi(x)=0,0f0(x)+iλifi(x).

和 smooth KKT 的区别只有一处:梯度方程变成次微分包含式。

5.3 投影的最优性条件

投影

ΠC(x)=argminyC12yx2

满足

xΠC(x)NC(ΠC(x)).

等价于

(xΠC(x))T(zΠC(x))0,zC.

这也是投影非扩张性和投影次梯度法收敛分析的基础。

6. 投影次梯度法

问题:

minxXf(x),

其中 X 闭凸,f 凸但可能不可微。

算法:

yk+1=xkαkgk,gkf(xk),xk+1=ΠX(yk+1).

X=Rn,投影步省略。

步长策略

步长形式结论
常数步长αk=α只能收敛到一个误差邻域
常数步长长度αk=γ/|gk|控制每步移动长度
diminishingαk0, kαk=可收敛,典型 O(1/k)
Polyakαk=(f(xk)f)/|gk|2若知道 f,理论上更好

关键认知:次梯度方向不一定是下降方向,所以不能像 GD 那样期待 f(xk+1)f(xk)

7. 收敛分析核心

讲义假设:

  • f 凸,domf=Rn
  • f>,且存在最优解 x
  • gG, gf(x)
  • R=x1x

投影基本不等式:

ΠX(y)x2+yΠX(y)2yx2,xX.

次梯度法的主界:

fbestkfR2+i=1kαi2gi22i=1kαi.

其中

fbestk=mini=1,,kf(xi).

7.1 一般凸:O(1/k)

若取 αi=R/(Gi),可得

fbestkf=O(RGlogkk).

若用更精细的固定 horizon 步长,可得到

O(RGk).

7.2 强凸:O(1/k)

fμ-强凸,取

αs=2μ(s+1),

fbestkf2G2μ(k+1).

这比一般凸情形快,但仍比 smooth 强凸 GD 的线性收敛慢。

8. Polyak 步长与交替投影

Polyak 步长:

αk=f(xk)fgk2.

它直接最小化距离递推中的右侧:

xk+1x2xkx22αk(f(xk)f)+αk2gk2.

缺点:通常不知道 f

交替投影的联系:

若要找 xj=1mCj,可考虑

f(x)=maxjdj(x),dj(x)=dist(x,Cj).

对最远集合 Cj 的距离函数取次梯度,配 f=0 的 Polyak 步长,会得到

xk+1=PCj(xk).

这就是“每次投影到最远集合”的 alternating projections 版本。

9. Mirror descent(了解)

投影次梯度法可写成

xt+1=argminxX{12xxt2+αtgtTx}.

Mirror descent 把欧氏距离换成 Bregman distance:

Dh(y,x)=h(y)h(x)h(x)T(yx).

更新:

xt+1=argminxX{1αtDh(x,xt)+gtTx}.

在 simplex 上常用 negative entropy:

h(x)=ixilogxi,

对应的 Bregman distance 是 KL divergence。它在概率单纯形、在线学习、稀疏分布优化中比欧氏投影更自然。

10. 作业题型对照

作业/题型典型问法考点
次微分计算|x|x2maxi(aiTx+bi)、indicator 的 f直接套常见次微分和最大值规则
最优性条件证明某点最优或求 minimizer0f(x)
nonsmooth KKT含不可微目标/约束的凸问题把 stationarity 写成 0Lx
投影性质证明投影不等式或 normal cone 条件xΠC(x)NC(ΠC(x))
次梯度法收敛O(1/k)O(1/k)距离递推 + telescoping
Polyak 步长已知 f 时选步长代入距离递推并最小化右侧
Mirror descentsimplex / KL divergence识别 Bregman distance,不要强行欧氏投影
A11.1(a)f(x)=|Axb|2+|x|2,且 Ax0b=0,x00范数在 0 点的次微分 + 仿射复合 + 加法规则:|Axb|=AT{q:|q|1}
A11.1(b)f(x)=infy|Ayx| 的次微分把问题看成到 range(A) 距离;用 active set、||ATs=0
A11.2复合函数 f(x)=h(f1(x),,fm(x)) 的次梯度h 对每个分量单调不减,取 zhzi0,构造 g=izigi
A11.3Polyak 步长 + error boundαk=(f(xk)f)/|gk|2 代入距离递推;若 f(x)fμdist(x,X)|gk|L,得到线性距离收缩
A11.4非负约束二次规划的投影梯度 support identification投影到 R+n;利用收敛 xnx 和严格互补,证明非支撑坐标有限步归零并保持为零

11. 解题招式

招式 1:求次微分先拆结构

例如

f(x)=Axb1+λx2

先拆成:

  • Axb1=i|aiTxbi|:绝对值 + 仿射复合;
  • λx2:范数;
  • 最后用加法规则。

招式 2:证明最优只写包含式

不可微凸问题不要找 f=0,而是写:

0f(x).

如果有约束 xC,写成

0f(x)+NC(x).

招式 3:收敛证明固定模板

  1. 用投影非扩张性:xk+1x2xkαkgkx2.
  2. 展开平方。
  3. 用次梯度不等式:gkT(xkx)f(xk)f.
  4. 累加 telescoping。
  5. fbest 把加权和变成最好函数值。

12. 自检清单

  • [ ] 次梯度定义能不看书写出来吗?
  • [ ] |x|x2 在 0 点分别是什么?
  • [ ] x 如何用 active set 写?
  • [ ] maxifi(x) 为什么只看 active indices?
  • [ ] 仿射复合 AxbAT 是从哪里来的?
  • [ ] x 最优的条件是 0f(x),能用定义证明吗?
  • [ ] nonsmooth KKT 的 stationarity 怎么写?
  • [ ] 投影最优性条件和 normal cone 的关系能写出吗?
  • [ ] 次梯度法为什么不保证每步下降?
  • [ ] Polyak 步长在已知 f 时为什么自然?
  • [ ] error bound 如何把 Polyak 步长从次线性推到线性距离收缩?
  • [ ] O(1/k) 的主界能推出来吗?
  • [ ] 强凸次梯度为什么能到 O(1/k),但不是线性?

13. 常见陷阱

  1. 次梯度不是唯一的:不可微点通常是一整个集合。
  2. 次梯度方向不一定下降:这和梯度下降非常不同。
  3. f(x) 可能为空:尤其在 domain 边界或非闭情形,要注意假设。
  4. 最大值规则只取 active functions:非 active 的函数不参与当前次微分。
  5. 约束问题别忘 normal coneminxCf(x) 的条件是 0f(x)+NC(x)
  6. 常数步长不能保证精确收敛:通常只到误差邻域。
  7. Mirror descent 的 Dh 不是真正距离:一般不对称,也不满足三角不等式。

14. 接下来怎么学

次梯度法很通用但慢。下一章 10_近端梯度法 会利用 composite structure f=g+h:对 smooth 的 g 用梯度,对 nonsmooth 但 simple 的 h 用 prox,从而把速度提升回和梯度下降同阶。