软间隔
在建立SVM模型时,假定正负样本是线性可分的。但是,实际有些时候,样本不是完全线性可分的,会出现交错的情况,例如下图。
这时,如果采用以下模型
minw,b{ 12∥w∥22},subject toyi(wTxi+b)≥1minw,b{ 12‖w‖22},subject toyi(wTxi+b)≥1
可能就没有可行解。针对这种情况,允许某些样本不满足约束yi(wTxi+b)≥1yi(wTxi+b)≥1 , 但是在最大化间隔的同时,不满足约束的样本应尽可能少,优化目标可以写为:
minw,b12∥w∥2+C∑mi=1l0/1(yi(wTxi+b)−1)(4-1)(4-1)minw,b12‖w‖2+C∑i=1ml0/1(yi(wTxi+b)−1)
其中l0/1l0/1 是0/1损失函数,
从(4-1)可以看到,当C为无穷大时,所有样本必须满足约束 yi(wTxi+b)≥1yi(wTxi+b)≥1 才可行。当C取有限值时,允许一些样本不满足约束。
l0/1l0/1 非凸非连续,数学性质不好,因此常用其他函数替代,称为替代损失函数(surrogate loss function)。一些常用的替代损失函数有:
hinge损失:lhinge(z)=max(0,1−z)lhinge(z)=max(0,1−z)
指数损失exponential loss:lexp(z)=exp(−z)lexp(z)=exp(−z)
对率损失 logistic loss: llog(z)=log(1+exp(−z))llog(z)=log(1+exp(−z))
如果采用hinge损失,则(4-1)变为:
minw,b12∥w∥2+C∑mi=1max(0,1−yi(wTxi+b))(4-2)(4-2)minw,b12‖w‖2+C∑i=1mmax(0,1−yi(wTxi+b))
引入松弛变量ξiξi (也叫容忍度),C为参数,需要根据经验调整。可以得到
这个是一个QP问题。
可以看到,当ξi=0ξi=0 时, yi(wTxi+b)≥1yi(wTxi+b)≥1 ,样本点被正确分类,且距离大于支撑向量。
当1≥ξi>01≥ξi>0 时,yi(wTxi+b)≥0yi(wTxi+b)≥0 即,样本点被正确分类,但是距离有可能小于支撑向量yi(w