[ML Notes] SVM:回归

  在线性回归问题中,给定训练样本 D={(x1,y1),(x2,y2),,(xm,ym)}yiR,我们希望找到一个模型

f(x)=wTx+b

使得 f(x)y 尽可能接近,定义的损失为 f(x)y 之间的差异,当且仅当二者完全相同时,损失才为零。

  支持向量回归也希望找到形如式 (1) 的模型,但能够容忍 f(x)y 之间存在最多 ϵ 的偏差,当且仅当二者之差的绝对值大于 ϵ 时才计算损失。相当于以 f(x) 为中心,构建了一个宽度为 2ϵ 的间隔带,若训练样本落入此间隔带,则认为预测是正确的。

  SVR 的问题可以写为

minw,b12||w||2+Cmi=1lϵ(f(x1)yi)

如果将 12||w||2 看成是正则化项,则 C 可以看做是正则化系数;lϵ 称为 ϵ-不敏感损失,定义为

lϵ(z)={0,if |z|ϵ|z|ϵ,otherwise

  引入松弛变量 ξiˆξi,式 (2) 可以写为

minw,b,ξi,ˆξi12||w||2+Cmi=1(ξi+ˆξi)s.t.f(xi)yiϵ+ξiyif(xi)ϵ+ˆξiξi0,ˆξi0,i=1,2,,m

  构造广义拉格朗日函数

L(w,b,ξ,ˆξ,α,ˆα,μ,ˆμ)=12||w||2+Cmi=1(ξi+ˆξi)mi=1μiξimi=1ˆμiˆξi+mi=1αi(f(xi)yiϵξi)+mi=1ˆαi(f(xi)yiϵˆξi)

  计算式 (4)wbξiˆξi 的偏导,有

wL=w+mi=1(αiˆαi)wf=w+mi=1(αiˆαi)xi

dLdb=mi=1(αiˆαi)dfdb=mi=1(αiˆαi)

dLdξi=Cμiαi

dLdˆξi=Cˆμiˆαi

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

w=mi=1(ˆαiαi)xi

0=mi=1(ˆαiαi)

C=μi+αi

C=ˆμi+ˆαi

将以上四式代入式 (4),得到

L=(w,b,ξ,ˆξ,α,ˆα,μ,ˆμ)=12wTmi=1(ˆαiαi)xi+Cmi=1(ξi+ˆξi)mi=1μiξimi=1ˆμiˆξimi=1αiξimi=1ˆαiˆξimi=1(αiˆαi)(yiϵ)+mi=1(αiˆαi)f(xi)=12mi=1(ˆαiαi)wTxi+Cmi=1(ξi+ˆξi)Cmi=1(ξi+ˆξi)mi=1(αiˆαi)(yiϵ)mi=1(ˆαiαi)wTxi=mi=1(ˆαiαi)(yiϵ)12mi=1mj=1(ˆαiαi)(ˆαjαj)xTixj

于是得到 SVR 的对偶问题

maxα,ˆαmi=1(ˆαiαi)(yiϵ)12mi=1mj=1(ˆαiαi)(ˆαjαj)xTixjs.t.mi=1(ˆαiαi)=0,0αi,ˆαiC.

  上述过程的 KKT 条件为

{αi(f(xi)yiϵξi)=0(i)αi(yif(xi)ϵˆξi)=0(ii)αiˆαi=0(iii)ξiˆξi=0(iv)(Cαi)ξi=0(v)(Cˆαi)ˆξi=0(vi)

  由式 (7) 中前两个条件,可知

  • 当且仅当 f(xi)yiϵξi=0 时,αi 能取非零值;
  • 当且仅当 yif(xi)ϵˆξi 时,ˆαi 能取非零值。

即仅当样本不落入 ϵ-间隔带中,相应的 αiˆαi 才能取非零值。此外一个样本只能落入间隔带中的一侧,f(xi)yiϵξi=0yif(xi)ϵˆξi 不能同时成立,因此 αiˆαi 中最少有一个为零。

  将式 (5) 带入式 (1),得到 SVR 的模型为

f(x)=mi=1(ˆαiαi)xTix

能使上式中 ˆαiαi0 的样本即为支持向量,它们必落在 ϵ-间隔带之外。支持向量只是训练样本的一部分,因此 SVR 仍具有稀疏性。

  求解得到 αi 后,若 0<αi<C,由式 (7) 中条件 (v),必有 ξi=0,由条件 (i) 可得

f(xi)yiϵ=0

将式 (8) 带入上式,可以解得

b=yi+ϵmi=1(ˆαiαi)xTix

虽然通过上式只需一个满足 0<αi<C 的样本即可求得 b,实际中通常选择多个满足条件 0<αi<C 的样本求解 b 后取平均值。

  如果引入特征映射,则式 (5) 变为

w=mi=1(ˆαiαi)ϕ(x)

模型为

f(x)=mi=1(ˆαiαi)K(xi,x2)+b

其中 K(xi,x2) 为核函数。