上一篇我们讨论了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来处理线性不可分的问题。