深入分析:近端梯度下降法、交替方向乘子法、牛顿法

写在前面

本文主要围绕近端梯度下降法(Proximal Gradient Descent)、交替方向乘子法(Alternating Direction Method of Multipliers)、牛顿法来结合实际的案例进行推导分析,主打一个面向对象。

近端梯度下降法

**PGD (Proximal Gradient Descent) **,称为近端梯度优化法,近端指的是局部区域,在损失函数曲线上的一个泰勒展开点的近端或附近。近端梯度优化则是损失函数曲线上的一个点附近进行泰勒展开,通过执行梯度优化寻找局部最优解。

​ 为什么要提出PGD?与L1范数相关的稀疏问题求解中,L1范数不是处处可导(在零点不可导),无法使用梯度下降法。因此不难发现,其主要用于解决目标函数中存在可微和不可微函数的情况,如sgn函数。

​ 在近端梯度求解时,会遇到绝对值求导的问题,绝对值求导结果为符号函数Sgn(x),这个过程需要分情况讨论,因此会形成软阈值算子。在下面的例子中,\(x\)即为关于\(b\)的软阈值。

\[\min _x\,\,\frac{1}{2}\lVert \boldsymbol{x}-\boldsymbol{b} \rVert _{2}^{2}+\lambda \lVert \boldsymbol{x} \rVert _1 \\ \left( \boldsymbol{x}-\boldsymbol{b} \right) +\lambda sgn \left( \boldsymbol{x} \right) =0 \\ \boldsymbol{x}=\left\{ \begin{array}{c} \boldsymbol{b}+\lambda , \boldsymbol{b}<-\lambda\\ 0, |\boldsymbol{b}|\leqslant \lambda\\ \boldsymbol{b}-\lambda , \boldsymbol{b}>\lambda\\ \end{array} \right. \\ \boldsymbol{x}=\boldsymbol{S}_{\lambda}\left( \boldsymbol{b} \right) \]

​ 因此在含L1范数的稀疏编码关于近端梯度下降算法的求解问题中,面临迭代软阈值优化分析,故这类问题也称为迭代软阈值算法(ISTA,Iterative Shrinkage Thresholding Algorithm)。

​ 在这里,将近端梯度算法有关的算法做一个归类,针对问题:\(x=\underset{x}{\arg\min}g(x)+h(x)\),如果函数\(g(x)\)是可微的凸函数,\(h(x)\)是不可微的凸函数,那么可以根据\(h(x)\)将近端梯度算法表示为以下几种:

  • 如果\(h(x)=0\),则近端梯度算法退化为一般的梯度下降算法
  • 如果\(h(x)=I_C(x)\),则近端梯度算法称为投影梯度下降算法,其中示性函数\(I_C(x)=\begin{cases}0,&x\in C\\ \infty,&x\notin C\end{cases}\)
  • 如果\(h(x)=\lambda \Vert x\Vert_1\),则近端梯度算法称为迭代软阈值算法。

标准Lasso问题(PGD)

​ 针对问题:\(min_{x} g(x)+h(x)=min_{x}\frac{1}{2}||Ax-b||_2^2+\lambda||x||_1\),我们需要令其能够转化为\((x-b)^2\)的形式,因此,我们可以选择在\(x_0\)处泰勒展开(令\(\nabla^{2}g(x_{0})=\frac{1}{t}\)),则有:

\(\begin{aligned}g(x)&\approx g(x_0)+\nabla g(x_0)(x-x_0)+\frac{1}{2}\nabla^2g(x_0)(x-x_0)^2=g(x_0)+\nabla g(x_0)(x-x_0)+\frac{1}{2t}(x-x_0)^2\end{aligned}\)

​ 那么,Lasso问题等价为:

\(min_{x}~g(x)+h(x) \approx min ~g(x_0)+\nabla g(x_0)(x-x_0)+\frac{1}{2t}(x-x_0)^2+h(x)\\ =min\frac{1}{2t}[x-x_0+t\nabla g(x_0)]^2+h(x)={min}_{x}\frac{1}{2t}||x-(x_{0}-t\nabla g(x_{0})||_{2}^{2}+h(x)=m i n\frac{1}{2t}||x-z||_{2}^{2}+h(x)\)

​ 至此,我们可以得到\(z=x_{0}-t\nabla g(x_{0})\),即\(g(x)\)梯度下降的形式,此时如果代入\(h(x)=\lambda \Vert x\Vert_1\),我们就不难发现这个式子和开篇的类似,因此,我们可以得到Lasso问题的解为\(x=\boldsymbol{S}_{\lambda}\left( \boldsymbol{z} \right)\)

​ 近端算子则可以表示为:\(prox_{t,h(\cdot)}(z)=\arg\min\frac12||x-z||_2^2+t\cdot h(x)\)

​ 因此,近端梯度下降的迭代过程可以表示为如下:先对\(g(x)\)进行梯度下降求解\(z^{(k+1)}=x^{(k)}--t\nabla g(x_{(k)})\),再代入\(x^{(k+1)}=prox_{t,h(\cdot)}(z^{(k+1)})=\boldsymbol{S}_{\lambda}\left( \boldsymbol{z^{(k+1)}} \right)\)

标准Lasso问题(ISTA)

Lasso (Least Absolute Shrinkage and Selection Operatior),最小绝对收缩选择算子,本质是给解向量增加L1范数约束,使向量的元素尽可能稀疏。

​ 给定目标函数如下:

\[\min _{\beta ,\alpha}\frac{1}{2}\lVert \boldsymbol{y}-\boldsymbol{X}\beta \rVert _{2}^{2}+\lambda \lVert \alpha \rVert _1, \boldsymbol{s}.\boldsymbol{t}. \beta -\alpha =0 \]

​ 引入中间变量\(w\),如下:

\[\boldsymbol{L}\left( \alpha ,\beta ,\rho \right) =\frac{1}{2}\lVert \boldsymbol{y}-\boldsymbol{X}\beta \rVert _{2}^{2}+\lambda \lVert \alpha \rVert _1++\frac{\rho}{2}\lVert \beta -\alpha +\boldsymbol{w} \rVert _{2}^{2}-\frac{\rho}{2}\lVert \boldsymbol{w} \rVert _{2}^{2} \]

​ 下面分别对\(L\)关于\(\alpha,\beta\)\(\rho\)项求极值点分析。

​ 1、首先,对式中与\(\beta\)有关项进行偏导分析,详细过程如下(懒得描绘,直接看推导过程吧):

\[\min _{\beta}\frac{1}{2}\lVert \boldsymbol{y}-\boldsymbol{X}\beta \rVert _{2}^{2}+\frac{\rho}{2}\lVert \beta -\alpha +\boldsymbol{w} \rVert _{2}^{2}=\min _{\beta}\frac{1}{2}\beta ^T\boldsymbol{X}^T\boldsymbol{X}\beta -\boldsymbol{y}^T\boldsymbol{X}\beta +\frac{\rho}{2}\beta ^T\beta -\rho \left( \alpha -\boldsymbol{w} \right) ^T\beta \\ \boldsymbol{l}_1=\boldsymbol{y}^T\boldsymbol{X}\beta \rightarrow \frac{\partial \boldsymbol{l}_1}{\partial \beta}=\boldsymbol{X}^T\boldsymbol{y} \\ \boldsymbol{l}_2=\frac{1}{2}\beta ^T\boldsymbol{X}^T\boldsymbol{X}\beta \rightarrow \frac{\partial \boldsymbol{l}_2}{\partial \beta}=\boldsymbol{XX}^T\beta \\ \boldsymbol{l}_3=\frac{\rho}{2}\beta ^T\beta \rightarrow \frac{\partial \boldsymbol{l}_3}{\partial \beta}=\rho \beta \\ \boldsymbol{l}_4=\rho \left( \alpha -\boldsymbol{w} \right) ^T\beta \rightarrow \frac{\partial \boldsymbol{l}_4}{\partial \beta}=\rho \left( \alpha -\boldsymbol{w} \right) \\ \boldsymbol{XX}^T\beta -\boldsymbol{X}^T\boldsymbol{y}+\rho \beta -\rho \left( \alpha -\boldsymbol{w} \right) =0 \\ \left( \boldsymbol{XX}^T+\rho \boldsymbol{I} \right) \beta -\boldsymbol{X}^T\boldsymbol{y}-\rho \left( \alpha -\boldsymbol{w} \right) =0 \\ \beta ^{\left( \boldsymbol{l}+1 \right)}=\left( \boldsymbol{XX}^T+\rho \boldsymbol{I} \right) ^{-1}\left[ \boldsymbol{X}^T\boldsymbol{y}+\rho \left( \alpha ^{\left( \boldsymbol{l} \right)}-\boldsymbol{w}^{\left( \boldsymbol{l} \right)} \right) \right] \]

​ 2、其次,对式中与\(\alpha\)有关项进行偏导分析,详细过程如下:

\[\min _{\alpha}\lambda \lVert \alpha \rVert _1+\frac{\rho}{2}\lVert \beta -\alpha +\boldsymbol{w} \rVert _{2}^{2}=\min _{\alpha}\lambda \lVert \alpha \rVert _1+\frac{\rho}{2}\left( -2\alpha ^T\beta +\alpha ^T\alpha -2\alpha ^T\boldsymbol{w} \right) \\ \lambda \partial \lVert \alpha \rVert _1-\rho \beta +\rho \alpha -\rho \boldsymbol{w}=0 \\ \frac{\lambda}{\rho}\partial \lVert \alpha \rVert _1+\alpha =\beta +\boldsymbol{w} \\ \left\{ \begin{array}{c} \alpha +\frac{\lambda}{\rho}=\beta +\boldsymbol{w},\alpha >0\\ \alpha \in \left[ \beta +\boldsymbol{w}-\frac{\lambda}{\rho},\beta +\boldsymbol{w}+\frac{\lambda}{\rho} \right]\\ \alpha -\frac{\lambda}{\rho}=\beta +\boldsymbol{w},\alpha <0\\ \end{array} \right. \\ \alpha ^{\left( \boldsymbol{l}+1 \right)}=\boldsymbol{S}_{\frac{\lambda}{\rho}}\left( \beta ^{\left( \boldsymbol{l}+1 \right)}+\boldsymbol{w}^{\left( \boldsymbol{l} \right)} \right) \]

​ 3、最后,更新\(w\)项:\(w^{(l+1)}=w^{(l)}+\beta^{(l)}-\alpha^{(l)}\)

混合Lasso问题(ISTA)

​ 这个案例选自国防科大ISAR高分辨成像的1篇文章ADMM-Net,其主要引入了卷积算子来解决传统LASSO-成像问题中忽略了弱散射中心与强散射中心的关系导致的弱散射点成像不显著问题。其给定的目标函数如下:

\[\min _X\,\, \frac{1}{2}\lVert \boldsymbol{Y}-\boldsymbol{AX} \rVert _{F}^{2}+\lambda \lVert \frac{1}{\boldsymbol{C*X}+\epsilon}\bigodot{\boldsymbol{X}} \rVert_1 \]

​ 上式中,\(C\)为卷积核,\(*\)为二维卷积,\(\epsilon\)为任意极小值,\(\bigodot\)为矩阵哈达玛积。下面通过引入中间变量\(Z=X\)来解耦合卷积过程的两项表达式,考虑中间变量后的目标函数如下:

\[\min _{X,\boldsymbol{Z},\boldsymbol{B}}\,\,\frac{1}{2}\lVert \boldsymbol{Y}-\boldsymbol{AX} \rVert _{F}^{2}+\lambda \lVert \frac{1}{\boldsymbol{CX}+\epsilon}\bigodot{\boldsymbol{Z}} \rVert_1 ,\boldsymbol{s}.\boldsymbol{t}. \boldsymbol{X}-\boldsymbol{Z}=0 \]

​ 下面,我们将上式改写为增广拉格朗日方程的形式:

\[\boldsymbol{L}\left( \boldsymbol{X},\boldsymbol{Z},\boldsymbol{B} \right) =\frac{1}{2}\lVert \boldsymbol{Y}-\boldsymbol{AX} \rVert _{F}^{2}+\lambda \lVert \frac{1}{\boldsymbol{CX}+\epsilon}\bigodot{\boldsymbol{Z}} \rVert_1 +\left< \boldsymbol{B},\boldsymbol{X}-\boldsymbol{Z} \right> +\frac{\mu}{2}\lVert \boldsymbol{X}-\boldsymbol{Z} \rVert _{F}^{2} \]

我们对上述目标函数\( \boldsymbol{L}\left( \boldsymbol{X},\boldsymbol{Z},\boldsymbol{B} \right) \)关于变量​\(X\),​\(Z\)和​\(B\)分别求偏导,可以得到如下表达式:

​ 1、首先,对关于\(X\)的项更新:

\[-\boldsymbol{A}^H\left( \boldsymbol{Y}-\boldsymbol{AX} \right) +\boldsymbol{B}+\mu \left( \boldsymbol{X}-\boldsymbol{Z} \right) =0 \\ \left( \boldsymbol{A}^HA+\mu \boldsymbol{I} \right) \boldsymbol{X}=\boldsymbol{A}^H\boldsymbol{Y}-\boldsymbol{B}+\mu \boldsymbol{Z} \\ \boldsymbol{X}=\left( \boldsymbol{A}^HA+\mu \boldsymbol{I} \right) ^{-1}\left( \boldsymbol{A}^H\boldsymbol{Y}-\boldsymbol{B}+\mu \boldsymbol{Z} \right) \]

​ 2、再次,对关于\(Z\)的项更新:

\[\lambda \partial \lVert \boldsymbol{Z} \rVert \cdot \lVert \frac{1}{\boldsymbol{CX}+\epsilon} \rVert_1 -\mu \left( \boldsymbol{X}-\boldsymbol{Z} \right) -\boldsymbol{B}=0 \\ \frac{\lambda \lVert \frac{1}{\boldsymbol{CX}+\epsilon} \rVert_1}{\mu}\partial \lVert \boldsymbol{Z} \rVert +\boldsymbol{Z}=\boldsymbol{X}-\frac{\boldsymbol{B}}{\mu} \\ \boldsymbol{Z}=\boldsymbol{S}_{\lVert \frac{\lambda}{\mu \left( \boldsymbol{CX}+\epsilon \right)} \rVert_1}\left( \boldsymbol{X}-\frac{\boldsymbol{B}}{\mu} \right) \]

​ 3、最后,对关于\(B\)项的更新:

\[\boldsymbol{B}^{\left( \boldsymbol{l}+1 \right)}=\boldsymbol{B}^{\left( \boldsymbol{l} \right)}+\mu \left( \boldsymbol{X}^{\boldsymbol{l}+1}-\boldsymbol{Z}^{\boldsymbol{l}+1} \right) \]

交替方向乘子法

交替方向乘子法的主要思想为将大问题拆解为若干子问题进行迭代求解。

原子范数软阈值AST推导

单快拍

​ 在范数对偶问题证明中,有噪声版本下的单快拍原子范数软阈值问题可以表示为:

\(\begin{array}{ll}\text{minimize}_{t,u,x,Z}&\frac{1}{2}\|x-y\|_2^2+\frac{\tau}{2}(t+u_1)\\ \text{subject to}&Z=\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\\ &Z\succeq0.\end{array}\)

​ 下面给出具体的变量迭代过程:

​ 1、首先需要将上述有约束条件的原问题表述为增广拉格朗日方程形式,如下所示:

\(\begin{array}{c}\mathcal{L}_\rho(t,u,x,Z,\Lambda)=\dfrac{1}{2}\|x-y\|_2^2+\dfrac{\tau}{2}(t+u_1)+\left\langle\Lambda,Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\rangle+\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\|_F^2\end{array}\)

​ 其中,\(\Lambda^l=\begin{bmatrix}\Lambda_{0}^l&\lambda_{1}^l\\ \lambda_{1}^{l*} & \Lambda_{n+1,n+1}^l\end{bmatrix}\)\(Z^l=\begin{bmatrix}Z_{0}^l&z_{1}^l\\ z_{1}^{l*} & Z_{n+1,n+1}^l\end{bmatrix}\)

​ 2、下面依次对变量\(x\),\(t\),\(u\)依次迭代更新:

​ 2.1 首先提取关于\(x\)项的表达式,\(\dfrac{1}{2}\|x-y\|_2^2+\left\langle\Lambda,Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\rangle+\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\|_F^2\)

​ 其偏导为\(-2\lambda_1^l+2\rho(x-z_1^l)+x-y=0,\)那么有\(x^{l+1}=\frac{y+2\lambda_1^l+2\rho z_1^l}{1+2\rho}\).

​ 2.2 其次提取关于\(t\)项的表达式,\(\dfrac{\tau}{2}(t+u_1)+\left\langle\Lambda,Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\rangle+\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\|_F^2\)

​ 其偏导为\(\frac{\tau}{2}-\Lambda_{n+1,n+1}^l+\rho t-\rho Z_{n+1,n+1}^l=0\),那么有\(t^{l+1}=\frac{1}{\rho}(\rho Z_{n+1,n+1}{l}+\Lambda_{n+1,n+1}^l-\tau/2)\).

​ 2.3 其次提取关于\(u\)项的表达式,\(\dfrac{\tau}{2}(t+u_1)+\left\langle\Lambda,Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\rangle+\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\|_F^2\)

​ 其偏导为\(\frac{\tau}{2}e_1-\Lambda_0^l+\rho(T(u)-\Z_0^l)=0\),那么有\(u^{l+1}=W\left(T^*(Z_0^l+\Lambda_0^l/\rho)-\dfrac{\tau}{2\rho}e_1\right)\),对角矩阵\(W\)满足关系\(W_{ii}=\begin{cases}\frac{1}{n}&i=1\\ \frac{1}{2(n-i+1)}&i>1\end{cases}\)\(T^*(\cdot)\)表示生成共轭转置向量.

​ 2.4 其次提取关于\(Z\)项的表达式,\(\left\langle\Lambda,Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\rangle+\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}\right\|_F^2\)

​ 其可进步表示为\(\dfrac{\rho}{2}\left\|Z-\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}+\rho^{-1}\Lambda\right\|_F^2+Const\),当且仅当\(Z=\begin{bmatrix}T(u)&x\\ x^*&t\end{bmatrix}+\rho^{-1}\Lambda\)时有最小值.

​ 因此\(Z^{l+1}=\begin{bmatrix}T(u^{l+1})&x^{l+1}\\ (x^{l+1})^*&t^{l+1}\end{bmatrix}+\rho^{-1}\Lambda^{l}\)

​ 2.5 最后,更新拉格朗日乘子项\(\Lambda^{l+1}=\Lambda^{l}+\rho(Z^{l+1}-\begin{bmatrix}T(u^{l+1})&x^{l+1}\\ (x^{l+1})^*&t^{l+1}\end{bmatrix})\)

多快拍

​ 在范数对偶问题证明中,有噪声版本下的多快拍原子范数软阈值问题可以表示为:

\[[\mathbf{X},\mathbf{u}]=\operatorname*{argmin}_{\mathbf{X},\mathbf{W},\mathbf{u},\mathbf{\Theta}}[\operatorname{Tr}(\mathbf{W})+\operatorname{Tr}(T(\mathbf{u}))]+\frac{1}{2}||\mathbf{Y}-X||^2_{\text{F}},s.t.\boldsymbol{\Theta}=\left[\begin{array}{cc}T(\boldsymbol{u})&X\\ \boldsymbol{X^H}&W\end{array}\right]\geq0 \]

下面给出具体的变量迭代过程:

​ 1、首先需要将上述有约束条件的原问题表述为增广拉格朗日方程形式,如下所示:

\[L=\text{argmin}\frac{\tau}{2}[\mathrm{Tr}(\mathbf{W})+\mathrm{Tr}(T(\mathbf{u}))]+\frac{1}{2}||\mathbf{Y}-X||^2_\text{F}+\left\langle\mathbf{\Lambda},\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\right\rangle+\frac{\rho}{2}\|\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\|_{\mathbf{F}}^2 \]

​ 2、下面需要依次对变量\(X,W,u,\Theta,\Lambda\)等参量分别求极值点来更新每个子问题的最优解;在正式更新前,需要展开以下几个参量表示,以更好地帮助证明推导。(下面中\(M,L\)分别表示阵元数目和快拍数目)

\[\mathbf{\Theta}=\begin{bmatrix}\mathbf{\Theta}_{T(u)}&\mathbf{\Theta}_{X}\\ {(\mathbf{\Theta}_{X})}^{H}&\mathbf{\Theta}_{W}\end{bmatrix},\mathbf{\Lambda}=\left[\begin{matrix}{\mathbf{\Lambda}_{T(\mathbf{u})}}&{\mathbf{\Lambda}_{\mathbf{X}}}\\ {\left(\mathbf{\Lambda}_{\mathbf{X}}\right)^{\mathrm{H}}}&{\mathbf{\Lambda}_{\mathbf{W}}}\end{matrix}\right]\in\mathbb{C}^{(M+L)\times(M+L)} \]

​ 上式中,\(\mathbf{\Theta}_{W},\mathbf{\Lambda}_{W}\in C^{L\times L}\)\(\mathbf{\Theta}_{T(u)},\mathbf{\Lambda}_{T(u)}\in C^{M\times M}\)\(\mathbf{\Theta}_{X},\mathbf{\Lambda}_{X}\in C^{L\times M}\)

​ 对于\(L_1=\left\langle\mathbf{\Lambda},\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\right\rangle\),我们有\(L_1=trace(\Lambda^T\{\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\})\),令\(B=\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\),对于\(trace(\Lambda^TB)\)关于\(B\)的偏导为\(trace(\Lambda)\)\(B\)关于\(X\)的导数为\(\left[\begin{array}{cc}O_{M\times M}&\mathbf{-I_{M\times L}}\\ \mathbf{-I_{L\times M}}&\mathbf{O_{L\times L}}\end{array}\right]\),那么对应\(L_1\)关于\(X\)的偏导为\(trace(\left[\begin{matrix}{\mathbf{-\Lambda}_{X}}&{\mathbf{-\Lambda}_{T(\mathbf{u})}}\\ {\mathbf{-\Lambda}_{\mathbf{W}}^{}}&{\mathbf{-\Lambda}_{\mathbf{X}^H}}\end{matrix}\right])\)

​ 对于\(L_2=\frac{\rho}{2}\|\mathbf{\Theta}-\left[\begin{array}{cc}T(\mathbf{u})&\mathbf{X}\\ \mathbf{X}^\mathrm{H}&\mathbf{W}\end{array}\right]\|_{\mathbf{F}}^2\),我们有\(L_2=trace((\Theta-B)(\Theta-B)^H)=trace(\Theta\Theta^H-\Theta B^H-B\Theta^H+BB^H),\)我们对\(L_2\)关于X求偏导可以得到其偏导数为
\(2\cdot trace(\{\Theta-B\}\cdot \left[\begin{array}{cc}O_{M\times M}&\mathbf{-I_{M\times L}}\\ \mathbf{-I_{L\times M}}&\mathbf{O_{L\times L}}\end{array}\right])=2trace(\left[\begin{array}{cc}X-\Theta_X&\mathbf{T_u-\Theta_{T_u}}\\ \mathbf{W-\Theta_W}&\mathbf{X^H-\Theta_{X^H}}\end{array}\right])\)

​ 那么,我们可以得到\(L\)关于\(X\)的偏导为\(\rho(2X-2\Theta_X)-2\Lambda_X+X-Y=0\),因而在第一步迭代可以更新\(X\)如下:

\[X^{k+1}=\frac{Y+2\Lambda_X^{(k)}+2\Theta_X^{(k)}}{1+2\rho} \]

3、下面,我们继续对\(L\)中关于\(W\)的项求偏导,可以得到以下形式:

\[\boldsymbol{trace}\left( \frac{\tau}{2}\boldsymbol{I}_{\boldsymbol{L}\times \boldsymbol{L}}+\left[ \begin{matrix} \Lambda _{\boldsymbol{T}\left( \boldsymbol{u} \right)}& \Lambda _{\boldsymbol{X}}\\ \Lambda _{\boldsymbol{X}^H}& \Lambda _{\boldsymbol{W}}\\ \end{matrix} \right] \left[ \begin{matrix} \boldsymbol{O}& \boldsymbol{O}\\ \boldsymbol{O}& -\boldsymbol{I}_W\\ \end{matrix} \right] +\rho \left[ \begin{matrix} \Theta _{\boldsymbol{T}\left( \boldsymbol{u} \right)}-\boldsymbol{T}_u& \Theta _X-\boldsymbol{X}\\ \Theta _{X^H}-\boldsymbol{X}^H& \Theta _W-\boldsymbol{W}\\ \end{matrix} \right] \left[ \begin{matrix} \boldsymbol{O}& \boldsymbol{O}\\ \boldsymbol{O}& -\boldsymbol{I}_W\\ \end{matrix} \right] \right) \]

取迹后,我们可以得到关于\(W\)的更新式如下:

\[\frac{\tau}{2}\boldsymbol{I}_{\boldsymbol{L}\times \boldsymbol{L}}-\Lambda _{\boldsymbol{W}}+\rho \boldsymbol{W}-\rho \Theta _W=0 \\ \boldsymbol{W}=-\rho ^{-1}\Lambda _W+\Theta _W-\frac{\tau}{2\rho}\boldsymbol{I}_{\boldsymbol{L}\times \boldsymbol{L}} \]

​ 4、下面,我们继续对\(L\)中关于\(T(u)\)的项求偏导,可以得到其更新式如下:

\[\frac{\tau}{2}\boldsymbol{I}_{\boldsymbol{M}\times \boldsymbol{M}}+\left[ \begin{matrix} \Lambda _{\boldsymbol{T}\left( \boldsymbol{u} \right)}& \Lambda _{\boldsymbol{X}}\\ \Lambda _{\boldsymbol{X}^H}& \Lambda _{\boldsymbol{W}}\\ \end{matrix} \right] \left[ \begin{matrix} -\boldsymbol{I}_{M\times \boldsymbol{M}}& \boldsymbol{O}\\ \boldsymbol{O}& \boldsymbol{O}\\ \end{matrix} \right] +\rho \left[ \begin{matrix} \Theta _{\boldsymbol{T}\left( \boldsymbol{u} \right)}-\boldsymbol{T}_u& \Theta _X-\boldsymbol{X}\\ \Theta _{X^H}-\boldsymbol{X}^H& \Theta _W-\boldsymbol{W}\\ \end{matrix} \right] \left[ \begin{matrix} -\boldsymbol{I}_{M\times \boldsymbol{M}}& \boldsymbol{O}\\ \boldsymbol{O}& \boldsymbol{O}\\ \end{matrix} \right] =0 \\ \frac{\tau}{2}\boldsymbol{I}_{\boldsymbol{M}\times \boldsymbol{M}}-\Lambda _{\boldsymbol{T}_u}+\rho \left( \boldsymbol{T}_u-\Theta _{\boldsymbol{T}\left( \boldsymbol{u} \right)} \right) =0 \\ \boldsymbol{T}_{u}^{+}=-\frac{\tau}{2\rho}\boldsymbol{I}_{M\times \boldsymbol{M}}+\frac{1}{\rho}\Lambda _{\boldsymbol{T}\left( \boldsymbol{u} \right)}+\Theta _{\boldsymbol{T}\left( \boldsymbol{u} \right)} \]

​ 5、下面,我们继续对\(L\)中关于\(\Theta\)的项求偏导,这项比较特殊,因为我们可以将含\(\Theta\)的项转化为以下形式:

\[<\Lambda ,\Theta -\left[ \begin{matrix} \boldsymbol{T}_u& \boldsymbol{X}\\ \boldsymbol{X}^H& \boldsymbol{W}\\ \end{matrix} \right] >+\frac{\rho}{2}\lVert \Theta -\left[ \begin{matrix} \boldsymbol{T}_u& \boldsymbol{X}\\ \boldsymbol{X}^H& \boldsymbol{W}\\ \end{matrix} \right] \rVert _{F}^{2}=\frac{\rho}{2}\lVert \Theta -\left[ \begin{matrix} \boldsymbol{T}_u& \boldsymbol{X}\\ \boldsymbol{X}^H& \boldsymbol{W}\\ \end{matrix} \right] +\rho ^{-1}\Lambda \rVert _{F}^{2}+\boldsymbol{const} \]

​ 那么,对应我们可以得到\(\Theta\)\( \left[ \begin{matrix} ​ \boldsymbol{T}_u& \boldsymbol{X}\\ ​ \boldsymbol{X}^H& \boldsymbol{W}\\ \end{matrix} \right] -\rho ^{-1}\Lambda \)时取到极值点。

​ 6、对应乘子项的更新,同单快拍中的表述。我们在上面的表述中,没有显式地写出具体的\(l+1\)\(l\)次迭代的关系,这并不影响,可以参考单快拍算法中的步骤,这里只是为了码公式而进行了简化。

牛顿法

牛顿法是求解无约束优化问题的经典方法。

参考文献

[1] ADMM算法简介
[2] 近端梯度下降

posted @ 2023-05-28 12:42  信海  阅读(748)  评论(0编辑  收藏  举报