在約束最優化問題中,經常利用拉格朗日對偶性(Lagrange duality)將原始問題轉換爲對偶問題,經過解對偶問題而獲得原始問題的解。這是由於:函數
1)對偶問題的對偶是原問題;優化
2)不管原始問題與約束條件是不是凸的,對偶問題都是凹問題,加個負號就變成凸問題了,凸問題容易優化。spa
3)對偶問題能夠給出原始問題一個下界;3d
4)當知足必定條件時,原始問題與對偶問題的解是徹底等價的;xml
原始問題:blog
假設f(x),ci(x),hj(x)是定義在Rn上的聯繫可微函數,考慮約束條件下最優化問題:ci
稱此約束最優化問題爲原始問題。it
廣義拉格朗日函數:class
這裏,x=(x1,x2,...,xn), α,β是拉格朗日乘子。變量
Lagrange對偶函數:
定義拉格朗日對偶函數或者對偶函數g爲拉格朗日函數關於x取得的最小值,即對α,β,有:
通俗理解就是每肯定一組(α,β),就要找到一個x使得L最小,不一樣的(α,β)對應不一樣的g函數值。
對偶函數與原問題的關係:
因此對偶函數是原問題的最優值下界,雖然不等式成立,可是若是α<0,而且讓α趨近於負無窮,這個時候g(α,β)=-∞,雖然也知足不等式,可是此時沒有任何意義。因此只有當α≥0,這個時候g(α,β)>-∞時,對偶函數才能給出原目標函數一個非平凡是有意義的下界,稱此條件下的(α,β)是對偶可行的。圖示以下:
在圖中,實線表明的是目標函數f(x),而虛線表明的是約束條件c(x),彩色的點線表明λ取不一樣值的時候對應的拉格朗日函數L。咱們能夠看到,在約束條件可行(c(x)≤0)的區間內,拉格朗日函數都是小於目標函數的。在可行區間內,目標函數的最值將在x = -0.46處取得p∗=1.54。
爲何對偶函數必定是凹函數呢?
其實L能夠理解爲一個以固定x帶入c(x)和h(x)做爲常數值係數,α、β做爲變量的仿射函數。
所謂仿射函數,就是f(x)=a*x+b形式,其實就是線性函數了。
因此,g(α,β)爲不少個仿射函數的逐個x取值點取最小值:
L=Aα+Bβ+C 其中:A=c(x) B=h(x) C=f(x)
例如:L=2α+3β+1,L=α+2β+4, L=5α+β+3等等。便於理解,先不考慮β,這樣大體展現的圖像就是以下:
裏面的每一條直線,都是以某一固定x做爲係數,α做爲變量的線性函數的直線,也就是當x固定時候,隨着α的變化,L的值不斷髮生變化。
當咱們沿着L所在軸豎着切下來的時候,也就是圖中個藍色線,這個時候其實就是α固定,而對應不一樣的x狀況下,L值的一個變化範圍。由圖可知,紅色線就是每次固定α,而找到一個x,使得L最小的走勢線,也就是g(α,β)的函數曲線,以下圖:
凹折線就是g(α,β)的曲線,水平虛線就是原問題的最優函數值P*。由此可知,不管原問題和約束條件是什麼樣的,對偶函數都是凹函數,且都小於等於原問題最優值。
Lagrange對偶問題:
對於任意一組(α,β),其中α≥0,拉格朗日對偶函數給出了原問題的最優值的一個下界,所以,咱們能夠獲得和參數α,β相關的一個下界。一個天然問題是:從Lagrange函數能獲得的最好下界是什麼?能夠將這個問題表述爲優化問題:
上述問題就稱之爲Lagrange對偶問題。
前面講只有當α≥0,g(α,β)>-∞時此時纔有意義,知足這樣一組條件的(α,β)是上述對偶問題的一個可行解。若是一個解(α*,β*)是上述對偶問題的最優解,則稱解(α*,β*)是對偶最優解或者最優Lagrange乘子。
此時對偶問題是一個凸優化問題,這是由於極大化目標函數是一個凹函數,且約束集合是一個凸集。
弱對偶
Lagrange對偶問題的最優值,咱們用d*表示,根據定義,這是經過Lagrange函數獲得的原問題最優值p*的最好下界。特別地,咱們有下面簡單可是很是重要的不等式
即便原問題不是凸問題,上述不等式也成立,這個性質稱爲弱對偶性。
強對偶性
與弱對偶性相對應的有一個強對偶性(strong duality) ,強對偶即知足:
強對偶是一個很是好的性質,由於在強對偶成立的狀況下,能夠經過求解對偶問題來獲得原始問題的解,在 SVM 中就是這樣作的。固然並非全部的對偶問題都知足強對偶性 ,在 SVM 中是直接假定了強對偶性的成立,其實只要知足一些條件,強對偶性是成立的,好比說 Slater 條件與KKT條件。
KKT條件:
假設x*是原始問題的最優解,α*和β*是對偶問題的最優解。若是強對偶成立,那麼原問題最優解和對偶問題最優解必須知足KKT條件,屬於充分必要條件。