1. 程式人生 > >凸優化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子演算法

凸優化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子演算法

最近開始對凸優化(convex optimization)開始感興趣,接下來我會寫一系列關於凸優化(convex optimization)的內容。

本文主要對ADMM(Alternating Direction Method of Multipliers)交替方向乘子演算法做一個簡要的介紹:

  1. 對偶上升法(Dual Ascent) 和 對偶分解法(Dual Decomposition)
    在介紹ADMM之前我們首先介紹兩種優化演算法:對偶上升法(Dual Ascent) 和 對偶分解法(Dual Decomposition)。
    1.1 對偶上升法(Dual Ascent)
    設有如下優化問題:

    minf(x)s.t. Ax=b(1)
    它的拉格朗日形式為:
    L(x,λ)=f(x)+λT(Axb)(2)
    對偶形式為:
    g(λ)=infxL(x,λ)=f(ATλ)bTλ(3)
    其中 f^* 是 f 的共軛函式。
    對偶問題為:
    maxg(λ)(4)

    對偶上升法的迭代更新為:

    xk+1=argminxL(x,λk)(5)x- λk+1=λk+αk(Axk+1b)(6)
    其中αk>0是步長。

    1.2 對偶分解法(Dual Decomposition)
    假設目標函式是可以分解的,即

    f(x)=i=1Nfi(xi)(7)
    因此,拉格朗日函式可以改寫為:
    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+1b)(10)
  2. 增廣拉格朗日(Augmented Lagrangians)和乘子法(Method of Multipliers)
    接著我們引入增廣拉格朗日(Augmented Lagrangians)和乘子法(Method of Multipliers)。
    2.1 增廣拉格朗日(Augmented Lagrangians)形式
    為了增加對偶上升法的魯棒性和放鬆函式f的強凸約束,我們引入增廣拉格朗日(Augmented Lagrangians)形式:

    Lρ(x,λ)=f(x)+λT(Axb)+(ρ/2)||Axb||22(11)
    其中懲罰因子ρ>0
    與 (2) 式相比,(11) 式只是增加了一個懲罰項,
    2.2 乘子法(Method of Multipliers)
    對應於的迭代公式為:
    xk+1=argminxLρ(x,λk)(12) λk+1=λk+ρ(Axk+1b)(13)
    我們稱之為乘子法(Method of Multipliers)。

    將拉格朗日應用於對偶上升法可以極大地增加它的收斂屬性,但是它要求一些代價。當f可以分解,而拉格朗日Lρ不能分解的,因此 (13) 式不能對每個xi並行最小化。這意味著乘子法不能被用來分解。

  3. ADMM(Alternating Direction Method of Multipliers)
    如前文所述,ADMM是一個旨在將對偶上升法的可分解性和乘子法的上界收斂屬性融合在一起的演算法。
    2.1 具體描述
    設有如下優化問題:

    minf(