【优化】对偶上升法(Dual Ascent)超简说明

【优化】对偶上升法(Dual Ascent)超简说明

本文从便于理解的角度介绍对偶上升法,略去大部分数学推导,目的是帮助大家看懂论文中的相关部分。

阅读本文前,请先参看这篇博客《共轭函数超简说明》

1</sup>

也称为拉格朗日对偶函数(Lagrange dual function)。

拉格朗日量

考虑定义域

    D



   D


D上的最小化问题:<br> 




     m


     i


     n


     i


     m


     i


     z


     e


      



      f


      0



     (


     x


     )


     ,


     x


     ∈


     D



    minimize\ f_0(x), x\in D


 minimize f0​(x),x∈D

    m



   m


m个不等式约束,以及




    p



   p


p个等式约束:<br> 





      f


      i



     (


     x


     )


     ≤


     0


     ,


     i


     =


     1


     ,


     2...


     m



    f_i(x)\leq0, i=1,2...m


 fi​(x)≤0,i=1,2...m







      h


      i



     (


     x


     )


     =


     0


     ,


     i


     =


     1


     ,


     2...


     p



    h_i(x)=0, i=1,2...p


 hi​(x)=0,i=1,2...p

这个最优化问题的拉格朗日量(Lagrangian)为:

     L


     (


     x


     ,


     λ


     ,


     ν


     )


     =



      f


      0



     (


     x


     )


     +



      ∑



       i


       =


       1



      m




      λ


      i




      f


      i



     (


     x


     )


     +



      ∑



       i


       =


       1



      p




      ν


      i




      h


      i



     (


     x


     )



    L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x) + \sum_{i=1}^p\nu_ih_i(x)


 L(x,λ,ν)=f0​(x)+i=1∑m​λi​fi​(x)+i=1∑p​νi​hi​(x)

其物理意义参见这篇博客《拉格朗日乘子法超简说明》

其中

    λ


    ,


    ν



   \lambda, \nu


λ,ν称为拉格朗日乘子(Lagrange multiplier)或者对偶变量(dual variable),




    x



   x


x称为原变量(primal variable)。

拉格朗日量是关于

     x


     ,


     λ


     ,


     ν



    x,\lambda, \nu


 x,λ,ν的函数。</p> 


拉格朗日对偶函数

对于定义域

    D



   D


D上




    x



   x


x的所有取值,拉格朗日量的最小值即为拉格朗日对偶函数(dual function):<br> 




     g


     (


     λ


     ,


     ν


     )


     =




       inf


       ⁡




       x


       ∈


       D




     L


     (


     x


     ,


     λ


     ,


     ν


     )



    g(\lambda, \nu)=\inf_{x\in D}L(x,\lambda, \nu)


 g(λ,ν)=x∈Dinf​L(x,λ,ν)

拉格朗日对偶函数是关于对偶变量

     λ


     ,


     ν



    \lambda, \nu


 λ,ν的函数</p> 


拉格朗日对偶函数可以看做是

    x



   x


x取不同值时一族曲线的下界(绿线)。<br> <img src="https://img-blog.csdnimg.cn/img_convert/86704d14fdf9b349d386151a669f4d1a.png" alt="这里写图片描述">

    λ


    ≥


    0



   \lambda\geq0


λ≥0时,对于最优化问题的解





     x


     ˉ




   \bar x


xˉ,两个约束条件都非正:<br> 





      λ


      i




      f


      i



     (



      x


      ˉ



     )


     <


     =


     0


     ,


      



      ν


      i




      h


      i



     (



      x


      ˉ



     )


     =


     0



    \lambda_i f_i(\bar x)<=0, \ \nu_i h_i(\bar x)=0


 λi​fi​(xˉ)<=0, νi​hi​(xˉ)=0 




     L


     (



      x


      ˉ



     ,


     λ


     ,


     ν


     )


     ≤



      f


      0



     (



      x


      ˉ



     )



    L(\bar x,\lambda,\nu)\leq f_0(\bar x)


 L(xˉ,λ,ν)≤f0​(xˉ) 




     g


     (


     λ


     ,


     ν


     )


     ≤



      f


      0



     (



      x


      ˉ



     )



    g(\lambda, \nu)\leq f_0(\bar x)


 g(λ,ν)≤f0​(xˉ)

换言之

      λ


      >


      0



     \lambda>0


  λ>0时,拉格朗日对偶函数是最优化值的下界</strong>。</p> 


对偶函数与共轭函数

考虑线性约束下的最优化问题

     m


     i


     n


     i


     m


     i


     z


     e


      



      f


      0



     (


     x


     )


     ,


     x


     ∈


     D



    minimize\ f_0(x), x\in D


 minimize f0​(x),x∈D






     A


     x


     ≤


     b


     ,


     C


     x


     =


     d



    Ax\leq b,Cx=d


 Ax≤b,Cx=d

其对偶函数:

     g


     (


     λ


     ,


     ν


     )


     =




       inf


       ⁡



      x




      (



       f


       0



      (


      x


      )


      +



       λ


       T



      (


      A


      x


      −


      b


      )


      +



       ν


       T



      (


      C


      x


      −


      d


      )


      )




    g(\lambda, \nu)=\inf_x \left( f_0(x)+\lambda^T(Ax-b) + \nu^T(Cx-d)\right)


 g(λ,ν)=xinf​(f0​(x)+λT(Ax−b)+νT(Cx−d))

提取和

    x



   x


x无关的项,凑出共轭函数形式:<br> 




     g


     (


     λ


     ,


     ν


     )


     =


     −



      λ


      T



     b


     −



      ν


      T



     d


     +




       inf


       ⁡



      x




      (



       f


       0



      (


      x


      )


      +



       λ


       T



      A


      x


      +



       ν


       T



      C


      x


      )




    g(\lambda, \nu)=-\lambda^Tb - \nu^Td + \inf_x \left( f_0(x)+\lambda^TAx + \nu^TCx\right)


 g(λ,ν)=−λTb−νTd+xinf​(f0​(x)+λTAx+νTCx)






     =


     −



      λ


      T



     b


     −



      ν


      T



     d


     −




       sup


       ⁡



      x




      (


      (


      −



       A


       T



      λ


      −



       C


       T



      ν



       )


       T



      x


      −



       f


       0



      (


      x


      )


      )




    =-\lambda^Tb - \nu^Td - \sup_x \left( (-A^T\lambda-C^T\nu)^Tx - f_0(x)\right)


 =−λTb−νTd−xsup​((−ATλ−CTν)Tx−f0​(x))






     =


     −



      λ


      T



     b


     −



      ν


      T



     d


     −



      f


      ∗



     (


     −



      A


      T



     λ


     −



      C


      T



     ν


     )



    =-\lambda^Tb - \nu^Td - f^*(-A^T\lambda-C^T\nu)


 =−λTb−νTd−f∗(−ATλ−CTν)

线性约束下的对偶函数可以用共轭函数表示。
其自变量为拉格朗日乘子的线性组合。

2</sup>

上图绿线上的最高点,是对于最优化值下界的最好估计:

     m


     a


     x


     i


     m


     i


     z


     e


      


     g


     (


     λ


     ,


     ν


     )



    maximize\ g(\lambda,\nu)


 maximize g(λ,ν)






     s


     u


     b


     j


     e


     c


     t


      


     t


     o


      


     λ


     ≥


     0



    subject\ to\ \lambda \geq0


 subject to λ≥0<br> 这个问题称为原优化问题的拉格朗日对偶问题(dual problem)。

如果

  • 强对偶条件成立[3](#fn3)
  • 对偶问题存在最优解
      λ


      ˉ



     ,



      ν


      ˉ




    \bar \lambda,\bar \nu


 λˉ,νˉ</li>

则:原问题

     f


     0



    (


    x


    )



   f_0(x)


f0​(x)的最优解





     x


     ˉ




   \bar x


xˉ也是




    L


    (


    x


    ,



     λ


     ˉ



    ,



     ν


     ˉ



    )



   L(x,\bar \lambda,\bar \nu)


L(x,λˉ,νˉ)的最优解<sup class="footnote-ref">[3](#fn3)</sup>






    L


    (


    x


    ,



     λ


     ˉ



    ,



     ν


     ˉ



    )



   L(x,\bar \lambda,\bar \nu)


L(x,λˉ,νˉ)是关于




    x



   x


x的函数,相当于在图中




    [


    λ


    ,


    ν


    ]


    =


    [



     λ


     ˉ



    ,



     ν


     ˉ



    ]



   [\lambda,\nu] = [\bar \lambda,\bar \nu]


[λ,ν]=[λˉ,νˉ]对应的竖线上,查找值最小曲线对应的




    x



   x


x。

换言之:

原问题和对偶问题通过拉格朗日量联系了起来。

这里写图片描述

如果

    f


    (


    x


    )



   f(x)


f(x)复杂,而




    g


    (


    λ


    ,


    ν


    )



   g(\lambda, \nu)


g(λ,ν)简单, 可以通过如下方式求解原问题:
  • 求解 max ⁡ g ( λ , ν ) \max g(\lambda, \nu) maxg(λ,ν)得到 λ ˉ , ν ˉ \bar \lambda, \bar \nu λˉ,νˉ
  • 求解 min ⁡ L ( x , λ ˉ , ν ˉ ) \min L(x,\bar \lambda, \bar \nu) minL(x,λˉ,νˉ)得到 x ˉ \bar x xˉ
  • # [4](#fn4) 利用原问题和对偶问题的上述关系,有如下推论: 设第 k k k次迭代得到原问题解 x k x^k xk,对偶问题解 λ k , ν k \lambda^k,\nu^k λk,νk
  • 假设 λ k , ν k \lambda^k,\nu^k λk,νk已经为对偶问题最优解
  • 根据上述等价性,最小化 L ( x , λ k , ν k ) L(x,\lambda^k,\nu^k) L(x,λk,νk)能得到原问题最优解 x k + 1 x^{k+1} xk+1
    x k + 1 = arg ⁡ min ⁡ x L ( x , λ k , ν k ) x^{k+1}=\arg \min_xL(x,\lambda^k,\nu^k) xk+1=argxmin​L(x,λk,νk)
  • L ( x , λ k , ν k ) L(x,\lambda^k,\nu^k) L(x,λk,νk)是 λ k , ν k \lambda^k,\nu^k λk,νk位置上,不同 x x x对应的 L L L取值
  • 所以, x = x k + 1 x=x^{k+1} x=xk+1的曲线处于所有曲线最下面。即 g ( λ k , ν k ) = L ( x k + 1 , λ k , ν k ) g(\lambda^k,\nu^k)=L(x^{k+1},\lambda^k,\nu^k) g(λk,νk)=L(xk+1,λk,νk)
  • 在该位置使用梯度上升法更新对偶问题解
    λ k + 1 = λ k + α ⋅ ∂ L ( x , λ , ν ) ∂ λ ∣ x = x k + 1 , λ = λ k , ν = ν k \lambda^{k+1}=\lambda^k + \alpha \cdot \frac{\partial L(x,\lambda,\nu)}{\partial \lambda} |_{x=x^{k+1},\lambda=\lambda^{k}, \nu=\nu^{k}} λk+1=λk+α⋅∂λ∂L(x,λ,ν)​∣x=xk+1,λ=λk,ν=νk​
  •       ν
    
    
    
           k
    
    
           +
    
    
           1
    
    
    
    
         =
    
    
    
          λ
    
    
          k
    
    
    
         +
    
    
         α
    
    
         ⋅
    
    
    
    
           ∂
    
    
           L
    
    
           (
    
    
           x
    
    
           ,
    
    
           λ
    
    
           ,
    
    
           ν
    
    
           )
    
    
    
    
           ∂
    
    
           ν
    
    
    
    
    
          ∣
    
    
    
           x
    
    
           =
    
    
    
            x
    
    
    
             k
    
    
             +
    
    
             1
    
    
    
    
           ,
    
    
           λ
    
    
           =
    
    
    
            λ
    
    
            k
    
    
    
           ,
    
    
           ν
    
    
           =
    
    
    
            ν
    
    
            k
    
    
    
    
    
    
        \nu^{k+1}=\lambda^k + \alpha \cdot \frac{\partial L(x,\lambda,\nu)}{\partial \nu} |_{x=x^{k+1},\lambda=\lambda^{k}, \nu=\nu^{k}}
    
    
     νk+1=λk+α⋅∂ν∂L(x,λ,ν)​∣x=xk+1,λ=λk,ν=νk​
    
    

    这一方法称为对偶上升法。下图的灰线示出解的变化:
    这里写图片描述

    1. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004. KaTeX parse error: Undefined control sequence: \S at position 1: \̲S̲ 5.1 ↩︎ 1. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004. KaTeX parse error: Undefined control sequence: \S at position 1: \̲S̲ 5.2 ↩︎ 1. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004. KaTeX parse error: Undefined control sequence: \S at position 1: \̲S̲ 5.5.5 ↩︎ ↩︎ 1. S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine Learning, 2011. KaTeX parse error: Undefined control sequence: \S at position 1: \̲S̲ 2.1 ↩︎
    posted @ 2020-12-28 10:16  刘桓湚  阅读(879)  评论(0)    收藏  举报