ADMM:交替方向乘子算法
原文鏈接:http://blog.csdn.net/shanglianlm/article/details/45919679
ADMM(Alternating Direction Method of Multipliers)?
如下文所述,ADMM是一個旨在將對偶上升法的可分解性和乘子法的上界收斂屬性融合在一起的算法。?
2.1?具體描述?
設有如下優(yōu)化問題:?
如同乘子法中一樣,我們獲得它的增廣拉格朗日形式為:?
Lρ(x,z,λ)=f(x)+g(z)+yT(Ax+Bz?c)+(ρ/2)||Ax+Bz?c||22????????(15)
那么它的迭代方式為:?
xk+1=argminxLρ(x,zk,λk)????????(16) zk+1=argminzLρ(xk+1,z,λk)????????(17) λk+1=λk+ρ(Axk+1+Bzk+1?c)????????(18)
其中增廣拉格朗日參數(shù) ρ>0 。
2.2?優(yōu)化條件和停止準則?
原始殘差:rk+1=Axk+1+Bzk+1?c<?primal?
對偶殘差:sk+1=ρATB(zk+1?zk)<?dual
2.3?收斂速度
- 收斂到一個高的精度要求很多次迭代;
- 但幾十次迭代就可以達到一個合理的精度(類似于共軛梯度法(conjugate gradient method));
- 可以和其他算法組合來產生一個高的精度。
對偶上升法(Dual Ascent) 和 對偶分解法(Dual Decomposition)?
在介紹ADMM之前我們首先介紹兩種優(yōu)化算法:對偶上升法(Dual Ascent) 和 對偶分解法(Dual Decomposition)。?
1.1?對偶上升法(Dual Ascent)?
設有如下優(yōu)化問題:?
它的拉格朗日形式為:?
L(x,λ)=f(x)+λT(Ax?b)????????(2)
對偶形式為:?
g(λ)=infxL(x,λ)=?f?(?ATλ)?bTλ????????(3)
其中 f^* 是 f 的共軛函數(shù)。?
對偶問題為:?
max?g(λ)???????(4)
對偶上升法的迭代更新為:?
其中αk>0是步長。
1.2?對偶分解法(Dual Decomposition)?
假設目標函數(shù)是可以分解的,即?
因此,拉格朗日函數(shù)可以改寫為:?
L(x,λ)=∑i=1NLi(xi,λ)=∑i=1N(fi(xi)+λTAixi?(1/N)λTb)????????(8)
所以它的迭代更新為:?
xk+1i=argminxiLi(xi,λk)????????(9) λk+1=λk+αk(Axk+1?b)????????(10)
增廣拉格朗日(Augmented Lagrangians)和乘子法(Method of Multipliers)?
接著我們引入增廣拉格朗日(Augmented Lagrangians)和乘子法(Method of Multipliers)。?
2.1?增廣拉格朗日(Augmented Lagrangians)形式?
為了增加對偶上升法的魯棒性和放松函數(shù)f的強凸約束,我們引入增廣拉格朗日(Augmented Lagrangians)形式:?
其中懲罰因子ρ>0。?
與 (2) 式相比,(11) 式只是增加了一個懲罰項,?
2.2?乘子法(Method of Multipliers)?
對應于的迭代公式為:?
xk+1=argminxLρ(x,λk)????????(12) λk+1=λk+ρ(Axk+1?b)????????(13)
我們稱之為乘子法(Method of Multipliers)。
將拉格朗日應用于對偶上升法可以極大地增加它的收斂屬性,但是它要求一些代價。當f可以分解,而拉格朗日Lρ不能分解的,因此 (13) 式不能對每個xi并行最小化。這意味著乘子法不能被用來分解。
[1] Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers ?
[2]? 凸優(yōu)化講義 ?
[3]? A Note on the Alternating Direction Method of Multipliers
總結
以上是生活随笔為你收集整理的ADMM:交替方向乘子算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab中函数使用
- 下一篇: 卫星通信频段:C频段、Ku频段和Ka频段