首页 > 其他分享 >深入分析:近端梯度下降法、交替方向乘子法、牛顿法

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

时间:2023-05-28 12:56:10浏览次数:48  
标签:right mathbf boldsymbol 乘子法 rho 深入分析 frac 近端 left

写在前面

本文主要围绕近端梯度下降法(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] 近端梯度下降

标签:right,mathbf,boldsymbol,乘子法,rho,深入分析,frac,近端,left
From: https://www.cnblogs.com/yuxuliang/p/MyNorm_3.html

相关文章

  • 深入分析:矩阵梯度类实例研究
    写在前面本文主要用于围绕矩阵类求梯度等问题进行证明与分析,由于笔者的数理基础浅薄,下面的证明过程若存在错误,欢迎评论指正。矩阵梯度的通用方法:先将矩阵写成微分形式,\(df=tr(GdX)\),然后得到$\nablaf=G^T$案例1\(\begin{array}{ll}\min_{U}&\dfrac{1}{2}\left\|\boldsymbol{......
  • 【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存C
    缓存的理解缓存的工作机制是先从缓存中读取数据,如果没有再从慢速设备上读取实际数据,并将数据存入缓存中。通常情况下,我们会将那些经常读取且不经常修改的数据或昂贵(CPU/IO)的且对于相同请求有相同计算结果的数据存储到缓存中。它能够让数据更加接近于使用者,下图所示。+-------------......
  • 4、深入分析hystrix执行时的8大流程步骤以及内部原理
    前面了解了Hystrix最基本的支持高可用的技术:资源隔离 + 限流。创建command;执行这个command;配置这个command对应的group和线程池。开始执行这个command,调用了这个command的execute()方法之后,Hystrix底层的执行流程和步骤以及原理是什么1、构建一个Hystri......
  • 恒创科技:深入分析香港 windows 和 linux VPS 区别和使用需求
    ​香港虚拟专用服务器(VPS)是一种流行的托管解决方案,可为用户提供专用物理服务器的灵活性和控制力,且成本不高。两种常见的VPS类型是Windows和LinuxVPS。尽管两者都提供相似的好处,但两者之间的显著差异会影响哪一个更适合用户的特定需求。在本文中,我们将探讨这两种......
  • 【内核】深入分析内核panic(一)--内核问题的原因
    1概述linux内核包括进程管理、内存管理、中断管理、设备驱动、同步机制等各种模块,它们共同运行在一个共享的地址空间中,因此在运行中一旦出现问题,彼此之间可能具有千丝万缕的联系。而且与用户态不同,内核还需要与形形色色的硬件打交道,因此对于某些较为诡异的问题,除了软件以外还......
  • 【内核】深入分析内核panic(三)--内核错误处理流程
    1内核错误处理方式当内核出现致命错误时,只要cpu还能正常运行,那么最重要的就是向用户输出详细的错误信息,以及保存问题出现时的错误现场。以上致命错误可包含以下两种类型:(1)硬件能检测到的错误,如非法内存访问,非法指令等,此时cpu会触发异常,并进入异常处理流程。在异常处理流程中会......
  • 15天玩转redis —— 第十篇 对快照模式的深入分析
       我们知道redis是带有持久化这个能力了,那到底持久化成到哪里,持久化成啥样呢???这篇我们一起来寻求答案。 一:快照模式或许在用Redis之初的时候,就听说过redis有两种持久化模式,第一种是SNAPSHOTTING模式,还是一种是AOF模式,而且在实战场景下用的最多的莫过于SNAPSHOTT......
  • 基于交替方向乘子法与纳什谈判的社区微网电能共享模型 代码主要做的是一个社区微网内
    基于交替方向乘子法与纳什谈判的社区微网电能共享模型主要内容:代码主要做的是一个社区微网内部产消者之间P2P电能交易与共享的问题。构建了基于合作博弈多产消者电能共享模型,在社区微网储能装置的约束下进行P2P电能交易,以社会福利最大化为目标函数,构建了P2P交易模型,并通过ADMM法......
  • 【Spring专题】「技术原理」从源码角度去深入分析关于Spring的异常处理ExceptionHandl
    ExceptionHandler的作用ExceptionHandler是Spring框架提供的一个注解,用于处理应用程序中的异常。当应用程序中发生异常时,ExceptionHandler将优先地拦截异常并处理它,然后将处理结果返回到前端。该注解可用于类级别和方法级别,以捕获不同级别的异常。在Spring中使用ExceptionHandler非......
  • 【Spring专题】「技术原理」从源码角度去深入分析关于Spring的异常处理ExceptionHandl
    ExceptionHandler的作用ExceptionHandler是Spring框架提供的一个注解,用于处理应用程序中的异常。当应用程序中发生异常时,ExceptionHandler将优先地拦截异常并处理它,然后将处理结果返回到前端。该注解可用于类级别和方法级别,以捕获不同级别的异常。在Spring中使用ExceptionHandle......