SVM之對偶問題

原文地址:http://www.cnblogs.com/dreamvibe/p/4356897.html

前一篇SVM之問題形式化中將最大間隔分類器形式化爲以下優化問題:{minw,b12w2s.t.yi(wTxi+b)1

容易發現這是一個凸優化問題,而凸優化問題問題一般而言是滿足Slater條件的(具體證明我也不懂),所以可以等價地求解其對偶問題。轉而求解其對偶問題,是因爲它的對偶問題有很好的形式(向量內積形式),可以爲SVM很方便的引人核函數。關於對偶問題的基本概念在寫在SVM之前——凸優化與對偶問題一文中已做粗略介紹。現在,寫出以上優化問題的對偶形式。

首先,將(1)化爲標準形式{minw,b12w2s.t.1yi(wTxi+b)0

構建拉格朗日函數:L(w,b,α)=12w2+iαi(1yi(wTxi+b))

θD(α)=minw,bL(w,b,α),則(2)的對偶問題可以寫成maxαminw,bL(w,b,α)=maxαθD(α)

首先求出θD(α)θD(α)是函數L(w,b,α)關於變量(w,b) 的最小值,且容易發現L(w,b,α)是關於(w,b)的凸函數,所以可以直接求偏導數並令其爲0得到解。

L(w,b,α) 關於w 求偏導:

L(w,b,α)w=[12w2+iαi(1yi(wTxi+b))]w=[12wTw+iαi(1yi(wTxi+b))]w=wiαiyixi

令其爲0,得到w=iαiyixi

L(w,b,α) 關於b 求偏導:

L(w,b,α)b=[12w2+iαi(1yi(wTxi+b))]b=iαiyi

令其爲0,得到iαiyi=0

現在,將(5) 代回(3),得到

θD(α)=12w2+iαi(1yi(wTxi+b))=12wTw+iαi(1yi(wTxi+b))=12i,jαiαjyiyj(xi)Txj+iαii,jαiαjyiyj(xi)Txjbiαiyi=iαi12i,jαiαjyiyj(xi)Txjbiαiyi

再根據(6),得到 θD(α)=iαi12i,jαiαjyiyj(xi)Txj=iαi12i,jαiαjyiyj<xi,xj>

這便求出了θD(α),而對偶問題是maxαθD(α)。加上約束條件,對偶問題就可以寫成

{maxαiαi12i,jαiαjyiyj<xi,xj>s.t.{αi0iαiyi=0

其中約束αi0是拉格朗日對偶問題本身的要求,約束iαiyi=0代表L(w,b,α)b=0的結果。

現在,對偶問題就得到了。對偶問題求解的結果是得到α 的取值。當α得到解後,就可以根據w=iαiyixi解出w 。w確定了分類超平面的方向,b 使得超平面有一個平移,根據最大間隔分類器的準則,最優超平面是穿過兩類樣本“最中間”的一個平面,所以b並不難確定b=maxi:yi=1wTxi+mini:yi=1wTx2

(w,b) 確定後,分類器就確定了,就是超平面wTx+b=0 ,對於新的輸入樣本x ,如果wTx+b>0則判別它樣本類別爲1,否則判別它樣本類別爲-1。

現在不求解w ,而是將w=iαiyixi 帶入判別式wTx+b 中,得wTx+b=iαiyi<xi,x>+b

上式將判別式寫成了向量內積的形式,看似需要計算輸入x與所有訓練樣本的內積,但實際上還可以簡化。

回顧寫在SVM之前——凸優化與對偶問題一文提到的KKT條件αigi(x)=0 ,只有gi(x)=0αi 纔可能不爲0。對應到現在的分類器:x(w,b),gi(x)gi(w,b)=1yi(wTxi+b) (注意這裏的x 是優化問題形式化中的優化變量,不要與上文中的新輸入樣本x 混淆)。所以只有當1yi(wTxi+b)=0時,對於的αi纔可能不爲0,那麼(11)的計算實際上只需計算了部分訓練樣本與新輸入樣本的內積,這部分1yi(wTxi+b)=0的訓練樣本稱爲支持向量,這也是SVM——支持向量機名字的來源。

考慮支持向量滿足1yi(wTxi+b)=0,所以yi(wTxi+b)=1,而yi(wTxi+b)正是樣本函數間隔的定義,也就是說,支持向量就是函數間隔爲1的樣本,它們也是所有樣本中函數間隔最小的樣本。

 

上圖標出來最優分類超平面(紅色)和對於的函數間隔爲1的樣本(兩條黑線上的樣本),對左側黑線上的支持向量有wTxl+b=1 ,對於右側黑線上的支持向量有wTxr+b=1,根據KKT條件,這兩個樣本可以根據αl>0 和αr>0找到,兩個式子聯立起來得到b=wTxl+wTxr2 ,與(10)的是一致的。其實從這裏就可以看出,只需要一個樣本就可以確定b了,根據wTxr+b=1,就可以解出b,b=wTxl+wTxr2和(10)比較直觀的說明分類超平面穿過兩類樣本正中間而已。

現在,分類器的內容似乎已經完整了,但不要忘了,這都是在樣本可分的情況下進行的,還沒有考慮樣本不可分的情況。

核函數在一定程度上解決了樣本不可分問題,觀察優化問題(9)和判別函數(11),其中都存在向量的內積形式,核函數正是在這上面做文章的。下一篇SVM之核函數將討論這個問題。

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