关于ADMM算法中迭代优化的一种简化形式
一. 优化问题描述
求解这样一个具有等式约束的稀疏优化问题,其中矩阵
A
∈
R
m
×
n
A\in\mathcal{R}^{m\times n}
A∈Rm×n 和
B
∈
R
m
×
r
B\in\mathcal{R}^{m\times r}
B∈Rm×r 是已知的,矩阵
X
∈
R
n
×
r
X\in\mathcal{R}^{n\times r}
X∈Rn×r 和
Y
∈
R
m
×
r
Y\in\mathcal{R}^{m\times r}
Y∈Rm×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. ∥Y∥1 AX−Y=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)=∥Y∥1+<Γ,AX−Y−B>+2μ∥AX−Y−B∥F
其中,
Γ
∈
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<Γ,AX−Y−B>+2μ∥AX−Y−B∥F=Xargmin2μ∥AX−Y−B+Γ/μ∥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=Yargmin∥Y∥1+<Γ,AX−Y−B>+2μ∥AX−Y−B∥F=Yargmin∥Y∥1+2μ∥AX−Y−B+Γ/μ∥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+1−B+Γ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+1−Yk+1−B).
三. 简化的迭代步骤
优化问题 (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)=∥Y∥1+2μ∥AX−Y−B+Λ∥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μ∥AX−Y−B+Λ∥F=Xargmin2μ∥AX−Y−B∥F+<Γ,AX−Y−B>
其中,
Λ
=
Γ
/
μ
\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μ∥AX−Y−B+Γ/μ∥F=2μtrace[(AX−Y−B+Γ/μ)T(AX−Y−B+Γ/μ)]=2μtrace[(AX−Y−B)T(AX−Y−B+Γ/μ)]+2μtrace[(ΓT/μ)(AX−Y−B+Γ/μ)]=2μtrace[(AX−Y−B)T(AX−Y−B)]+μtrace[(ΓT/μ)(AX−Y−B+Γ/μ)]=2μ∥AX−Y−B∥F+trace[(ΓT)(AX−Y−B+Γ/μ)]=2μ∥AX−Y−B∥F+<Γ,AX−Y−B>+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+1−B+Λ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+1−Yk+1−B.
四. 总结
至此我们发现,这两种迭代优化的步骤都是等价的,并且相比之下第二种迭代形式更简洁一些。