关于ADMM算法中迭代优化的一种简化形式

关于ADMM算法中迭代优化的一种简化形式

一. 优化问题描述

求解这样一个具有等式约束的稀疏优化问题,其中矩阵 A ∈ R m × n A\in\mathcal{R}^{m\times n} ARm×n B ∈ R m × r B\in\mathcal{R}^{m\times r} BRm×r 是已知的,矩阵 X ∈ R n × r X\in\mathcal{R}^{n\times r} XRn×r Y ∈ R m × r Y\in\mathcal{R}^{m\times r} YRm×r 是需要优化的:
min ⁡ X , Y   ∥ Y ∥ 1 s . t .   A X − Y = B \begin{align} \min_{X,Y}& \ \Vert Y \Vert_1\\\nonumber \mathrm{s.t.}& \ AX-Y=B \end{align} X,Ymins.t. Y1 AXY=B

二. 常用的迭代步骤

优化问题 (1) 的拉格朗日函数可以写为
L ( X , Y ) = ∥ Y ∥ 1 + < Γ , A X − Y − B > + μ 2 ∥ A X − Y − B ∥ F \begin{align} L(X,Y) = \Vert Y \Vert_1 + <\Gamma,AX-Y-B> + \frac{\mu}{2}\Vert AX-Y-B \Vert_F \end{align} L(X,Y)=Y1+<Γ,AXYB>+2μAXYBF
其中, Γ ∈ R m × r \Gamma\in\mathcal{R}^{m\times r} ΓRm×r 是拉格朗日乘子.

迭代步骤
更新 X X X:
X k + 1 = arg min ⁡ X < Γ , A X − Y − B > + μ 2 ∥ A X − Y − B ∥ F = arg min ⁡ X μ 2 ∥ A X − Y − B + Γ / μ ∥ F \begin{align}\nonumber X^{k+1} &= \argmin_{X} <\Gamma,AX-Y-B> + \frac{\mu}{2}\Vert AX-Y-B \Vert_F\\ &= \argmin_{X} \frac{\mu}{2}\Vert AX-Y-B + \Gamma/\mu\Vert_F\\ \end{align} Xk+1=Xargmin<Γ,AXYB>+2μAXYBF=Xargmin2μAXYB+Γ/μF
X X X 的更新规则为:
X k + 1 = ( A T A ) − 1 A T ( Y k + B − Γ k / μ ) . \begin{align} X^{k+1} = (A^TA)^{-1}A^T(Y^k+B-\Gamma^k/\mu). \end{align} Xk+1=(ATA)1AT(Yk+BΓk/μ).

更新 Y Y Y:
Y k + 1 = arg min ⁡ Y ∥ Y ∥ 1 + < Γ , A X − Y − B > + μ 2 ∥ A X − Y − B ∥ F = arg min ⁡ Y ∥ Y ∥ 1 + μ 2 ∥ A X − Y − B + Γ / μ ∥ F \begin{align}\nonumber Y^{k+1} &= \argmin_{Y} \Vert Y \Vert_1 + <\Gamma,AX-Y-B> + \frac{\mu}{2}\Vert AX-Y-B \Vert_F\\ & = \argmin_{Y} \Vert Y \Vert_1 + \frac{\mu}{2}\Vert AX-Y-B + \Gamma/\mu\Vert_F \end{align} Yk+1=YargminY1+<Γ,AXYB>+2μAXYBF=YargminY1+2μAXYB+Γ/μF
Y Y Y 的更新规则为:
Y k + 1 = s o f t ( A X k + 1 − B + Γ k / μ , 1 μ ) . \begin{align} Y^{k+1} = \mathrm{soft}\left(AX^{k+1}-B+\Gamma^k/\mu,\frac{1}{\mu}\right). \end{align} Yk+1=soft(AXk+1B+Γk/μ,μ1).
其中, s o f t ( ⋅ ) \mathrm{soft}(\cdot) soft() 为软阈值函数.

更新 Γ \Gamma Γ:
Γ k + 1 = Γ k + μ ( A X k + 1 − Y k + 1 − B ) . \begin{align} \Gamma^{k+1} = \Gamma^{k} + \mu(AX^{k+1}-Y^{k+1}-B). \end{align} Γk+1=Γk+μ(AXk+1Yk+1B).

三. 简化的迭代步骤

优化问题 (1) 的拉格朗日函数直接简化写为
L ( X , Y ) = ∥ Y ∥ 1 + μ 2 ∥ A X − Y − B + Λ ∥ F \begin{align} L(X,Y) = \Vert Y \Vert_1 + \frac{\mu}{2}\Vert AX-Y-B + \Lambda\Vert_F \end{align} L(X,Y)=Y1+2μAXYB+ΛF
其中, Λ ∈ R m × r \Lambda\in\mathcal{R}^{m\times r} ΛRm×r 是拉格朗日乘子. 事实上,这两种写法是等价的,并且这里有 Λ = Γ / μ \Lambda = \Gamma/\mu Λ=Γ/μ. 下面将给出分析过程。

迭代步骤
更新 X X X:
X k + 1 = arg min ⁡ X μ 2 ∥ A X − Y − B + Λ ∥ F = arg min ⁡ X μ 2 ∥ A X − Y − B ∥ F + < Γ , A X − Y − B > \begin{align}\nonumber X^{k+1} &= \argmin_{X} \frac{\mu}{2}\Vert AX-Y-B + \Lambda\Vert_F\\ &= \argmin_{X} \frac{\mu}{2}\Vert AX-Y-B \Vert_F + <\Gamma,AX-Y-B> \end{align} Xk+1=Xargmin2μAXYB+ΛF=Xargmin2μAXYBF+<Γ,AXYB>
其中, Λ = Γ / μ \Lambda = \Gamma/\mu Λ=Γ/μ.
这里为了更清晰,简单推导了一下:
  μ 2 ∥ A X − Y − B + Γ / μ ∥ F = μ 2 t r a c e [ ( A X − Y − B + Γ / μ ) T ( A X − Y − B + Γ / μ ) ] = μ 2 t r a c e [ ( A X − Y − B ) T ( A X − Y − B + Γ / μ ) ] + μ 2 t r a c e [ ( Γ T / μ ) ( A X − Y − B + Γ / μ ) ] = μ 2 t r a c e [ ( A X − Y − B ) T ( A X − Y − B ) ] + μ t r a c e [ ( Γ T / μ ) ( A X − Y − B + Γ / μ ) ] = μ 2 ∥ A X − Y − B ∥ F + t r a c e [ ( Γ T ) ( A X − Y − B + Γ / μ ) ] = μ 2 ∥ A X − Y − B ∥ F + < Γ , A X − Y − B > + t r a c e [ ( Γ T ) Γ / μ ] \begin{align}\nonumber &\quad\ \frac{\mu}{2}\Vert AX-Y-B + \Gamma/\mu\Vert_F \\\nonumber &= \frac{\mu}{2}\mathrm{trace}[( AX-Y-B + \Gamma/\mu)^T( AX-Y-B + \Gamma/\mu)]\\\nonumber &= \frac{\mu}{2}\mathrm{trace}[( AX-Y-B)^T( AX-Y-B+ \Gamma/\mu)] + \frac{\mu}{2}\mathrm{trace}[(\Gamma^T/\mu)( AX-Y-B+ \Gamma/\mu)]\\\nonumber &= \frac{\mu}{2}\mathrm{trace}[( AX-Y-B)^T( AX-Y-B)] + \mu\mathrm{trace}[(\Gamma^T/\mu)( AX-Y-B+ \Gamma/\mu)]\\\nonumber &= \frac{\mu}{2}\Vert AX-Y-B \Vert_F + \mathrm{trace}[(\Gamma^T)( AX-Y-B+ \Gamma/\mu)]\\\nonumber &= \frac{\mu}{2}\Vert AX-Y-B \Vert_F + <\Gamma,AX-Y-B> + \mathrm{trace}[(\Gamma^T)\Gamma/\mu] \end{align}  2μAXYB+Γ/μF=2μtrace[(AXYB+Γ/μ)T(AXYB+Γ/μ)]=2μtrace[(AXYB)T(AXYB+Γ/μ)]+2μtrace[(ΓT/μ)(AXYB+Γ/μ)]=2μtrace[(AXYB)T(AXYB)]+μtrace[(ΓT/μ)(AXYB+Γ/μ)]=2μAXYBF+trace[(ΓT)(AXYB+Γ/μ)]=2μAXYBF+<Γ,AXYB>+trace[(ΓT)Γ/μ]
由于是关于 X X X 的优化,忽略上式与 X X X 无关的一项即可.
X X X 的更新规则为:
X k + 1 = ( A T A ) − 1 A T ( Y k + B − Λ k ) . \begin{align} X^{k+1} = (A^TA)^{-1}A^T(Y^k+B-\Lambda^k). \end{align} Xk+1=(ATA)1AT(Yk+BΛk).

更新 Y Y Y:

Y Y Y 的更新规则为:
Y k + 1 = s o f t ( A X k + 1 − B + Λ k , 1 μ ) . \begin{align} Y^{k+1} = \mathrm{soft}\left(AX^{k+1}-B+\Lambda^k,\frac{1}{\mu}\right). \end{align} Yk+1=soft(AXk+1B+Λk,μ1).

更新 Λ \Lambda Λ:
Λ k + 1 = Λ k + A X k + 1 − Y k + 1 − B . \begin{align} \Lambda^{k+1} = \Lambda^{k} + AX^{k+1}-Y^{k+1}-B. \end{align} Λk+1=Λk+AXk+1Yk+1B.

四. 总结

至此我们发现,这两种迭代优化的步骤都是等价的,并且相比之下第二种迭代形式更简洁一些。

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值