Skip to content

SVR 支持向量回归 (Support Vector Regression)

核心思想

SVR 将 SVM 的最大间隔思想推广到回归:构建一个以 ϵ 为半宽的"管道",允许管道内的预测误差为零,仅惩罚落在管道外的样本。

ϵ-不敏感损失函数

Lϵ(y,f(x))=max(0,|yf(x)|ϵ)
  • 预测值与真实值之差在 [ϵ,+ϵ] 内时,损失为 0
  • 超出管道的部分按线性计损

优化问题

minw,b12w2+Ci=1N(ξi+ξi)s.t.{yiwTxibϵ+ξiwTxi+byiϵ+ξiξi,ξi0

对偶问题

引入拉格朗日乘子 αi,αi

maxα,α12i,j(αiαi)(αjαj)xiTxjϵi(αi+αi)+iyi(αiαi)s.t.i(αiαi)=0,0αi,αiC

预测函数

f(x)=i=1N(αiαi)xiTx+b

同样可以使用核函数 K(xi,x) 替换内积以处理非线性回归。

代码对应

bash
python -m pipelines.regression.svr