支持向量机的软间隔与正则化

看到西瓜书上有些东西写的不是特别清楚,结合李航的《统计学习方法》,把软间隔与正则化知识点重新整理了一下。
先给出支持向量机的基本形式:minw,b12w2s.t. yi(wTxi+b)1, i=1,2,...,m\begin{aligned} &\min \limits_{w,b} \frac{1}{2} \left\|w\right\|^2\\s.t.\, &y_i(w^Tx_i+b)\ge 1,\:i=1,2,...,m \end{aligned}
之前支持向量机的普通形式都是假设样本点是线性可分的,也就是说存在一个超平面能将不同类的样本完全划分开,而现实世界中往往很难达到这种要求。我们的解决办法是允许支持向量机在一些样本上出错。由此引出了“软间隔”的概念。如下图:也就意味着某些样本点(xi,yi)(x_i,y_i)不能满足函数间隔大于等于1的约束条件,有些正样本的点会跑到负样本的区间,有些负样本的会跑到正样本的区间范围。
支持向量机的软间隔与正则化
为了解决这个问题,可以对每个样本点(xi,yi)(x_i,y_i)引进一个松弛变量ξi0\xi_i\ge0,使函数间隔加上松弛变量大于等于1.也就是yi(wTxi+b)+ξi1y_i(w^Tx_i+b)+\xi_i\ge 1yi(wTxi+b)1ξiy_i(w^Tx_i+b)\ge 1-\xi_i同时,对每个松弛变量ξi\xi_i,支付一个代价ξi\xi_i.目标函数由原来的12w2\frac{1}{2} \left\|w\right\|^2变成了:12w2+Ci=1Nξi\frac{1}{2} \left\|w\right\|^2+C\sum\limits_{i=1}^{N}\xi_i,这里的C>0C>0称为惩罚参数,变大时对误分类的惩罚增大,减小时对误分类的惩罚减小。上面的最小化目标函数包含两层含义:使12w2\frac{1}{2} \left\|w\right\|^2尽可能小也就是间隔尽量大,同时使误分类点的个数尽量小,CC是调和二者的系数,线性不可分的问题就可转化成下面的凸二次规划:minw,b,ξ12w2+Ci=1Nξis.t.yi(wTxi+b)1ξi, i=1,2,...,Nξi0,i=1,2,...,N\begin{aligned}&\min\limits_{w,b,\xi}\qquad \frac{1}{2} \left\|w\right\|^2+C\sum\limits_{i=1}^{N}\xi_i\\&s.t.\qquad y_i(w^Tx_i+b)\ge 1-\xi_i,\:i=1,2,...,N\\&\qquad\qquad\xi_i\ge0,i=1,2,...,N\end{aligned}上述问题可转化成朗格朗日函数L(w,b,α,ξ,μ)=12w2+Ci=1Nξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξiL(w,b,\alpha,\xi,\mu)=\frac{1}{2} \left\|w\right\|^2+C\sum\limits_{i=1}^{N}\xi_i+\sum\limits_{i=1}^{m}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))-\sum\limits_{i=1}^{m}\mu_i\xi_i\qquad①αi0\alpha_i\ge0,μi0\mu_i\ge0是朗格朗日乘子.令L(w,b,α,ξ,μ)L(w,b,\alpha,\xi,\mu)w,b,ξiw,b,\xi_i的偏导为0可得:w=i=1mαiyixi0=i=1mαiyiC=αi+μiw=\sum\limits_{i=1}^{m}\alpha_iy_ix_i\\0=\sum\limits_{i=1}^{m}\alpha_iy_i\\C=\alpha_i+\mu_i,将上面三个式子代入①式得到原问题的对偶问题maxαi=1mαi12i=1mj=1mαiαjyiyjxiTxjs.t.i=1mαiyi=00αiC,i=1,2,...,m\begin{aligned}&\max\limits_{\alpha}\sum\limits_{i=1}^{m}\alpha_i-\frac{1}{2}\sum\limits_{i=1}^{m}\sum\limits_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\&s.t.\sum\limits_{i=1}^{m}\alpha _iy_i=0\\&0\leq\alpha_i\leq C,i=1,2,...,m\end{aligned}
还需满足KKT条件:
{αi0,μi0,yif(xi)1+ξi0,αi(yif(xi)1+ξi)=0,ξi0,μiξi=0\begin{cases}\alpha_i\ge0,\mu_i\ge0,\\y_if(x_i)-1+\xi_i\ge0,\\\alpha_i(y_if(x_i)-1+\xi_i)=0,\\\xi_i\ge0,\mu_i\xi_i=0\end{cases},之后的情况就和线性可分一样了,可用SMO或者其它方法进一步求解。