标签:ext 梳理 最小值 条件 需要 推广 讲解 多个 迭代
交替方向乘子法(ADMM)简明梳理
本文对ADMM所涉及的一些数学知识进行简单的讲解, 并在最后汇总, 写出ADMM的基本形式.
本文对推导过程酌情省略.
拉格朗日乘子法
给定二元函数\(z=f(x,y)\)和约束条件\(\psi(x,y)=0\), 求二元函数\(z=f(x,y)\)在约束条件下的极值点. 该问题可以用拉格朗日乘子法解:
首先做拉格朗日函数
\[L(x,y,\lambda)=f(x,y)+\lambda\psi(x,y)
\]
其中\(\lambda\)为参数.
令上式对所有自变量的一阶偏导等于零, 即
\[\begin{cases}
\frac{\partial L(x,y,\lambda)}{\partial x}=0\\frac{\partial L(x,y,\lambda)}{\partial y}=0\\frac{\partial L(x,y,\lambda)}{\partial\lambda}=0
\end{cases}
\]
由上式解出\(x\), \(y\)及\(\lambda\), 如此求得的\((x,y)\), 就是函数\(z=f(x,y)\)在约束条件\(\psi(x,y)=0\)下的可能极值点. 若这样的点只有一个, 由实际问题可直接确定此点即所求的点.
对偶上升法
首先需要简单介绍一下凸函数的定义. 凸函数比较直观的含义即为函数上任意两点的连线都在函数值之上, 二维上的典型是\(y=x^2\), 形如下凸的曲线, 三维上的典型是\(z=x^2+y^2\), 形如山谷.
接下来提出一个基础问题:
设函数\(f(x)\)是一个凸函数, 约束条件为\(Ax=b\), 求函数\(f(x)\)的最小值.
即
\[\text{min}\ f(x)\\text{s.t.}\ Ax=b
\]
写出该问题的拉格朗日函数
\[L(x,y)=f(x)+y^T(Ax-b)
\]
其中\(y\)是拉格朗日乘子, 也称为对偶变量.
对偶函数为
\[g(x)=\mathop{\text{inf}}\limits_xL(x,y)=-f^*(-A^Ty)-b^Ty
\]
其中inf代表下确界, \(f^*\)代表\(f\)的共轭函数.
在满足一定条件的情况下, 对偶问题和原问题的最优值相等. 设原问题最优值为\(x^*\), 对偶问题最优值为\(y^*\), 则
\[x^*=\mathop{\text{arg min}}\limits_xL(x,y^*)
\]
则可以通过对偶上升法, 通过梯度上升法迭代求解, 即
\[x^{k+1}=\mathop{\text{arg min}}\limits_xL(x,y^k)\y^{k+1}=y^k+\alpha_k(Ax^{k+1}-b)
\]
增广拉格朗日乘子法
在原拉格朗日乘子法的基础上加入惩罚项, 即为增广拉格朗日乘子法, 形如
\[L_\rho(x,y)=f(x)+y^T(Ax-b)+\frac{\rho}{2}\Vert Ax-b\Vert_2^2
\]
其中\(\rho>0\), 称为惩罚参数.
在增广拉格朗日乘子法下, 原问题变为
\[\mathop{\text{min}}\limits_xf(x)+\frac{\rho}{2}\Vert Ax-b\Vert_2^2\\text{s.t.}\ Ax=b
\]
对偶上升迭代更新为
\[x^{k+1}=\mathop{\text{arg min}}\limits_xL_\rho(x,y^k)\y^{k+1}=y^k+\rho(Ax^{k+1}-b)
\]
交替方向乘子法
将原问题推广到多个参数的情形下
\[\mathop{\text{min}}\limits_xf(x)+g(z)\\text{s.t.}\ Ax+Bz=c
\]
其中\(x\in\mathbb{R}^n,z\in\mathbb{R}^m,c\in\mathbb{R}^p,A\in\mathbb{R}^{p\times n},B\in\mathbb{R}^{p\times m}\).
其拉格朗日函数可以写为
\[L_\rho(x,z,y)=f(x)+g(z)+y^T(Ax+bz-c)+\frac{\rho}{2}\Vert Ax+Bz-c\Vert_2^2
\]
其更新迭代形式为
\[x^{k+1}=\mathop{\text{arg min}}\limits_xL_\rho(x,z^k,y^k)\z^{k+1}=\mathop{\text{arg min}}\limits_zL_\rho(x^{k+1},z,y^k)\y^{k+1}=y^k+\rho(Ax^{k+1}+Bz^{k+1}-c)
\]
其中\(\rho>0\).
[ML]交替方向乘子法(ADMM)简明梳理
标签:ext 梳理 最小值 条件 需要 推广 讲解 多个 迭代
原文地址:https://www.cnblogs.com/Clouds42/p/13221722.html