4 支持向量回归
4.1 问题定义
给定训练样本
D={(x1,y1),(x2,y2),...,(xm,ym)},yi∈R,希望学得形如
f(x)=wTx+b 的模型,使
f(x)与y尽可能接近,其中
w和
b是待确定参数。
支持向量回归(SVR,Support Vector Regression)假设能够容忍
f(x)与
y之间最多
ϵ的偏差,即仅当
f(x)与
y之间的差别绝对值大于
ϵ时才计算损失。这相当于以
f(x)=wTx+b为中心,构建了一个宽带
2ϵ的间隔带,若训练样本落入此间隔带,则被认为预测正确。
SVR优化目标如下:
min21∣∣w∣∣2+Ci=1∑mlϵ(yi(wTxi+b)−1)
其中
C>0是正则化常数,
lϵ是
ϵ-不敏感损失(
ϵ-insensitive loss)损失函数:
lϵ(z)={0∣z∣−ϵif∣z∣≤ϵotherwise
4.2 对偶问题
引入松弛变量
ξi∨>0,ξi∧>0(两边松弛变量可能不同),优化目标变为:
mins.t.21∣∣w∣∣22+Ci=1∑m(ξi∨+ξi∧)yi−(wTxi+b)≤ϵ+ξi∧,wTxi+b−yi≤ϵ+ξi∨,ξi∨≥0,ξi∧≥0(i=1,2,...,m)
引入拉格朗日乘子
μi∨≥0,μi∧≥0,αi∨≥0,αi∧≥0:
L(w,b,α∨,α∧,ξi∨,ξi∧,μ∨,μ∧)=21∣∣w∣∣22+Ci=1∑m(ξi∨+ξi∧)−i=1∑mμi∨ξi∨−i=1∑mμi∧ξi∧+i=1∑mαi∨(f(xi)−yi−ϵ−ξi∨)+i=1∑mαi∧(yi−f(xi)−ϵ−ξi∧)其中,
f(xi)=wTxi+b
优化目标
w,b,ξi∨,ξi∧minμi∨,μi∧,αi∨,αi∧maxL(w,b,α∨,α∧,ξ∨,ξ∧,μ∨,μ∧)
满足KTT条件,对偶问题为:
μi∨,μi∧,αi∨,αi∧maxw,b,ξi∨,ξi∧minL(w,b,α∨,α∧,ξ∨,ξ∧,μ∨,μ∧)
首先通过对
w,b,ξi∨,ξi∧求偏导,计算极小值:
∂w∂L=0⇒w=i=1∑m(αi∧−αi∨)xi
∂b∂L=0⇒i=1∑m(αi∧−αi∨)=0
∂ξi∨∂L=0⇒C=α∨+μ∨
∂ξi∧∂L=0⇒C=α∧+μ∧
代回至
L(w,b,α∨,α∧,ξ∨,ξ∧,μ∨,μ∧)
w,b,ξi∨,ξi∧minL(w,b,α∨,α∧,ξ∨,ξ∧,μ∨,μ∧)s.t.=i=1∑myi(αi∧−αi∨)−ϵ(αi∧+αi∨)−21i=1∑mj=1∑m(αi∧−αi∨)(αj∧−αj∨)xiTxji=1∑m(αi∧−αi∨)=00≤αi∨,αi∧≤C(i=1,2,...m)
原问题最终转换为如下形式的对偶问题:
α∧,α∨maxs.t.i=1∑myi(αi∧−αi∨)−ϵ(αi∧+αi∨)−21i=1∑mj=1∑m(αi∧−αi∨)(αj∧−αj∨)xiTxji=1∑m(αi∧−αi∨)=00≤αi∨,αi∧≤C(i=1,2,...m)
此时,优化函数仅有
α∧,α∨做为参数,可采用SMO(Sequential Minimal Optimization)求解,进而得出
w,b。