拉格朗日對偶性
在機器學習中,我們經常會遇到給定某些約束條件求解某個函數最大值或最小值的情況,稱之爲約束最優化,通常的做法是利用拉格朗日對偶性將原始問題轉化爲對偶問題,通過解對偶問題進而得到原始問題的解. 在機器學習的很多方法中都有用到此方法,如最大熵模型和SVM.
原始問題
我們假設f(x),ci(x),h(x)是定義在Rn上的連續可微函數,考慮如下約束最優化問題:
對於最優化問題我們通常轉化爲求min
x∈Rnmin s.t. f(x)ci(x)≤0, i=1,2,…,khj(x)=0, j=1,2,…,l
我們稱這個約束最優化問題爲原始問題.
根據高等數學的相關知識可知,對於約束最優化的最常用解法是採用拉格朗日乘數法,將其轉化爲無約束的函數進而求其最值.
因此我們引入廣義拉格朗日函數(generalized Lagrange function):
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
其中,αi,βj是拉格朗日乘子,αi≥0,我們有如下關於x的函數:
θP(x)=α,β:αi≥0max L(x,α,β)(1.1)
下標P表示原始問題.
假設給定某個x,若x違反原始問題的約束條件,即存在某個i使得ci(w)>0或者存在某個j使得hj(x)̸=0,那麼有
θP(x)=α,β:αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
若某個i使得約束ci(x)>0,則令αi→+∞,若存在某個hj(x)=0,則令βjh(x)→+∞.
我們可以這樣理解,拉格朗日函數相當於構造了一個含參函數,在滿足約束條件的情況下,這個函數的值總是小於等於目標函數f(x). 而我們此時選取合適的參數α、β令該函數最大可使等號成立,即令L(x,α,β)=f(x);若不滿足約束條件,則總存在α、β使得該函數趨向於+∞.
這裏的max就是選取參數α、β的過程.
即
θP(x)={f(x),+∞,x滿足原始問題約束其他
至此,我們用一個無約束的函數替代了原來的約束項,接下來我們進一步考慮求解目標函數f(x)的最小化.
根據之前的理解,我們很容易得出,求解f(x)的最小化等價於求解θP(x)最小化:
xminθP(x)=xminα,β:αi≥0maxL(x,α,β)(1.2)
我們將
xminα,β:αi≥0maxL(x,α,β)(1.3)
稱爲廣義拉格朗日函數的極小極大問題.
我們定義原始問題的最優值
p∗=xminθP(x)(1.4)
稱爲原始問題的值.
對偶問題
定義α、β的函數:
θD(α,β)=xminL(x,α,β)(2.1)
再考慮極大化θD(α,β),即
α,β:αi≥0maxθD(α,β)=α,β:αi≥0maxxminL(x,α,β)(2.2)
我們將
α,β:αi≥0maxxminL(x,α,β)(2.4)
稱爲廣義拉格朗日函數的極大極小問題.
將廣義拉格朗日函數的極大極小問題表示爲約束最優化問題:
α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)s.t. αi≥0, i=1,2…,k(2.5)
稱爲原始問題的對偶問題.
原始問題如下:
xminθP(x)=xminα,β:αi≥0maxL(x,α,β)
定義對偶問題的最優值:
d∗=α,β:αi≥0maxθD(α,β)(2.6)
原始問題與對偶問題的關係
(1)若原始問題和對偶問題都有最優值,
對於式(1.1)(2.1),對於任意α、β、x,我們有
θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β:αi≥0max L(x,α,β)=θP(x)
即
θD(α,β)≤θP(x)
且原始問題和對偶問題都有最優值,所以
α,β:αi≥0maxθD(α,β)≤xminθP(x)
即
d∗=α,β:αi≥0maxθD(α,β)≤xminθP(x)=p∗
對偶問題的最優值應當小於等於原始問題的最優值.
在某些條件下,會出現兩者的最優值相等d∗=p∗,此時我們就可以用對偶問題替代原始問題,而此時的x∗,α∗、β∗分別是原始問題和對偶問題的最優解.
(2)我們給出如下
定理(充分條件)
對於原始問題
x∈Rnmin s.t. f(x)ci(x)≤0, i=1,2,…,khj(x)=0, j=1,2,…,l
和對偶問題
α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)s.t. αi≥0, i=1,2…,k
假設f(x)、ci(x)是凸函數,hj(x)是仿射函數,並且假設不等式約束ci(x)是嚴格可行的,即存在x,使得所有的ci(x)<0,
則存在x∗,α∗,β∗使得x∗是原始問題的解,α∗,β∗是對偶問題的解,且
p∗=d∗=L(x∗,α∗,β∗)
KKT
如上給出的是求解的充分條件,通常情況下,我們求解問題時,只需要滿足假設,即可通過該方法將原始問題轉化爲對偶問題求解.
對於給定假設,x∗,α∗、β∗分別是原始問題和對偶問題的解的必要條件是,x∗,α∗,β∗滿足 Karush-Kuhn-Tucker(KKT) 條件:
ΔxL(x∗,α∗,β∗)=0ΔαL(x∗,α∗,β∗)=0ΔβL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,i=1,2,…,kci(x∗)≤0,i=1,2,…,kαi≥0,i=1,2,…,khj(x∗)=0,i=1,2,…,l
其中αi∗ci(x∗)=0稱爲KKt的對偶互補體哦阿健,由此條件可知:若α∗>0,則ci(x∗)=0.
參考資料
李航《統計學習方法》