看到西瓜书上有些东西写的不是特别清楚,结合李航的《统计学习方法》,把软间隔与正则化知识点重新整理了一下。
先给出支持向量机的基本形式:s.t.w,bmin21∥w∥2yi(wTxi+b)≥1,i=1,2,...,m
之前支持向量机的普通形式都是假设样本点是线性可分的,也就是说存在一个超平面能将不同类的样本完全划分开,而现实世界中往往很难达到这种要求。我们的解决办法是允许支持向量机在一些样本上出错。由此引出了“软间隔”的概念。如下图:也就意味着某些样本点(xi,yi)不能满足函数间隔大于等于1的约束条件,有些正样本的点会跑到负样本的区间,有些负样本的会跑到正样本的区间范围。

为了解决这个问题,可以对每个样本点(xi,yi)引进一个松弛变量ξi≥0,使函数间隔加上松弛变量大于等于1.也就是yi(wTxi+b)+ξi≥1yi(wTxi+b)≥1−ξi同时,对每个松弛变量ξi,支付一个代价ξi.目标函数由原来的21∥w∥2变成了:21∥w∥2+Ci=1∑Nξi,这里的C>0称为惩罚参数,变大时对误分类的惩罚增大,减小时对误分类的惩罚减小。上面的最小化目标函数包含两层含义:使21∥w∥2尽可能小也就是间隔尽量大,同时使误分类点的个数尽量小,C是调和二者的系数,线性不可分的问题就可转化成下面的凸二次规划:w,b,ξmin21∥w∥2+Ci=1∑Nξis.t.yi(wTxi+b)≥1−ξi,i=1,2,...,Nξi≥0,i=1,2,...,N上述问题可转化成朗格朗日函数:L(w,b,α,ξ,μ)=21∥w∥2+Ci=1∑Nξi+i=1∑mαi(1−ξi−yi(wTxi+b))−i=1∑mμiξi①αi≥0,μi≥0是朗格朗日乘子.令L(w,b,α,ξ,μ)对w,b,ξi的偏导为0可得:w=i=1∑mαiyixi0=i=1∑mαiyiC=αi+μi,将上面三个式子代入①式得到原问题的对偶问题:αmaxi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxjs.t.i=1∑mαiyi=00≤αi≤C,i=1,2,...,m
还需满足KKT条件:
⎩⎪⎪⎪⎨⎪⎪⎪⎧αi≥0,μi≥0,yif(xi)−1+ξi≥0,αi(yif(xi)−1+ξi)=0,ξi≥0,μiξi=0,之后的情况就和线性可分一样了,可用SMO或者其它方法进一步求解。