Skip to content

算法Algorithm

交替方向乘子法(ADMM)

Alternating direction method of multipliers · ADMM

将凸目标拆成两个近端子问题,用乘子累积一致性误差,并以原始与对偶残差检查最优性的算法。

形式陈述 ​

在有限维实空间 Rn 中,设 f,g 是 proper、闭凸函数:允许取 +∞,但不恒为 +∞,也不取 −∞。考虑将同一个变量复制成两份的问题

minx,z f(x)+g(z),x−z=0.

约束使它与 minv{f(v)+g(v)} 等价。本页研究这一恒等一致性约束下的 ADMM,假设存在 (v∗,y∗) 满足

−y∗∈∂f(v∗),y∗∈∂g(v∗).

这里 ∂ 是凸次微分。这两个条件给出原问题的最优点和拆分问题的乘子证书;在拉格朗日对偶语言中,(v∗,v∗,y∗) 是未增广拉格朗日函数的鞍点。它比单独假设原问题有最小点更强,保证两部分在该点能够以相反的次梯度平衡。

固定 ρ>0,增广拉格朗日函数为

Lρ(x,z,y)=f(x)+g(z)+⟨y,x−z⟩+ρ2‖x−z‖2.

任取初值 z0,u0,令 y0=ρu0。ADMM 每轮依次精确最小化 x、精确最小化 z,再更新乘子:

xk+1=proxf/ρ(zk−uk),zk+1=proxg/ρ(xk+1+uk),uk+1=uk+xk+1−zk+1,yk+1=ρuk+1.

按近端算子的约定,proxf/ρ(a) 最小化 f(x)+(ρ/2)‖x−a‖2。闭凸性与二次项保证每个子问题有唯一解。上述鞍点假设下,整个序列 (xk,zk,yk) 收敛到某个 (v¯,v¯,y¯),后者也满足鞍点条件;下文给出这一有限维结论的完整证明。

直觉

拆分的好处是分别利用 f 和 g 的计算结构。平方损失可能适合解线性系统,绝对值惩罚则适合逐坐标软阈值;复制变量后,两种操作可以各做一次,再逐渐让两份答案一致。

更新式可以直接从配方得到。记 u=y/ρ,则

⟨y,x−z⟩+ρ2‖x−z‖2=ρ2‖x−z+u‖2−ρ2‖u‖2.

固定 zk,uk 时,第一份二次中心是 zk−uk;固定刚得到的 xk+1,uk 时,第二份中心变为 xk+1+uk。第二步必须使用第一步的新结果,所以这是一轮交替最小化,并没有联合求出整个增广子问题的最小点。

乘子记录的是历轮未消除的一致性误差:

uk+1=u0+∑j=1k+1(xj−zj).

当两份变量长期朝同一方向偏离时,这份累积会改变后续子问题的中心。固定的二次惩罚配合乘子更新,就能驱动约束误差趋零,无需仅靠不断增大惩罚系数。

两个残差分别检查什么 ​

定义原始残差、相邻 z 位移和对偶残差

rk+1=xk+1−zk+1,dk+1=zk+1−zk,sk+1=−ρdk+1.

负号对应这里的约束写法 x−z=0。从两个子问题分别得到

0∈∂f(xk+1)+yk+ρ(xk+1−zk),0∈∂g(zk+1)−yk−ρ(xk+1−zk+1).

代入 yk+1=yk+ρrk+1,便有精确关系

−yk+1−ρdk+1∈∂f(xk+1),yk+1∈∂g(zk+1).

因此 z 的驻点条件在每轮结束时已经满足;sk+1 是集合 ∂f(xk+1)+yk+1 中一个明确的元素,衡量 x 驻点条件的偏差;rk+1 则衡量两份变量是否可行地一致。二者同时为零时就得到完整鞍点证书。二者仅仅很小时,首先得到的是近似最优性条件;若要换算成目标值或变量距离的误差,还需要额外的误差界或对偶证书。

例子与边界

同一个耦合 Lasso 的四轮精确计算 ​

沿用Lasso 的最优性与对偶间隙中的数据:

A=(111001),b=(3/23/20),f(x)=12‖Ax−b‖2,g(z)=‖z‖1.

记 Q=ATA=(2112)、c=ATb=(3,3/2)T,取 ρ=1、z0=u0=0。第一步的最优性方程和第二步的软阈值为

(Q+I)xk+1=c+zk−uk,(Q+I)−1=18(3−1−13),zk+1=S1(xk+1+uk),

其中 S1 对各坐标施加阈值 1。逆矩阵的非对角项保留了损失的耦合;可分的是后面的惩罚子问题。

第一轮解线性系统得 x1=(15/16,3/16),两坐标都落在阈值区间内,于是 z1=0、u1=x1。第二轮的右端为 (33/16,21/16),故 x2=(39/64,15/64);加上旧乘子后,阈值输入为 (99/64,27/64),所以 z2=(35/64,0)。继续同样的有理数运算得到:

k xk zk uk rk sk
1 (15/16,3/16) (0,0) (15/16,3/16) (15/16,3/16) (0,0)
2 (39/64,15/64) (35/64,0) (1,27/64) (1/16,15/64) (−35/64,0)
3 (105/128,11/128) (105/128,0) (1,65/128) (0,11/128) (−35/128,0)
4 (239/256,5/256) (239/256,0) (1,135/256) (0,5/256) (−29/256,0)

第一轮已经有 s1=0,但 r1≠0,两份变量尚未一致。只看对偶残差就会在这里错误停止。zk 的第二坐标从一开始就是零,xk 的第二坐标则逐渐减小;中间变量分别承担各自子问题的结构,无需每轮拥有相同的稀疏模式。

反过来,原始残差为零也未必已经最优。取一维 f(x)=x2/2、g(z)=0、ρ=1,从 z0=1,u0=0 开始,第一轮得到 x1=z1=1/2、u1=0。此时 r1=0,但 s1=1/2,共同变量还没有到最小点零。

用证书确定极限 ​

四行迭代可以展示算法如何运行,但极限应由最优性条件确定。取

v∗=(1,0),y∗=(1,1/2).

直接计算 Qv∗−c=(−1,−1/2)=−y∗。同时,v1∗>0 要求绝对值次梯度的第一坐标为 1,v2∗=0 允许第二坐标取 [−1,1] 中任意值,所以 y∗∈∂‖v∗‖1。这正是本页的鞍点假设;而 Q 的特征值为 1,3,平方损失严格凸,故原变量的最优点唯一。

原回归残差为 b−Av∗=(1/2,1/2,0),目标最优值为

P∗=f(v∗)+g(v∗)=12(1/4+1/4)+1=5/4.

下文的收敛证明于是保证 xk,zk→(1,0)。若在有限轮结束时认证目标误差,可以把 zk 作为原问题候选,计算 P(zk)=f(zk)+g(zk),再使用上述 Lasso 条目的可行对偶间隙。f(xk)+g(zk) 使用了两份尚未一致的变量,不能直接当成某个原问题可行点的目标值。

推论与应用

从单调性到 Fejér 不等式 ​

证明只需凸次微分的单调性:a∈∂h(p)、b∈∂h(q) 蕴含 ⟨p−q,a−b⟩≥0。固定任意鞍点对 (v∗,y∗),在一轮中简记 x=xk+1、z=zk+1、y=yk+1、r=rk+1、d=dk+1。对两个精确次梯度关系分别应用单调性,得到

⟨x−v∗,−(y−y∗)−ρd⟩≥0,⟨z−v∗,y−y∗⟩≥0.

相加并利用 x−z=r,得到控制原始与对偶误差的关键式

⟨r,y−y∗⟩+ρ⟨x−v∗,d⟩≤0.

定义乘积空间中的加权平方距离

Ek=1ρ‖yk−y∗‖2+ρ‖zk−v∗‖2.

因为 yk=y−ρr、zk=z−d,直接展开平方有

Ek+1−Ek=2⟨r,y−y∗⟩−ρ‖r‖2+2ρ⟨d,z−v∗⟩−ρ‖d‖2≤−ρ‖r‖2−ρ‖d‖2−2ρ⟨r,d⟩.

这里尚有一个交叉项。当 k≥1 时,上一轮的 z 更新已保证 yk∈∂g(zk),本轮又有 y∈∂g(z),故单调性给出

0≤⟨z−zk,y−yk⟩=ρ⟨d,r⟩.

于是得到所需的 Fejér 不等式:

Ek+1≤Ek−ρ(‖rk+1‖2+‖dk+1‖2),k≥1.

任意初值未必满足 y0∈∂g(z0),所以证明从第一轮结束后开始。若初值恰好满足该关系,不等式也适用于 k=0;任意初值只多出有限的一轮,不影响以下结论。

为什么整个点序列收敛 ​

从 k=1 到 N 求和,并用 EN+1≥0,得到

ρ∑k=1N(‖rk+1‖2+‖dk+1‖2)≤E1.

因此 rk→0、dk→0,从而 sk→0。同时 Ek≤E1 保证 (zk,yk) 有界;xk=zk+rk 也有界。在有限维空间中可以取子列 (zkj,ykj)→(v¯,y¯),于是 xkj→v¯。

闭凸函数的次微分图在有限维中闭合。这一点也能从 prox 的连续性看出:aj∈∂h(pj) 等价于 pj=proxh(pj+aj),若 (pj,aj)→(p,a),取极限就有 p=proxh(p+a),即 a∈∂h(p)。现在对迭代中的两个关系

−ykj−ρdkj∈∂f(xkj),ykj∈∂g(zkj)

取极限,得到 −y¯∈∂f(v¯)、y¯∈∂g(v¯)。所以聚点本身就是鞍点,而不只是满足一致性约束的点。

最后,把 Fejér 不等式中的固定鞍点换成刚找到的 (v¯,y¯)。相应的距离

E¯k=1ρ‖yk−y¯‖2+ρ‖zk−v¯‖2

从 k=1 起非增,又沿 kj 趋于零,因此整个 E¯k 都趋于零。这证明 zk→v¯、yk→y¯;再由 rk→0 得 xk→v¯。这里不需要最优点唯一,也没有用到函数在有效域边界的连续性。

计算结构与适用范围 ​

对一般 Lasso,固定 ρ 时的矩阵 ATA+ρI 在所有轮次中相同,可以预先分解后重复求解。若直接形成稠密的 n×n 系统,分解需要 O(n3),已有分解后的每轮求解为 O(n2),软阈值和乘子更新为 O(n);形成矩阵与计算 ATb 另有一次成本。与近端梯度法的矩阵向量乘法相比,是否划算取决于维度、稀疏性和能否复用分解。

本页证明依赖恒等约束 x−z=0、固定 ρ、精确子问题和鞍点存在。一般形式 Ax+Bz=c 会引入矩阵核与子问题可解性等问题,不能由这里的点收敛论证直接推出所有原变量都收敛。非凸项、近似内层求解或调整惩罚参数也需要各自的假设与分析;对当前模型,两次 prox、两种残差和上述加权距离已经构成一条完整的算法与收敛链条。

参考资料
关系图谱7 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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