上一篇我們討論了SVM的建模由來與推導過程,最終得出了SVM的對偶問題和解的形式,不過這都基於一個重要前提,即樣本集是線性可分的。爲了解決線性不可分情況下的分類問題,我們引入soft margin SVM,即軟間隔SVM。
爲了處理上述情況,我們不再要求樣本集全部位於“楚河漢界”外,放寬限制,允許數據點進入“楚河漢界”甚至錯分,引入鬆弛變量ξ ,如下所示:
此時對應的約束條件爲:
⎧⎩⎨⎪⎪wTx+b≥1−ξ, yi=1wTx+b≤−1+ξ, yi=−1ξi≥0
原問題轉化爲:
min12||w||2+C∑iξi
s.t. yi(wTxi+b)≥1−ξi, ξi≥0
其中C 爲懲罰因子,可以看到當C 取很大時,優化目標函數會導致xii 很小,儘量減小甚至避免越界和錯分情況出現。當C 很小時,會一定程度上對越界和錯分情況有所容忍。
將約束寫成gi≤0 的形式,構造拉格朗日函數:
f(w)=12||w||2
gi(w)=1−ξi−yi(wTxi+b), hi(ξ)=−ξi
L(w,α,β)=f(w)+∑iαigi(w)+∑iβihi(ξ)
推導對偶問題的過程同上一篇。極值在偏導爲0處取到,令:
∂L∂w=0, ∂L∂b=0, ∂L∂ξi=0
得到:
w=∑iαiyixi, ∑iαiyi=0, C=αi+βi
代回原函數,得到對偶問題:
maxW(α)=∑iαi−12∑i∑jαiαjyiyjxTixj
s.t. ∑iαiyi=0, 0≤αi≤C
此時對應的KKT條件爲:
⎧⎩⎨⎪⎪⎪⎪⎪⎪αi≥0βi≥0yi(wTx+b)≥1−ξiξi≥0αi[1−ξi−yi(wTx+b)]=0 βi(−ξi)=0
可以看到,最終需要求解的W(α) 與之前形式是一致的,不同的只是約束條件的變化。根據KKT條件對αi 進行討論:
- 當αi>0 ,有yi(wTx+b)≥1−ξi ,xi 爲支持向量
- 當αi<C ,有βi>0 ,推得ξi=0 ,xi 在邊界上
- 當αi=C ,有βi=0 ,此時ξi 大小不確定。當ξi>1 時,該樣本被錯誤分類;當0≤ξi≤1 ,該樣本在“楚河漢界內部”,被正確分類。
此時我們便可利用Soft Margin SVM來處理線性不可分的問題。