Skip to content

算法Algorithm

近端梯度法

Proximal gradient method

对复合目标的光滑项取显式梯度步、对非光滑凸项取隐式近端步的算法。

形式陈述 ​

在有限维空间 Rn 中考虑

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

本页的收敛结论采用以下条件:g 是凸的 C1 函数,梯度在全空间上满足 L-Lipschitz 条件(L>0);h 是 proper、闭凸函数;最小点集合非空;x0∈domh。固定 0<α≤1/L,每次精确计算

xk+1=proxαh(xk−α∇g(xk)).

这是一种前向—后向分裂:先做梯度下降的显式前向步,再做近端算子的隐式后向步。这里两部分分别是凸目标的梯度与凸次微分;更一般的单调算子分裂不必来自这样的目标。h 可以取 +∞,因而允许用闭凸集合的指标函数表示约束;初值位于有效域,使第一轮开始的目标值有限。一般更新式也可使用变步长,但仅有 0<αk≤1/L 并不足以继承本页的收敛结论。

定义近端梯度映射

Gα(x)=x−proxαh(x−α∇g(x))α.

prox 最优性给出 Gα(x)=0 当且仅当 0∈∇g(x)+∂h(x),即复合凸问题的一阶最优性条件。因此可以用它衡量固定点残差;h 不可微时不能改报不存在的 ‖∇F(x)‖。若要认证还剩多少目标值误差,还需能计算的误差界,例如后文链接的 Lasso 对偶间隙。

直觉

拆分的依据是计算结构:g 的梯度便宜,h 的 prox 便宜。把更新配方,可见新点精确最小化

g(xk)+⟨∇g(xk),u−xk⟩+‖u−xk‖22α+h(u).

当 α≤1/L 时,光滑凸性与下降引理保证这是一份接触当前目标值的二次上界。它线性化光滑项,却完整保留惩罚的尖角,所以能产生精确零坐标。

梯度候选与结构化近端收缩

图中选取 αh(x)=‖x‖1,故近端步是阈值为 1 的逐坐标软阈值:(2.1,−0.3,0.2,1.4)↦(1.1,0,0,0.4)。

当 h=0,prox 是恒等映射;当 h 是集合指标函数,prox 是投影。步长约束来自 g 的曲率,不需要为非光滑的整个 F 编造 Hessian。若每轮改为对整个 F 求 prox,就变成近端点方法,通常会得到另一个、更难的子问题。

例子与边界

一维收缩与耦合回归 ​

保留最简单的计算作为起点:F(x)=(x−3)2/2+|x|,L=1。从 x0=0 取 α=1/2,软阈值 Sτ(z)=sign(z)(|z|−τ)+ 给出

x1=S1/2(3/2)=1,x2=S1/2(2)=3/2,x3=S1/2(9/4)=7/4.

目标值依次为 4.5,3,2.625,2.53125,趋向 x∗=2 的 F∗=2.5。若取 α=1,梯度候选恒为 3,于是一步到解。这里二次项恰好消除了初值影响;一般设计矩阵的列相互耦合时,不会如此。

具体地,令

A=(111001),b=(3/23/20),P(x)=12‖Ax−b‖2+‖x‖1.

此时 ATA=(2112) 的最大特征值为 3,可以取 α=1/3。从零开始,前三个迭代点为 (2/3,1/6)、(5/6,0)、(17/18,0)。第二步恰把处于阈值边界的第二坐标送到零。完整候选计算、零坐标最优性与逐轮误差证书见Lasso 的最优性与对偶间隙;那里同时说明为何不能先求最小二乘解再一次软阈值。

同一组数据也可用交替方向乘子法(ADMM)求解:它对平方损失精确解一个耦合线性系统,对复制变量做软阈值,再累积两份变量的不一致量。近端梯度在这里使用显式梯度候选,ADMM 则保留完整二次损失;该页给出四轮分数计算,并说明为什么停止时需要同时检查原始残差与对偶残差。

步长与结论的边界 ​

“小于安全上界”不意味着累积推进足够。令 h=0、g(x)=x2/2、αk=2−k−2,则

xk=x0∏j=0k−1(1−αj).

这些步长均不超过 1/L=1,但和有限。因为 0≤αj≤1/4,有 log⁡(1−αj)≥−2αj,所以无穷乘积严格为正;非零初值不会趋于最优点零。这就是本页明确固定正步长的原因。

过大步长也可能破坏下降。对上面的耦合例取 α=1,第一步是 (2,1/2),目标值从 9/4 升到 13/4。这展示一个实际失败,不表示每个 α>1/L 都必然失败。若用回溯,应检验光滑二次上界并另行说明步长规则;若 prox 仅近似求解,应控制内层误差;若 g 非凸,固定点一般只认证驻点。

推论与应用

三点不等式如何产生下降与速率 ​

记 y=proxαh(x−α∇g(x))。最优性条件给出

s=x−yα−∇g(x)∈∂h(y).

任取 z∈domh,次梯度不等式给 h(y)−h(z)≤⟨s,y−z⟩;凸性给 g(x)−g(z)≤⟨∇g(x),x−z⟩;光滑性给 g(y)−g(x)≤⟨∇g(x),y−x⟩+L‖y−x‖2/2。相加后,梯度内积消去,剩下 ⟨x−y,y−z⟩/α+L‖y−x‖2/2。再用三点平方恒等式,得到

F(y)−F(z)≤‖x−z‖2−‖y−z‖22α−(12α−L2)‖y−x‖2.

先取 z=x。前一个分式本身又贡献一份负平方项,所以

F(y)≤F(x)−(1α−L2)‖y−x‖2≤F(x)−‖y−x‖22α.

即使 α=1/L,只要新旧点不同仍有严格下降。再取任一最小点 z=x∗,舍去三点不等式末尾的非正项,从 j=0 到 k−1 求和便有

∑j=0k−1(F(xj+1)−F∗)≤‖x0−x∗‖2−‖xk−x∗‖22α≤‖x0−x∗‖22α.

这一步首先控制的是一串函数值差的和。由于刚刚证明了函数值单调,每个求和项都不小于最后一项 F(xk)−F∗,故

F(xk)−F∗≤‖x0−x∗‖22αk,k≥1.

点收敛需要再走一步。三点不等式与 F(xk+1)≥F∗ 表明,到每个最小点的距离不增,这称为 Fejér 单调性,因而序列有界。下降估计还给 ∑k‖xk+1−xk‖2<∞,故相邻差趋零。有限维有收敛子列 xkj→x¯;prox 是连续映射,梯度也连续,固定步长更新与相邻差趋零便推出 x¯=proxαh(x¯−α∇g(x¯))。所以 x¯ 是最小点。最后,到这个 x¯ 的距离不增且有子列趋零,整个序列都趋于 x¯。这一论证没有假设 h 在定义域边界连续。

计算成本与可以认证的对象 ​

对 m×n 矩阵的平方损失,梯度通过 Ax 和 AT(Ax−b) 计算,连同残差与输出向量操作,稠密实数算术成本为 O(1+mn+m+n),在 m,n≥1 时可简写为 O(mn);若稀疏表示实际保存 s 个条目(包括显式零和重复坐标),稀疏实现为 O(1+s+m+n),逐坐标软阈值另需 O(n)。不必形成可能稠密的 ATA。要报告新点处的残差与对偶证书,还需新点的矩阵向量乘法、转置乘法及 O(1+m+n) 的范数和内积检查;可以与下一轮梯度共享这些结果。

FISTA 在相应凸条件下将函数值界改善为 O(1/k2),但需新的加速权重与势函数,且通常不逐轮下降。函数值收敛、迭代点收敛与有限步识别支持集是不同结论;上述一般 O(1/k) 证明没有提供统计意义的变量恢复保证。Moreau 包络则对整个函数做平滑,虽然也出现 x−prox(x),仍应与这里的拆分子问题区分。

参考资料
关系图谱17 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例

类型化关系