機器學習基石--學習筆記02--Hard Dual SVM

背景 html

上一篇文章總結了linear hard SVM,解法很直觀,直接從SVM的定義出發,通過等價變換,轉成QP問題求解。這一講,從另外一個角度描述hard SVM的解法,不那麼直觀,可是能夠避免feature轉換時的數據計算,這樣就能夠利用一些很高緯度(甚至是無限維度)的feature轉換,獲得一些更精細的解。 函數

 

拉格朗日乘子式 優化

首先,回顧一下SVM問題的定義,以下: spa

線性約束很煩,不方便優化,是否有一種方法能夠將線性約束放到優化問題自己,這樣就能夠無拘無束的優化,而不用考慮線性約束了。拉格朗日大神提供了一種方法,能夠達到這個目的,稱之爲拉格朗日乘子式(更通用的方法參考文章"簡易解說拉格朗日對偶"),形式以下, 3d

這個公式是否是很奇怪,無故的多處了N個變量,可是再看下面的變化,就知道這個拉格朗日乘子式的厲害了。 htm

 

什麼,SVM問題等於右邊那個min max?沒錯,雖然初看感受不科學,可是仔細分析,的確如此。首先,因爲,令f(w,b) = , blog

 

當f(w,b) > 0,在w,b固定的狀況下,,max會將放大到; 圖片

當f(w,b)0,那麼,那麼。 get

因此,綜合兩種狀況,SVM問題與min max變換公式等價。是否是很奇妙,不得不佩服拉格朗日大神。 it

 

 

對偶變換

上面的問題中min max的形式不方便求解,不過能夠經過一番變化,導出max min的形式,這樣就能夠從內到外,先計算裏面的min,而後計算外面的max。這種變化叫對偶變化。

首先選任意一個固定的,而且,那麼有

兩邊經過w,b取min,等式仍然成立,即

有多重選擇,可是上面的不等式一致成立,因此在衆多的選擇一個最大,上面的等式變形爲,

 

這樣,min max就和max min創建了必定的聯繫,可是因爲是"",稱之爲弱對偶(week duality)。""強對偶(strong duality)如何才能成立呢?須要知足下面的條件,

  • 原始問題是凸問題
  • 原始問題線性可分
  • 線性約束條件

太橋了,SVM問題徹底符合上述約束,因此是對偶,這樣能夠經過解右邊max min的問題來獲得最終解!

 

問題化簡

通過上面的對偶變化,下面來一步一步的簡化咱們的原始問題,

首先對b求偏導數,而且爲0,有以下結果

帶入這個結果到上面的公司,化簡

 

接下啦,對w求偏導數,

 

 

因此,向量w爲

將w帶入,而且去掉min,獲得以下

執行到這裏,如今目標函數只與有關,形式知足QP,能夠輕易獲得,也就是獲得w。可是在計算過程當中,須要計算一箇中間矩陣Q,維度爲N*N,這個是主要計算開銷。上一講無需計算這個Q,由於Q的形式十分簡單。

 

問題來了,如何求解b,上面的目標函數中,在以前的簡化過程當中消去了b,已經與b無關。

 

計算b

如今只剩下最後一個問題,如何計算b? 在以前的簡化過程當中消去了b,上面的QP解與無關。

 

KKT條件幫助咱們解決這個問題。若是原始問題和對偶問題都有最優解,且解相同,那麼會知足KKT條件。這也是一個充分必要條件,其中很重要的一點是complementary slackness(互補鬆弛性),該條件有下面等式成立,

因爲(對偶條件),且(原始條件),那麼二者有一個不爲0時,另一個必然爲0。因此,只要找到一個,就能夠利用這個性質計算出b,計算方法以下:

兩邊乘以,

理論來講,只須要一個點就能夠,可是實際上因爲計算有偏差,可能會計算全部的b,而後求平均。而且這些能夠計算出b的點,就是支持向量,由於他們知足了原始問題中支撐向量的定義。可是,並非全部的支撐向量,都有對應的。通常的,咱們只用的向量稱爲支撐向量,而那些知足支撐向量定義的向量稱之爲候選支撐向量,有以下關係

而且,爲了簡化計算,在計算w的時候,的計算都可以省去,以下

w的哲學

經過上面的計算,其實最後w是()的線性組合。一樣的,PLA中w也是()的線性組合。只是SVM利用支撐向量求解這個線性組合,PLA使用錯誤的向量。同理,邏輯迴歸,線性迴歸也有相似規律,稱這種現象爲"w represented by data"。

總結

本節使用對偶問題,從另一個側面求解了SVM,而且數據學推導相對複雜,計算量也增長了許多,由於須要求解一個N*N維度的矩陣Q。可是,爲何要作這些事情呢,hard linear SVM要簡單許多復?其實換成對偶問題是爲了利用kernel作鋪墊,改kernel能夠將維度轉化的計算省略,從而能夠計算很複雜的轉化,這一點下一節討論。

 

 

PS:劃線部分段落是因爲包含公式,沒法正常顯示,因此採用圖片方式在下方顯示。

相關文章
相關標籤/搜索