上一篇我们讨论了SVM的建模由来与推导过程,最终得出了SVM的对偶问题和解的形式,不过这都基于一个重要前提,即样本集是线性可分的。为了解决线性不可分情况下的分类问题,我们引入soft margin SVM,即软间隔SVM。
为了处理上述情况,我们不再要求样本集全部位于“楚河汉界”外,放宽限制,允许数据点进入“楚河汉界”甚至错分,引入松弛变量ξξ,如下所示:
此时对应的约束条件为:
⎧⎩⎨⎪⎪wTx+b≥1−ξ, yi=1wTx+b≤−1+ξ, yi=−1ξi≥0{wTx+b≥1−ξ, yi=1wTx+b≤−1+ξ, yi=−1ξi≥0
原问题转化为:
其中CC为惩罚因子,可以看到当取很大时,优化目标函数会导致xiixii很小,尽量减小甚至避免越界和错分情况出现。当CC很小时,会一定程度上对越界和错分情况有所容忍。
将约束写成的形式,构造拉格朗日函数:
推导对偶问题的过程同上一篇。极值在偏导为0处取到,令:
得到:
代回原函数,得到对偶问题:
此时对应的KKT条件为:
⎧⎩⎨⎪⎪⎪⎪⎪⎪αi≥0βi≥0yi(wTx+b)≥1−ξiξi≥0αi[1−ξi−yi(wTx+b)]=0 βi(−ξi)=0{αi≥0βi≥0yi(wTx+b)≥1−ξiξi≥0αi[1−ξi−yi(wTx+b)]=0 βi(−ξi)=0
可以看到,最终需要求解的W(α)W(α)与之前形式是一致的,不同的只是约束条件的变化。根据KKT条件对αiαi进行讨论:
- 当αi>0αi>0,有yi(wTx+b)≥1−ξiyi(wTx+b)≥1−ξi,xixi为支持向量
- 当αi<Cαi<C,有βi>0βi>0,推得ξi=0ξi=0,xixi在边界上
- 当αi=Cαi=C,有βi=0βi=0,此时ξiξi大小不确定。当ξi>1ξi>1时,该样本被错误分类;当0≤ξi≤10≤ξi≤1,该样本在“楚河汉界内部”,被正确分类。
此时我们便可利用Soft Margin SVM来处理线性不可分的问题。