拉格朗日對偶

2 拉格朗日對偶(Lagrange duality)

     先拋開上面的二次規劃問題,先來看看存在等式約束的極值問題求法,比如下面的最優化問題:

    clip_image001[9]    

    目標函數是f(w),下面是等式約束。通常解法是引入拉格朗日算子,這裏使用clip_image003[14]來表示算子,得到拉格朗日公式爲

    clip_image004[6]    

    L是等式約束的個數。

    然後分別對w和clip_image003[15]求偏導,使得偏導數等於0,然後解出w和clip_image006[6]。至於爲什麼引入拉格朗日算子可以求出極值,原因是f(w)的dw變化方向受其他不等式的約束,dw的變化方向與f(w)的梯度垂直時才能獲得極值,而且在極值處,f(w)的梯度與其他等式梯度的線性組合平行,因此他們之間存在線性關係。(參考《最優化與KKT條件》)

然後我們探討有不等式約束的極值問題求法,問題如下:

    clip_image007[6]    

    我們定義一般化的拉格朗日公式

clip_image008[6]

    這裏的clip_image010[50]clip_image012[14]都是拉格朗日算子。如果按這個公式求解,會出現問題,因爲我們求解的是最小值,而這裏的clip_image014[6]已經不是0了,我們可以將clip_image010[51]調整成很大的正值,來使最後的函數結果是負無窮。因此我們需要排除這種情況,我們定義下面的函數:

    clip_image015[6]

    這裏的P代表primal。假設clip_image017[6]或者clip_image019[6],那麼我們總是可以調整clip_image010[52]clip_image012[15]來使得clip_image021[10]有最大值爲正無窮。而只有g和h滿足約束時,clip_image021[11]爲f(w)。這個函數的精妙之處在於clip_image023[6],而且求極大值。

    因此我們可以寫作

    clip_image024[6]

    這樣我們原來要求的min f(w)可以轉換成求clip_image026[10]了。    

    clip_image027[6]

    我們使用clip_image029[6]來表示clip_image026[11]。如果直接求解,首先面對的是兩個參數,而clip_image010[53]也是不等式約束,然後再在w上求最小值。這個過程不容易做,那麼怎麼辦呢?

    我們先考慮另外一個問題clip_image030[6]

    D的意思是對偶,clip_image031[10]將問題轉化爲先求拉格朗日關於w的最小值,將clip_image033[6]clip_image003[16]看作是固定值。之後在clip_image031[11]求最大值的話:

clip_image034[6]

    這個問題是原問題的對偶問題,相對於原問題只是更換了min和max的順序,而一般更換順序的結果是Max Min(X) <= MinMax(X)。然而在這裏兩者相等。用clip_image036[6]來表示對偶問題如下:

    clip_image037[6]

    下面解釋在什麼條件下兩者會等價。假設f和g都是凸函數,h是仿射的(affine,clip_image038[6])。並且存在w使得對於所有的i,clip_image040[10]。在這種假設下,一定存在clip_image042[14]使得clip_image044[14]是原問題的解,clip_image046[6]是對偶問題的解。還有clip_image047[6]另外,clip_image042[15]滿足庫恩-塔克條件(Karush-Kuhn-Tucker, KKT condition),該條件如下:

    clip_image048[6]

    所以如果clip_image042[16]滿足了庫恩-塔克條件,那麼他們就是原問題和對偶問題的解。讓我們再次審視公式(5),這個條件稱作是KKT dual complementarity條件。這個條件隱含了如果clip_image050[6],那麼clip_image052[10]。也就是說,clip_image052[11]時,w處於可行域的邊界上,這時纔是起作用的約束。而其他位於可行域內部(clip_image054[6]的)點都是不起作用的約束,其clip_image056[6]。這個KKT雙重補足條件會用來解釋支持向量和SMO的收斂測試。

    這部分內容思路比較凌亂,還需要先研究下《非線性規劃》中的約束極值問題,再回頭看看。KKT的總體思想是將極值會在可行域邊界上取得,也就是不等式爲0或等式約束裏取得,而最優下降方向一般是這些等式的線性組合,其中每個元素要麼是不等式爲0的約束,要麼是等式約束。對於在可行域邊界內的點,對最優解不起作用,因此前面的係數爲0。

最優間隔分類器(optimal margin classifier)

    重新回到SVM的優化問題:

    clip_image057[6]

    我們將約束條件改寫爲:

    clip_image058[6]

    從KKT條件得知只有函數間隔是1(離超平面最近的點)的線性約束式前面的係數clip_image060[14],也就是說這些約束式clip_image062[6],對於其他的不在線上的點(clip_image064[6]),極值不會在他們所在的範圍內取得,因此前面的係數clip_image066[14].注意每一個約束式實際就是一個訓練樣本。

    看下面的圖:

clip_image067[6]

    實線是最大間隔超平面,假設×號的是正例,圓圈的是負例。在虛線上的點就是函數間隔是1的點,那麼他們前面的係數clip_image060[15],其他點都是clip_image066[15]。這三個點稱作支持向量。構造拉格朗日函數如下:    

    clip_image068[6]

    注意到這裏只有clip_image010[54]沒有clip_image012[16]是因爲原問題中沒有等式約束,只有不等式約束。

    下面我們按照對偶問題的求解步驟來一步步進行,

    clip_image069[10]

    首先求解clip_image070[10]的最小值,對於固定的clip_image010[55]clip_image070[11]的最小值只與w和b有關。對w和b分別求偏導數。

    clip_image071[6]

    clip_image072[6]

    並得到

    clip_image073[6]

    將上式帶回到拉格朗日函數中得到,此時得到的是該函數的最小值(目標函數是凸函數)

    代入後,化簡過程如下:

     

  最後得到

clip_image074[6]

     由於最後一項是0,因此簡化爲

    clip_image075[6]

    這裏我們將向量內積clip_image076[6]表示爲clip_image077[6]

    此時的拉格朗日函數只包含了變量clip_image010[56]。然而我們求出了clip_image010[57]才能得到w和b。

    接着是極大化的過程clip_image069[11]

clip_image078[6]

    前面提到過對偶問題和原問題滿足的幾個條件,首先由於目標函數和線性約束都是凸函數,而且這裏不存在等式約束h。存在w使得對於所有的i,clip_image040[11]。因此,一定存在clip_image080[6]使得clip_image044[15]是原問題的解,clip_image082[10]是對偶問題的解。在這裏,求clip_image010[58]就是求clip_image082[11]了。

    如果求出了clip_image010[59],根據clip_image083[6]即可求出w(也是clip_image044[16],原問題的解)。然後

    clip_image084[6]

    即可求出b。即離超平面最近的正的函數間隔要等於離超平面最近的負的函數間隔。

    關於上面的對偶問題如何求解,將留給下一篇中的SMO算法來闡明。

    這裏考慮另外一個問題,由於前面求解中得到

    clip_image086[6]

    我們通篇考慮問題的出發點是clip_image088[6],根據求解得到的clip_image010[60],我們代入前式得到

    clip_image089[6]

    也就是說,以前新來的要分類的樣本首先根據w和b做一次線性運算,然後看求的結果是大於0還是小於0,來判斷正例還是負例。現在有了clip_image010[61],我們不需要求出w,只需將新來的樣本和訓練數據中的所有樣本做內積和即可。那有人會說,與前面所有的樣本都做運算是不是太耗時了?其實不然,我們從KKT條件中得到,只有支持向量的clip_image060[16],其他情況clip_image066[16]。因此,我們只需求新來的樣本和支持向量的內積,然後運算即可。這種寫法爲下面要提到的核函數(kernel)做了很好的鋪墊。這是上篇,先寫這麼多了。

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