拉格朗日對偶性

拉格朗日對偶性

在機器學習中,我們經常會遇到給定某些約束條件求解某個函數最大值或最小值的情況,稱之爲約束最優化,通常的做法是利用拉格朗日對偶性將原始問題轉化爲對偶問題,通過解對偶問題進而得到原始問題的解. 在機器學習的很多方法中都有用到此方法,如最大熵模型和SVM.

原始問題

我們假設f(x),ci(x),h(x)f(x),c_i(x),h_(x)是定義在RnR^n上的連續可微函數,考慮如下約束最優化問題:

對於最優化問題我們通常轉化爲求min
minxRn    f(x)s.t.    ci(x)0,   i=1,2,,khj(x)=0,  j=1,2,,l \begin{aligned} \min_{x\in R^n}\ \ \ \ &f(x)\\ s.t.\ \ \ \ &c_i(x)\leq 0,\ \ \ i=1,2,\dots,k\\ &h_j(x) = 0,\ \ j=1,2,\dots, l \end{aligned}
我們稱這個約束最優化問題爲原始問題.

根據高等數學的相關知識可知,對於約束最優化的最常用解法是採用拉格朗日乘數法,將其轉化爲無約束的函數進而求其最值.

因此我們引入廣義拉格朗日函數(generalized Lagrange function)
L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x) L(x, \alpha, \beta) = f(x) + \sum_{i=1}^k\alpha_ic_i(x) + \sum_{j=1}^l \beta_jh_j(x)

其中,αi,βj\alpha_i,\beta_j是拉格朗日乘子,αi0\alpha_i \geq 0,我們有如下關於xx的函數:
(1.1)θP(x)=maxα,β:αi0 L(x,α,β)\theta_P(x) = \max_{\alpha,\beta:\alpha_i\geq 0}\ L(x, \alpha, \beta)\tag{1.1}
下標PP表示原始問題.

假設給定某個xx,若xx違反原始問題的約束條件,即存在某個ii使得ci(w)>0c_i(w)>0或者存在某個jj使得hj(x)0h_j(x)\neq 0,那麼有

θP(x)=maxα,β:αi0[f(x)+i=1kαici(x)+j=1lβjhj(x)]=+ \theta_P(x) = \max_{\alpha,\beta:\alpha_i\geq 0} \Big[f(x) + \sum_{i=1}^k\alpha_ic_i(x) + \sum_{j=1}^l \beta_jh_j(x)\Big] = + \infty

若某個ii使得約束ci(x)>0c_i(x)>0,則令αi+\alpha_i\rightarrow + \infty,若存在某個hj(x)=0h_j(x)=0,則令βjh(x)+\beta_jh_(x)\rightarrow + \infty.

我們可以這樣理解,拉格朗日函數相當於構造了一個含參函數,在滿足約束條件的情況下,這個函數的值總是小於等於目標函數f(x)f(x). 而我們此時選取合適的參數αβ\alpha、\beta令該函數最大可使等號成立,即令L(x,α,β)=f(x)L(x,\alpha,\beta) = f(x);若不滿足約束條件,則總存在αβ\alpha、\beta使得該函數趨向於++\infty.

這裏的max\max就是選取參數αβ\alpha、\beta的過程.


θP(x)={f(x),x滿+, \theta_P(x) = \begin{cases} f(x),&x滿足原始問題約束\\ +\infty, &其他 \end{cases}

至此,我們用一個無約束的函數替代了原來的約束項,接下來我們進一步考慮求解目標函數f(x)f(x)的最小化.

根據之前的理解,我們很容易得出,求解f(x)f(x)的最小化等價於求解θP(x)\theta_P(x)最小化:
(1.2)minxθP(x)=minxmaxα,β:αi0L(x,α,β) \min_x \theta_P(x) = \min_x \max_{\alpha,\beta:\alpha_i\geq 0}L(x,\alpha,\beta)\tag{1.2}

我們將
(1.3)minxmaxα,β:αi0L(x,α,β)\min_x \max_{\alpha,\beta:\alpha_i\geq 0}L(x,\alpha,\beta)\tag{1.3}
稱爲廣義拉格朗日函數的極小極大問題.
我們定義原始問題的最優值
(1.4)p=minxθP(x)p^* = \min_x\theta_P(x)\tag{1.4}
稱爲原始問題的值.

對偶問題

定義αβ\alpha、\beta的函數:
(2.1)θD(α,β)=minxL(x,α,β)\theta_D(\alpha,\beta) = \min_xL(x, \alpha,\beta)\tag{2.1}
再考慮極大化θD(α,β)\theta_D(\alpha, \beta),即
(2.2)maxα,β:αi0θD(α,β)=maxα,β:αi0minxL(x,α,β) \max_{\alpha,\beta:\alpha_i\geq 0}\theta_D(\alpha,\beta) = \max_{\alpha,\beta:\alpha_i\geq 0} \min_x L(x,\alpha,\beta)\tag{2.2}
我們將
(2.4)maxα,β:αi0minxL(x,α,β) \max_{\alpha,\beta:\alpha_i\geq 0} \min_x L(x,\alpha,\beta)\tag{2.4}
稱爲廣義拉格朗日函數的極大極小問題.

將廣義拉格朗日函數的極大極小問題表示爲約束最優化問題:
(2.5)maxα,βθD(α,β)=maxα,βminxL(x,α,β)s.t.    αi0,   i=1,2,k \begin{aligned} &\max_{\alpha,\beta}\theta_D(\alpha,\beta) = \max_{\alpha,\beta} \min_x L(x,\alpha,\beta)\tag{2.5}\\ &s.t.\ \ \ \ \alpha_i\geq0,\ \ \ i=1,2\dots,k \end{aligned}
稱爲原始問題的對偶問題.

原始問題如下:
minxθP(x)=minxmaxα,β:αi0L(x,α,β) \min_x \theta_P(x) = \min_x \max_{\alpha,\beta:\alpha_i\geq 0}L(x,\alpha,\beta)

定義對偶問題的最優值:
(2.6)d=maxα,β:αi0θD(α,β)d^* = \max_{\alpha,\beta:\alpha_i\geq0}\theta_D(\alpha,\beta)\tag{2.6}

原始問題與對偶問題的關係

(1)若原始問題和對偶問題都有最優值,
對於式(1.1)(2.1)(1.1)(2.1),對於任意αβx\alpha、\beta、x,我們有
θD(α,β)=minxL(x,α,β)L(x,α,β)maxα,β:αi0 L(x,α,β)=θP(x) \theta_D(\alpha,\beta) = \min_xL(x, \alpha,\beta)\leq L(x,\alpha,\beta)\leq \max_{\alpha,\beta:\alpha_i\geq 0}\ L(x, \alpha, \beta) =\theta_P(x)

θD(α,β)θP(x)\theta_D(\alpha,\beta)\leq \theta_P(x)
且原始問題和對偶問題都有最優值,所以
maxα,β:αi0θD(α,β)minxθP(x)\max_{\alpha,\beta:\alpha_i\geq 0}\theta_D(\alpha,\beta)\leq \min_x\theta_P(x)

d=maxα,β:αi0θD(α,β)minxθP(x)=p d^* = \max_{\alpha,\beta:\alpha_i\geq 0}\theta_D(\alpha,\beta)\leq \min_x\theta_P(x) = p^*
對偶問題的最優值應當小於等於原始問題的最優值.

在某些條件下,會出現兩者的最優值相等d=pd^* = p^*,此時我們就可以用對偶問題替代原始問題,而此時的x,αβx^*,\alpha^*、\beta^*分別是原始問題和對偶問題的最優解.

(2)我們給出如下

定理(充分條件)

對於原始問題
minxRn    f(x)s.t.    ci(x)0,   i=1,2,,khj(x)=0,  j=1,2,,l \begin{aligned} \min_{x\in R^n}\ \ \ \ &f(x)\\ s.t.\ \ \ \ &c_i(x)\leq 0,\ \ \ i=1,2,\dots,k\\ &h_j(x) = 0,\ \ j=1,2,\dots, l \end{aligned}
和對偶問題
maxα,βθD(α,β)=maxα,βminxL(x,α,β)s.t.    αi0,   i=1,2,k \begin{aligned} &\max_{\alpha,\beta}\theta_D(\alpha,\beta) = \max_{\alpha,\beta} \min_x L(x,\alpha,\beta)\\ &s.t.\ \ \ \ \alpha_i\geq0,\ \ \ i=1,2\dots,k \end{aligned}
假設f(x)ci(x)f(x)、c_i(x)是凸函數,hj(x)h_j(x)是仿射函數,並且假設不等式約束ci(x)c_i(x)是嚴格可行的,即存在xx,使得所有的ci(x)<0c_i(x)<0

則存在x,α,βx^*,\alpha^*,\beta^*使得xx^*是原始問題的解,α,β\alpha^*,\beta^*是對偶問題的解,且
p=d=L(x,α,β)p^*=d^* = L(x^*,\alpha^*,\beta^*)

KKT

如上給出的是求解的充分條件,通常情況下,我們求解問題時,只需要滿足假設,即可通過該方法將原始問題轉化爲對偶問題求解.

對於給定假設,x,αβx^*,\alpha^*、\beta^*分別是原始問題和對偶問題的解的必要條件是,x,α,βx^*,\alpha^*,\beta^*滿足 Karush-Kuhn-Tucker(KKT) 條件:
ΔxL(x,α,β)=0ΔαL(x,α,β)=0ΔβL(x,α,β)=0αici(x)=0,i=1,2,,kci(x)0,i=1,2,,kαi0,i=1,2,,khj(x)=0,i=1,2,,l \Delta_xL(x^*,\alpha^*,\beta^*) = 0\\ \Delta_{\alpha}L(x^*,\alpha^*,\beta^*) = 0\\ \Delta_{\beta}L(x^*,\alpha^*,\beta^*) = 0\\ \alpha_i^*c_i(x^*) = 0, i=1,2,\dots,k\\ c_i(x^*) \leq 0, i=1,2,\dots,k\\ \alpha_i \geq 0, i=1,2,\dots,k\\ h_j(x^*) = 0, i=1,2,\dots,l\\
其中αici(x)=0\alpha_i^*c_i(x^*) = 0稱爲KKt的對偶互補體哦阿健,由此條件可知:若α>0\alpha^* > 0,則ci(x)=0c_i(x^*) = 0.

參考資料

李航《統計學習方法》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章