Soft-Margin 的含义
所谓的Hard-Margin,就是指所有的资料都要完全分开,即separable,这是SVM产生过拟合的原因之一(还有一个原因就是过于复杂的转换 Φ)。
所以引入Soft-Margin, 即不必让所有的资料都完全分开,让SVM容许一部分的错误分类点的存在,从而在一定程度上减少过拟合,即要在large margin 和错误分类点容忍度(noise tolerance)之间做一个取舍,以一个参数来衡量。
选择什么参数来衡量? 以下由两种方式:
第一种方式:衡量错误分类点的个数
b,wmin21wTw+C⋅n=1∑N[[yn̸=sign(wTzn+b)]]s.t.yn(wTzn+b)≥1forcorrectnyn(wTzn+b)≥−∞forincorrectn
C的含义:trade-off of large margin & noise tolerance。
对于这种方式有两个不足之处,
-
[[]]是非线性函数,无法使用QP来求解。
- 无法区分noise点犯错误程度的大小。
第二种方式:衡量错误分类点的犯错误程度
b,w,ξmin21wTw+C⋅n=1∑Nξns.t.yn(wTzn+b)≥1−ξnξn≥0
C的含义:trade-off of large margin & margin violation。
该问题可以用QP来解,即有d~+1+N个变量,2N个约束。
综上,一般采用第二种方式。
对偶形式的Soft-Margin SVM
构造拉格朗日方程如下,
L(w,b,ξ,α,β)=21wTw+C⋅n=1∑Nξn+n=1∑Nβn(−ξn)+n=1∑Nαn(1−ξn−yn(wTzn+b))
所对应的dual形式描述如下,
αn≥0,βn≥0max(b,w,ξmin21wTw+C⋅n=1∑Nξn+n=1∑Nβn(−ξn)+n=1∑Nαn(1−ξn−yn(wTzn+b)))
下面是一系列的求解,
∂ξn∂L=0=C−αn−βn⇒βn=C−αn0≤αn≤C∂b∂L=0=n=1∑Nαnyn∂wi∂L=0=w−n=1∑Nαnynzn⇒w=n=1∑Nαnynzn
标准的Soft-Margin SVM Dual形式为,
standardsoft−marginSVMdualαmin21n=1∑Nm=1∑NαnαmynymznTzm−n=1∑Nαns.t.n=1∑Nynαn=0;0≤αn≤C,forn=1,2,⋯,Nimplicityw=n=1∑Nαnynznβn=C−αn
上述形式类似于hard-margin SVM dual,其实与hard-margin相比,只是在αn处多了一个上界C而已。
显而易见,上述形式的SVM可用QP来求解,其共有N个变量,2N+1条约束。
类似的,Kernel也可以用在soft-margin SVM里,此时,参数为,
α←QP(QD,p,A,c)w←n=1∑Nαnynzn
类似于hard-margin,通过SV求解b,有,
SV(αs>0)⇒b=ys−ysξs−wTzs
上式在计算b的时候,有一项ysξs,其中的ξs是在求出b之后才能得到的,所以要想办法去掉该项,这里引入free的概念,即,
free(αs<C)⇒ξs=0
所以,在soft-margin SVM里,b是通过freeSV(xs,ys)来求解的,即,
b=ys−SV∑αnynK(xn,xs)
当然,也可能存在没有free SV的情况,那这时b只能通过一系列的不等式来限制,此时b的值有很多个,只要满足KKT条件就行。但绝大多数的情形,都是存在free SV的。
参数选择例子,
αn的含义,
对于SV(αn>0),分为两种,
1.Free SV(正方形表示):0<αn<C,ξn=0,在边界上,用于确定b;
2.Bounded SV(三角形表示):αn=C,ξn=violationamount ,违反边界或在边界上
对于非SV(αn=0),有,
ξn=0 ,远离边界或者在边界上
综上,αn可用在资料分析方面上。