对偶算法与ADMM算法
學習筆記,僅供參考,有錯必糾
轉載自:機器學習與運籌優化(六)對偶算法與ADMM算法
文章目錄
- 摘要
- ADMM算法
- 參考文獻
摘要
上文我們介紹了約束優化問題和拉格朗日對偶思想。對偶算法就像是男生女生互相挑選,最終走到一起的過程,今天我們具體介紹幾種常見的對偶算法,特別介紹在大數據時代大放異彩的ADMM算法。
回憶一下男生女生互相挑選的過程,哦不,回憶一下對偶算法的思想——構造拉格朗日函數,把約束優化問題轉化為無約束優化問題求解。
ADMM算法
例如原問題是在線性約束下極小化函數f:
我們用之前介紹的梯度下降法求解這個無約束優化問題,對于原始變量求解極小化問題(如果f可微可以應用梯度下降),對于對偶變量應用梯度上升,這就是Uzawa算法,或者叫原始-對偶上升法,講究的是“敵進我退”:
Uzawa算法的收斂性對函數f和步長均有要求,需要f是強凸的,并且梯度上升的步長不能太大,受到f的強凸性的限制。感興趣的同學可以參考Nitfy Theorem,原函數的強凸性對應對偶函數的連續性。
我們希望增強f的凸性,一個自然的想法是給f加上一個凸二次函數,于是我們準備構造一個增廣拉格朗日函數(Augmented Lagrangian):
對于這個新的拉格朗日函數, Uzawa算法可以改進為ALM算法(Augmented Lagrangian Method of Multipliers):
可以證明,由于增廣拉格朗日的強凸性和步長的聯系,ALM算法對于任意步長都是收斂的。
ALM算法的問題是,如果f不可微,每一步求解都需要解一個極小化的子問題,計算代價可能較大。而在機器學習的很多問題中,f具有特殊的結構,一般可以分解為兩個或多個函數,單個函數是利于求解的,比如統計和圖像處理中非常有名的LASSO問題:
其中第一步需要求解整個f+g的增廣拉格朗日函數的極小值,而f和g單獨的增廣拉格朗日函數的極小值更易于求解,于是我們采用“分而治之”的思想,于是得到了交替方向乘子法,ADMM算法(Alternating Direction Method of Multipliers):
ADMM算法廣泛應用于統計學習和機器學習的各個領域,包括LASSO和約束線性回歸模型;支持向量機;壓縮感知;稀疏優化;分布式計算;其他大型分布式機器學習問題等等。
原始-對偶上升法體現了兵法中的“敵進我退”思想,而ADMM算法則體現了兵法中的“分而治之”思想。研究者在提出和改進新算法時,idea往往都很簡單易懂,但背后體現了研究者的深刻的洞察力,需要對問題結構和算法思想的足夠的理解,加上一點點靈感的火花。也許下一次,讀者也能應用“三十六計”,提出更有效的機器學習優化算法。
參考文獻
[1] Boyd Stephen, Parikh Neal,Chu Eric,Peleato Borja. Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, 2010.
[2]Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.
[3]袁亞湘, 孫文瑜. “最優化理論與方法.” 科學出版社, 1997 年 1 月 (1997).
總結
以上是生活随笔為你收集整理的对偶算法与ADMM算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cnpm 安装命令
- 下一篇: 如何通俗的理解KKT条件