SVM之線性不可分

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

上一篇SVM之核函數介紹了通過計算樣本核函數,實際上將樣本映射到高維空間以望使其線性可分的方法,一定程度上解決了線性不可分問題,但並不徹底。

現在,換個思路,對於線性不可分問題不再千方百計的變換數據使其線性可分,對於有些數據,找到合適的變換可能是相當困難的。我們允許數據線性不可分,允許得到的分類器對一些樣本而言不“完美”,但分類器得爲自己的不“完美”付出代價它要受到懲罰!

考慮之前線性可分時對SVM的形式化


這裏要求所有樣本的函數間隔至少爲1,這就是所謂的“完美”,兩類樣本被分的儘可能的開,它們離分類超平面至少有值爲1的函數間隔, 的幾何間隔。(注意函數間隔和幾何間隔的關係,下文爲敘述方便將以函數間隔來描述,儘管SVM的目的實際上是在最大化幾何間隔)

現在,我們放鬆要求,不要求那麼苛刻了,對於一些樣本並不要求函數間隔至少爲1,比1小點也行(分的不夠開了),小到小於0了也行(錯分了)。寫成表達式就是,不要求樣本的函數間隔爲至少1了,夠就行了,也就是說優化問題(1)的約束條件變了。

相應地,目標函數也得變,因爲不可能約束變但目標不變,不然給的很大,1−ξi遠遠小於0了,yi(wTxi+b)即使小於0也是滿足約束的,那其實好多樣本都被錯分了,Duang~ 一下分類器變得很差,很挫,很笨,這樣別的分類器一定會笑話它,根本沒有這樣的分類器,是假的。所以,你有ξi的不完美,我就要給你Ciξi 的懲罰,其中Ci是懲罰因子,表示懲罰的相對大小,它可以對所有的樣本一視同仁,不隨i 的變化而變化,也可以厚此薄彼,對有些樣本嚴加懲罰,對另一些則睜一隻眼,閉一隻眼。一般這個懲罰因子還是比較公平的,所以不寫Ci,寫成C吧~目標不是要最小化12∥w∥2 嗎,現在將對所有樣本的懲罰C∑iξi 也加進去,不光要最小化12∥w∥2,也要最小化C∑iξi,這樣一來ξi雖然大於0,但不敢變的很大了,也就是說,可以不“完美”,但不能太離譜。

現在,優化問題可以重新寫成

(2){minw,b,ξ12∥w∥2+C∑iξi{s.t.1−ξi−yi(wTxi+b)≤0−ξi≤0

求解這個優化問題就可以了。

寫出拉格朗日函數

L(w,b,ξ,α,β)(3)=12∥w∥2+C∑iξi+∑iαi(1−ξi−yi(wTxi+b))−∑iβiξi
,其中αi≥0,βi≥0

θD(α,β)=minw,b,ξL(w,b,α,β) ,(2)的對偶問題可以寫爲:

(4)maxα,βminw,b,ξL(w,b,α,β)

先來求θD(α,β)

∂L(w,b,ξ,α,β)∂w=0 ,得到w=∑iαiyixi

∂L(w,b,ξ,α,β)∂b=0,得到∑iαiyi=0

∂L(w,b,ξ,α,β)∂ξ=0,得到C−αi−βi=0 ,由於αi≥0 且βi≥0 ,所以更進一步有0≤αi≤C

將上述結果代回(3)(4)得到對偶問題

(5){maxα∑iαi−12∑i,jαiαjyiyj<xi,xj>s.t.{0≤αi≤C∑iαiyi=0

當然,這裏仍然可以引人核函數,將<xi,xj> 替換爲K(xi,xj) 。

(6){maxα∑iαi−12∑i,jαiαjyiyjK(xi,xj)s.t.{0≤αi≤C∑iαiyi=0

這是一個二次規劃問題,可以用一般的二次規劃方法來解,不過代價比較大,John C.Platt提出了SMO算法用來求解該優化問題。求解得到α 後,根據w=∑iαiyixi 和分類判別式wTx+b 得到最終判別式

(7)wTx+b=∑iαiyi<xi,x>+b

或者引人核函數的話寫作

(8)wTx+b=∑iαiyiK(xi,x)+b

不過這裏b 的求解會有所不同。之前的文章SVM之對偶問題中求解b的方法是根據KKT條件,找到αi>0對於的向量即爲支持向量,就可以由yi(wTxi+b)=1解出b。現在的約束條件中雖然引人了ξi,但如果推導一下現在優化問題的KKT條件的話,會得出0<αi<C⇒yi(wTxi+b)=1 的結論,所以現在應該仍然可以按照上述方法來解b。不過SMO算法有迭代更新求解的方法,是不是因爲向上面那樣做不太可行我還沒搞清楚。

核函數通過向高維映射來解決線性不可分問題,現在有引人了懲罰機制瞭解決線性不可分問題問題,但不能簡單地將它們看作完全獨立的方法。如果僅僅依賴於懲罰機制,在樣本線性不可分的情況下得到是所謂最優分類器其實也是比較差的,這是由樣本本身的分佈決定的,所以還是需要首先用“核函數完成映射”,使樣本變得儘可能線性可分。

另外,懲罰機制也解決了噪聲問題,通過對噪聲數據較小的懲罰損失來換取目標函數整體上較大的優化。

 

不考慮懲罰機制,如果圖中沒有黑色的三角形樣本,那分類器可能像實線那樣,分類間隔還是挺大的,但這一個很像噪聲的樣本卻將分類間隔擠壓的很小,嚴重影響分類器的番話特性。加入懲罰機制後,新的分類器就有可能會以對這個樣本的“不完美”分類爲代價,換取分類間隔的提升。從(2)中目標函數12∥w∥2+C∑iξi來看,分類器以第二項的增大換取了第一項的減小,是分類更加合理。從這也可以看出懲罰因子的作用,它起到了調節分類器間隔和樣本懲罰直接的相對權重的作用。

寫到這裏,SVM的基本問題除了求解優化問題(6)的SMO算法之外,已基本完成。對於SMO算法,再學習吧~

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