Loading [MathJax]/jax/output/HTML-CSS/jax.js

[ML Notes] SVM:软间隔

1. 软间隔支持向量机

  实际问题中,往往不能事先知道样本在特征空间中是否线性可分;即便线性可分,这也可能是发生了过拟合。

  软间隔(soft margin)的支持向量机允许在一些样本上出错,即不满足约束条件

yi(wTxi+b)1

在原优化目标 minw,b12||w||2 的基础上,希望违反式 (1) 的样本数量越少越好,此时的优化目标变为

minw,b12||w||2+Cmi=1l0/1(yi(wTxi+b)1)

其中 C>0 是一个常数系数,用于平衡两个目标。当 C+ 时,相当于不允许任何样本违反式 (1)

  l0/10/1 损失函数,即

l0/1(z)={1if z<0;0otherwise.

回到式 (2) 中,如果某一样本 (xi,yi) 不满足式 (1) 的约束条件,则 yi(wTxi+b)1<0,于是 l0/1(yi(wTxi+b)1)=1,进行了惩罚。l0/1 非凸、不连续,不便于优化。实际中通常使用具有较好数学性质的函数作为替代损失,这些函数通常是凸的、连续的,且是 l0/1 的上界,如

  • hinge 损失:lhinge(z)=max(0,1z)
  • 指数损失:lexp(z)=exp(1)
  • 对率损失:llog(z)=log(1+exp(z))

  使用 hinge 损失时,式 (2) 变为

minw,b12||w||2+Cmi=1max(0,1yi(wTxi+b))

为每个样本引入松弛变量(slack variable)ξi0 来衡量样本不满足式 (1) 约束的程度,可将上式写为

minw,b,ξi12||w||2+Cmi=1ξis.t.yi(wTxi+b)1ξiξi0,i=1,2,,m

即为软间隔支持向量机。

2. 求解方法

  式 (4) 仍是一个二次规划问题,构造广义拉格朗日函数

L(w,b,ξ,α,μ)=12||w||2+Cmi=1ξi+mi=1αi(1ξiyi(wTxi+b))mi=1μiξi

其中 αi0μi0 是拉格朗日乘子。

  计算相关偏导

Lw=wmi=1αiyixi

dLdb=mi=1αiyi

dLdξi=Cαiμi

令以上三个偏导为零,得到

w=mi=1αiyixi

0=mi=1αiyi

C=αi+μi

  将式 (6)(7)(8) 带入式 (5),得

L(w,b,ξ,α,μ)=12wTmi=1αiyixi+Cmi=1ξi+mi=1αimi=1αiξimi=1αiyiwTxibmi=1αiyimi=1(Cαi)ξi=mi=1αi12mi=1αiyiwTxi=mi=1αi12mi=1mj=1αiαjyiyjxTixj

上式中已经消去了 μ,于是得到式 (4) 的对偶问题

maxαmi=1αi12mi=1mj=1αiαjyiyjxTixjs.t.mi=1αiyi=00αiC,i=1,2,,m

这个问题与线性 SVM 的对偶问题(前文(12))具有相似的结构,区别只在于软间隔 SVM 对 αi 的约束为 0αiC。可以使用前文的方法求解。

  对软间隔 SVM,KKT 条件要求

{αi0,μi0,yif(xi)1+ξi0,αi(yif(xi)1+ξi)=0,ξi0,μiξi=0.

其中 αi0yif(xi)1+ξi0αi(yif(xi)1+ξi)=0 三个条件表示对任意样本 (xi,yi) 存在两种情况:

  • αi=0,则该样本不会对模型 f(x) 产生影响;
  • αi>0,则必有 yif(xi)1+ξi=0,即 yif(xi)=1ξi,该样本为支持向量:
    • αi<C,由式 (8) 可知,此时 μi>0;又由 KTT 条件 μiξi=0 可知,此时 ξi=0,该样本没有违反式 (1),在最大间隔边界上;
    • αi=C,由式 (8) 可知,此时 μi=0
    • ξi1,则该样本在最大间隔内部;
    • ξi>1,则该样本被错误分类。

由以上分析可知,使用 hinge 损失函数的软间隔 SVM 最终模型仅与支持向量有关,hinge 损失函数保持了稀疏性。

3. 正则化

  通过将式 (2) 中的 l0/1 损失函数更换为其他替代损失函数,可以得到具有不同性质的模型。这些模型的优化目标都可以写为

minfΩ(f)+Cmi=1l(f(xi),yi)

上式中的第一项 Ω(f) 用于描述划分超平面的间隔大小,称为结构风险(structural risk),描述了模型 f 的性质;第二项 mi=1l(f(xi),yi) 称为经验风险(empirical risk),描述模型与训练数据的拟合程度。C 用于对两个风险进行折中。

  通过 Ω(f) 可以控制模型的某些性质,如引入领域知识,从而缩小假设空间,降低过拟合风险。从这个角度,可以将 Ω(f) 看成是正则化项,C 为正则化系数。

  常用的正则化项如 Lp 范数,L2 范数 ||w||2 倾向于使 w 的分量取值尽量均衡,非零分量个数尽量稠密;L1 范数 ||w||1 倾向于使 w 的分量尽量系数,即非零分量个数尽量少。