Skip to content

对应 note_10_pgm.pdf。这一章解决 composite optimization:目标 f(x)=g(x)+h(x),其中 g 光滑、h 凸但可能不可微。核心算法是 proximal gradient method (PGM):对 g 线性化,对 h 保留原样,再加一个二次 proximal 项。

0. 一句话理解这一章

近端梯度法 = 梯度下降 + prox。它比普通次梯度法快,因为没有把不可微项粗暴地用一个次梯度代替,而是把 h 的结构通过 proxh 精确保留下来。

1. 知识地图

            composite model
              min f(x)=g(x)+h(x)
              g smooth, h closed convex/simple


            proximal mapping
              prox_h(x)=argmin_u h(u)+1/2||u-x||²


            PGM update
              x+ = prox_{t h}(x-t∇g(x))


            gradient mapping
              G_t(x)=1/t (x-prox_{t h}(x-t∇g(x)))
              x+ = x-tG_t(x)


            convergence
              convex: O(1/k)
              strongly convex: linear in distance
              line search: same order with t_min
              nonconvex*: stationarity via G_t → 0

2. Composite model

本章考虑:

minxf(x)=g(x)+h(x),

其中:

  • g:凸、可微,g Lipschitz;
  • h:closed convex,可以不可微;
  • h 要“simple”:proxth 容易算。

典型例子:

问题g(x)h(x)
约束光滑优化光滑目标IC(x)
LASSO12|Axb|2λ|x|1
box constrained QP12xTAx+bTxI[0,1]n(x)
稀疏正则化loss1、group lasso 等

3. Proximal mapping

定义:

proxh(x)=argminu{h(u)+12ux2}.

带步长:

proxth(x)=argminu{h(u)+12tux2}.

常见 prox

hproxh(x)
0x
ICΠC(x)
λ|x|1soft-thresholding

Soft-thresholding:

[proxλ1(x)]i={xiλ,xiλ,0,|xi|λ,xi+λ,xiλ.

带步长 t 时阈值变成 tλ

4. PGM 更新

从 projected gradient 的模型出发:

xk+1=argminu{g(xk)+g(xk)T(uxk)+h(u)+12tkuxk2}.

等价写法:

xk+1=proxtkh(xktkg(xk)).

特殊情况:

  • h=0:PGM 退化为普通梯度下降;
  • h=IC:PGM 退化为 projected gradient;
  • h=λx1:PGM 变成 ISTA / soft-thresholding 迭代。

5. Gradient mapping

定义:

Gt(x)=1t(xproxth(xtg(x))).

于是

x+=proxth(xtg(x))=xtGt(x).

注意:Gt(x) 不是 f(x),也不一定是 f 的次梯度。但它扮演“站点残差”的角色:

Gt(x)=0xargmin(g+h).

并且

Gt(x)g(x)+h(xtGt(x)).

这条包含式是 PGM 收敛分析的入口。

6. 一步下降引理

gL-Lipschitz 且 0<t1/L,则

g(xtGt(x))g(x)tg(x)TGt(x)+t2Gt(x)2.

进一步可得对任意 z

f(xtGt(x))f(z)+Gt(x)T(xz)t2Gt(x)2m2xz2.

x+=xtGt(x),得到两个最常用结论:

f(x+)f(x)t2Gt(x)2,f(x+)f12t(xx2x+x2).

这和 GD 的收敛证明非常像,只是把 f 换成 Gt

7. 收敛率

7.1 固定步长 t=1/L

凸情形:

f(xk)f12ktx0x2.

O(1/k),和 smooth GD 同阶,明显好于普通次梯度法的 O(1/k)

7.2 强凸情形

gm-强凸,t=1/L,则距离有线性收敛:

xkx2(1mL)kx0x2.

注意讲义这里强调的是 distance to optimal set;函数值也可通过额外条件得到对应线性界。

如果不知道 L,从 t^ 开始回溯 tβt,直到

g(xtGt(x))g(x)tg(x)TGt(x)+t2Gt(x)2.

线搜索选出的步长满足

ttmin=min{t^,β/L}.

于是仍有

f(xk)f12ktminx0x2,

强凸时

xkx2(1mtmin)kx0x2.

8. Fast PGM / FISTA

基础 PGM 的函数值收敛率是 O(1/k)。A12 开始要求比较 basic PGM 与 fast proximal gradient method,也就是常见的 FISTA。对

minxF(x)=g(x)+h(x)

其中 g convex differentiable 且 gL-Lipschitz,FISTA 的固定步长版本常写为:

xk+1=proxh/L(yk1Lg(yk)),θk+1=1+1+4θk22,yk+1=xk+1+θk1θk+1(xk+1xk),

其中 θ0=1, y0=x0

关键结论:

方法典型函数值收敛率特点
PGM / ISTAO(1/k)单步稳,证明直接
FPGM / FISTAO(1/k2)用 momentum 加速,函数值可能非单调

A12.5 的图像比较应当看到:FISTA 前期通常明显快于 basic PGM,但曲线可能有轻微振荡;PGM 更稳定但下降慢。

9. 典型例子

9.1 Box constrained QP

min12xTAx+bTxs.t.0x1.

写成

g(x)=12xTAx+bTx,h(x)=I[0,1]n(x).

PGM 更新:

xk+1=Π[0,1]n(xktk(Axk+b)).

投影就是逐坐标截断到 [0,1]

9.2 LASSO

minx12Axb2+λx1.

g(x)=12Axb2,h(x)=λx1.g(x)=AT(Axb).

PGM / ISTA 更新:

xk+1=softtkλ(xktkAT(Axkb)).

其中

[softτ(z)]i=sign(zi)max{|zi|τ,0}.

9.3 线性绝对值项的 prox

A12.4 里有

g(x)=|x1+x2|=|aTx|,a=(1,1)T.

通用公式是

proxt|aT|(z)=ztaclip(aTzta2,1,1).

因此这类题按三步算:

  1. 先算梯度步 z=xtf(x)
  2. 再算 aTza2
  3. 最后套上面的 clip 公式。

对 A12.4,f 的 Hessian 最大特征值小于 1,所以 t=1 合法;从 x0=(1,0)T 出发,z=x0f(x0)=(2.6,0.2)T,从而

x1=prox|x1+x2|(z)=(1.6,1.2)T.

10. Nonconvex PGM(了解)

g 非凸但 g 仍 Lipschitz,h closed convex,PGM 仍可用于找 stationarity。

讲义结论:

  • f(xk) 单调不增;
  • xk 不是 stationary point,则严格下降;
  • Gtk(xk)0
  • min0ikGti(xi)O(1/k).

这里的收敛目标不是全局最优,而是 stationarity。

11. 作业题型对照

作业/题型典型问法考点
prox 计算ICλ|x|1、box indicator 的 prox投影、soft-thresholding
PGM 建模把问题写成 g+h区分 smooth part 和 simple nonsmooth part
写迭代给 LASSO / box QP,写 xk+1proxth(xtg)
最优性判据证明 Gt(x)=0x 最优prox 的一阶最优性 + 0g+h
收敛率证明O(1/k)Lemma 2.6 的 telescoping
line search不知道 L 时如何回溯验证 sufficient decrease inequality,得到 tmin
与次梯度比较为什么 PGM 更快PGM 利用 h 的 prox 结构;次梯度只用一个 gh
A12.1证明 u=proxf(x)xuf(u)、变分不等式三者等价prox 的一阶最优性条件;x 是 minimizer iff x=proxf(x)
A12.2prox 运算规则:仿射缩放、尺度变换、加线性项用变量替换和 prox 最优性条件推公式;特别是 g(x)+aTx 对应 proxg(xa)
A12.3证明 proximal mapping non-expansive对两个 prox 点分别写最优性/单调性,推出 |proxth(x)proxth(y)||xy|
A12.4二维 f+|x1+x2|,验证 t=1 并手算一步 PGM检查 L1;对 |aTx| 用 clip 形式 prox
A12.5LASSO 上实现 PGM 与 FPGM/FISTAL=λmax(ATA);PGM 用 soft-thresholding;FISTA 加 momentum;比较 O(1/k)O(1/k2)

12. 解题招式

招式 1:先拆 g+h

问“能不能用 PGM”时,先检查:

  • g 是否可微且 g Lipschitz;
  • h 是否 closed convex;
  • proxth 是否容易计算。

如果 h=IC,马上想到 projected gradient;如果 h=λx1,马上想到 soft-thresholding。

招式 2:写 prox 的最优性条件

x+=proxth(xtg(x))

等价于

0h(x+)+1t(x+x+tg(x)).

整理得

Gt(x)g(x)+h(x+).

这是证明 Gt(x)=0 和下降引理的起点。

招式 3:PGM 收敛证明照搬 GD 框架

GD 里用

x+=xtf(x)

PGM 里用

x+=xtGt(x).

证明结构仍然是:

  1. smooth g 的二次上界;
  2. h 的次梯度不等式;
  3. 配方成距离差;
  4. telescoping。

招式 4:LASSO 更新不要写成普通梯度下降

错误写法:

xk+1=xkt(AT(Axkb)+λsk).

这只是次梯度法。

PGM 正确写法:

xk+1=softtλ(xktAT(Axkb)).

区别很重要:前者慢,后者利用了 1 的 prox。

招式 5:prox 性质题从最优性条件出发

证明 prox 相关性质时,先写

u=proxf(x)0f(u)+uxxuf(u).

这一步能直接推出:

  • 变分不等式:xu,yuf(y)f(u)
  • minimizer fixed point:0f(x)x=proxf(x)
  • non-expansiveness:对 x,y 的两个 prox 点写两次并相加。

13. 自检清单

  • [ ] proxhproxth 的定义能写对吗?
  • [ ] u=proxf(x)xuf(u) 能证明吗?
  • [ ] h=IC 时 prox 为什么是投影?
  • [ ] λx1 的 prox / soft-thresholding 能逐坐标写出吗?
  • [ ] |aTx| 的 prox 能用 clip 公式手算吗?
  • [ ] PGM 更新式能从模型最小化推出来吗?
  • [ ] Gt(x) 的定义能写出来吗?它为什么不是普通梯度?
  • [ ] Gt(x)=0x 最优能证明吗?
  • [ ] PGM 的 O(1/k) 收敛证明和 GD 有什么对应关系?
  • [ ] FISTA 的 momentum 参数和 O(1/k2) 结论能说清楚吗?
  • [ ] Backtracking line search 检查的是 g 的哪条二次上界?
  • [ ] LASSO 的 ISTA 更新能不看书写出来吗?

14. 常见陷阱

  1. 把 prox 的二次项系数写错proxth12tux2+h(u),不是 t2
  2. Gt(x) 当作 f(x):它只是 gradient mapping,用于衡量 stationarity。
  3. h 也线性化就退化成次梯度法:PGM 的关键恰恰是保留 h(u)
  4. LASSO 阈值忘记乘 t:阈值是 tλ,不是 λ
  5. line search 检查的是 g 的上界:不是直接把 f 当 smooth 函数套 GD。
  6. 闭凸性很重要:closed convex 保证 prox well-defined 且通常唯一。
  7. FISTA 不一定单调:图像比较时看到小幅上升/振荡不一定是代码错。

15. 最后的复习路线

  1. 先把 9_次梯度与次梯度法.md 中的 f0f 复习一遍。
  2. 默写 prox 定义和三个基本 prox:0、indicator、1
  3. 对 LASSO 手写一次 ISTA 更新,再写一次 FISTA 更新。
  4. 复现 PGM 的 O(1/k) 证明:一步下降引理 → 距离差 → telescoping。
  5. 做 A12:先证明 prox 三件套,再手算 A12.4,最后实现 A12.5 的 PGM/FISTA 曲线。
  6. 对比 GD / subgradient / PGM / FISTA:知道每个方法适合什么结构、收敛率为什么不同。