有任何的书写错误、排版错误、概念错误等,希望大家包含指正。
在阅读本篇之前建议先学习:
【机器学习】支持向量机【上】硬间隔
【机器学习】支持向量机【下】软间隔与核函数
支持向量回归
支持向量回归(support vector regression,SVR)是指,将支持向量机的思想推广到回归问题中。与传统回归模型类似,支持向量回归以
w
w
w 和
b
b
b 为待确定的模型参数,希望模型输出
f
(
x
)
f(x)
f(x) 与真实输出
y
y
y 之间的差值对应的损失尽可能小;不过,在传统回归模型中,当且仅当
f
(
x
)
f(x)
f(x) 与
y
y
y 完全相同时,损失才为零,与此不同,支持向量回归假设我们容忍
f
(
x
)
f(x)
f(x) 与
y
y
y 之间最多有
ϵ
\epsilon
ϵ 的偏差,即仅当
f
(
x
)
f(x)
f(x) 与
y
y
y 之间的差别绝对值大于
ϵ
\epsilon
ϵ 时才计算损失。如图
1
1
1 所示,这相当于以
f
(
x
)
f(x)
f(x) 为中心,构建了一个上边界和下边界分别为
f
(
x
)
+
ϵ
f(x) +\epsilon
f(x)+ϵ 和
f
(
x
)
−
ϵ
f(x)-\epsilon
f(x)−ϵ 的“管道”,
ϵ
\epsilon
ϵ 为人为固定值且
ϵ
>
0
\epsilon>0
ϵ>0,若训练样本落入此管道内,则认为被预测正确。
图 1 支持向量回归示意图
注意观察和理解图
1
1
1 与参考 [3] 中图
1
1
1 的区别。
- 本图中样本用同样的圆形表示,而它图中分别用 + + + 和 − - − 表示正、负两种样本,这体现了回归问题与分类问题的本质区别;
- 本图中横轴表示样本特征,纵轴表示样本对应的预测值,描述的样本是一维的,而它图中横、纵坐标分别表示不同的特征,描述的样本是二维的。
支持向量回归也大致可以分为,硬间隔 SVR、软间隔 SVR 和核函数 SVR。
硬间隔 SVR 适合样本全部落在管道内;软间隔 SVR 适合少量样本落在管道外;核函数 SVR 适合非线性分布的样本。
重点讲解软间隔 SVR,另外两个相对简单。
软间隔支持向量回归
对于软间隔支持向量回归而言,我们不要求样本分布得非常贴近一条线,允许少量样本出现偏差,即噪声,而大部分点可以落在管道内。与软间隔支持向量机类似,软间隔支持向量回归也引入松弛变量。每个样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 对应两个松弛变量
ξ
^
i
\hat\xi_i
ξ^i 和
ξ
i
\xi_i
ξi,分别表示向上松弛量和向下松弛量。当样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 位于上边界上方(above),那么该样本将贡献损失,即
y
i
−
(
f
(
x
i
)
+
ϵ
)
y_i - \big(f(x_i)+\epsilon\big)
yi−(f(xi)+ϵ),超出上边界的(纵轴方向)距离也就是
ξ
^
i
\hat \xi_i
ξ^i,故对于落在上边界上方的样本有
y
i
−
(
f
(
x
i
)
+
ϵ
)
=
ξ
^
i
y_i - \big( f(x_i) + \epsilon \big)=\hat \xi_i
yi−(f(xi)+ϵ)=ξ^i,而且直观上,此时不可能存在向下的松弛,所以
ξ
i
=
0
\xi_i=0
ξi=0;类似地,对于落在下边界下方的样本有
(
f
(
x
i
)
+
ϵ
)
−
y
i
=
ξ
i
\big( f(x_i) + \epsilon \big) - y_i=\xi_i
(f(xi)+ϵ)−yi=ξi 且
ξ
^
i
=
0
\hat \xi_i = 0
ξ^i=0;对于落在管道内的样本,显然不存在向上或向下的松弛,所以
ξ
^
i
=
ξ
i
=
0
\hat \xi_i = \xi_i = 0
ξ^i=ξi=0,同时这些样本不贡献损失。不难总结,每个样本带来的损失可以统一表示为
ξ
^
i
+
ξ
i
\hat \xi_i + \xi_i
ξ^i+ξi,因此全部样本贡献的损失为
∑
i
=
1
n
ξ
^
i
+
ξ
i
\sum_{i=1}^n \hat \xi_i + \xi_i
∑i=1nξ^i+ξi。
观察图
1
1
1 发现,上、下边界的欧式距离可以表示为
2
ϵ
/
∥
w
∥
2
+
1
2\epsilon/\sqrt{\Vert w \Vert^2 + 1}
2ϵ/∥w∥2+1,当
∥
w
∥
\Vert w\Vert
∥w∥ 越小时,划分超平面倾斜程度越小,上下边界的欧式距离越大,当
∣
∣
w
∣
∣
=
0
||w||=0
∣∣w∣∣=0 时距离取到最大值
2
ϵ
2\epsilon
2ϵ。直观上,距离越大,划分超平面越倾斜程度越小,管道覆盖面越大,所能容纳的样本越多,管道外的样本越少,带来的损失也可能减少。这与支持向量机中“最大间隔”的思想一致。
当然,严谨来说,“划分超平面越倾斜程度越小容纳的样本越多”的说法是不准确的,比如图
2
2
2 所示情况。对于同样的六个样本点,倾斜程度大的管道(左)反而损失值为零。
图 2 大倾斜程度管道(左)和小倾斜程度管道(右)
基于上面的松弛思想和最大间隔思想,目标函数为
1
2
∥
w
∥
2
+
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
\frac{1}{2} \Vert w\Vert^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i)
21∥w∥2+Ci=1∑n(ξ^i+ξi)
其中,
C
>
0
C>0
C>0 称为惩罚(超)参数,一般根据应用问题人为决定,
C
C
C 值越大对管道外样本的惩罚越大。
定义原始问题
min
w
,
b
,
ξ
^
i
,
ξ
i
1
2
∥
w
∥
2
+
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
\min_{w,b,\hat \xi_i,\xi_i}\frac{1}{2} \Vert w\Vert^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i) \\
w,b,ξ^i,ξimin21∥w∥2+Ci=1∑n(ξ^i+ξi)
s
.
t
.
y
i
−
f
(
x
i
)
≤
ϵ
+
ξ
^
i
f
(
x
i
)
−
y
i
≤
ϵ
+
ξ
i
ξ
^
i
≥
0
,
ξ
i
≥
0
,
i
=
1
,
2
,
…
,
n
\begin{matrix} s.t. & y_i - f(x_i)\le \epsilon + \hat \xi_i\\ & f(x_i) - y_i \le \epsilon + \xi_i \\ & \hat \xi_i\ge 0,\space\space\space\space\xi_i\ge 0,\space\space\space\space i = 1,2,\dots,n \end{matrix}
s.t.yi−f(xi)≤ϵ+ξ^if(xi)−yi≤ϵ+ξiξ^i≥0, ξi≥0, i=1,2,…,n
构建广义拉格朗日函数
L
(
w
,
b
,
α
^
,
α
,
ξ
^
i
,
ξ
i
,
μ
^
i
,
μ
i
)
=
1
2
∣
∣
w
∣
∣
2
+
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
−
∑
i
=
1
n
μ
^
i
ξ
^
i
−
∑
i
=
1
n
μ
i
ξ
i
+
∑
i
=
1
n
α
^
i
(
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
)
+
∑
i
=
1
n
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
)
\begin{aligned} &L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i) \\ &= \frac{1}{2} ||w||^2 + C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \sum_{i=1}^n\hat \mu_i\hat \xi_i - \sum_{i=1}^n\mu_i\xi_i +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)-\epsilon-\hat \xi_i) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i-\epsilon - \xi_i) \end{aligned}
L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=21∣∣w∣∣2+Ci=1∑n(ξ^i+ξi)−i=1∑nμ^iξ^i−i=1∑nμiξi+i=1∑nα^i(yi−f(xi)−ϵ−ξ^i)+i=1∑nαi(f(xi)−yi−ϵ−ξi)
将
f
(
x
i
)
=
w
T
x
i
+
b
f(x_i) = w^Tx_i+b
f(xi)=wTxi+b 代入,再令
L
(
w
,
b
,
α
^
,
α
,
ξ
^
i
,
ξ
i
,
μ
^
i
,
μ
i
)
L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i)
L(w,b,α^,α,ξ^i,ξi,μ^i,μi) 对
w
w
w,
b
b
b,
ξ
^
i
\hat \xi_i
ξ^i 和
ξ
i
\xi_i
ξi 的偏导为零可得
w
=
∑
i
=
1
n
(
α
^
i
−
α
i
)
x
i
(1-1)
w = \sum_{i=1}^n(\hat \alpha_i - \alpha_i)x_i \tag{1-1}
w=i=1∑n(α^i−αi)xi(1-1)
0
=
∑
i
=
1
n
(
α
^
i
−
α
i
)
(1-2)
0 = \sum_{i=1}^n (\hat \alpha_i - \alpha_i) \tag{1-2}
0=i=1∑n(α^i−αi)(1-2)
C
=
α
^
i
+
μ
^
i
(1-3)
C = \hat \alpha_i + \hat \mu_i\tag{1-3}
C=α^i+μ^i(1-3)
C
=
α
i
+
μ
i
(1-4)
C = \alpha_i + \mu_i\tag{1-4}
C=αi+μi(1-4)
将式
(
1
~
1
)
∼
(
1
~
4
)
(1\text{\textasciitilde}1)\sim (1\text{\textasciitilde}4)
(1~1)∼(1~4) 代入拉格朗日函数
L
(
w
,
b
,
α
^
,
α
,
ξ
^
i
,
ξ
i
,
μ
^
i
,
μ
i
)
=
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
n
α
^
i
(
y
i
−
f
(
x
i
)
−
ϵ
)
+
∑
i
=
1
n
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
)
)
+
(
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
−
∑
i
=
1
n
μ
^
i
ξ
^
i
−
∑
i
=
1
n
μ
i
ξ
i
−
∑
i
=
1
α
^
i
ξ
^
i
−
∑
i
=
1
α
i
ξ
i
)
=
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
n
α
^
i
(
y
i
−
f
(
x
i
)
)
+
∑
i
=
1
n
α
i
(
f
(
x
i
)
−
y
i
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
)
+
(
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
−
(
∑
i
=
1
n
μ
^
i
ξ
^
i
+
∑
i
=
1
α
^
i
ξ
^
i
)
−
(
∑
i
=
1
n
μ
i
ξ
i
+
∑
i
=
1
α
i
ξ
i
)
)
=
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
w
T
x
i
+
b
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
)
+
(
C
∑
i
=
1
n
(
ξ
^
i
+
ξ
i
)
−
C
∑
i
=
1
ξ
^
i
−
C
∑
i
=
1
n
ξ
i
)
=
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
(
w
T
∑
i
=
1
n
(
α
^
i
−
α
i
)
x
i
+
b
∑
i
=
1
m
(
α
^
i
−
α
i
)
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
)
+
0
=
1
2
w
T
w
+
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
(
w
T
w
+
0
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
=
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
−
1
2
w
T
w
=
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
−
1
2
∑
i
=
1
n
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
α
^
j
−
α
j
)
(
x
i
T
x
j
)
\begin{aligned} &L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i) \\ &= \Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)-\epsilon) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i-\epsilon) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \sum_{i=1}^n\hat \mu_i\hat \xi_i - \sum_{i=1}^n\mu_i\xi_i -\sum_{i=1}\hat \alpha_i\hat\xi_i-\sum_{i=1} \alpha_i\xi_i \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n\hat \alpha_i (y_i - f(x_i)) + \sum_{i=1}^n \alpha_i(f(x_i)-y_i) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - \big(\sum_{i=1}^n\hat \mu_i\hat \xi_i +\sum_{i=1}\hat \alpha_i\hat\xi_i\big) - \big(\sum_{i=1}^n\mu_i\xi_i +\sum_{i=1} \alpha_i\xi_i\big) \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) - \sum_{i=1}^n (\hat \alpha_i-\alpha_i)(w^Tx_i+b) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + \Big( C\sum_{i=1}^n (\hat \xi_i + \xi_i) - C\sum_{i=1}\hat\xi_i - C\sum_{i=1}^n\xi_i \Big) \\ %%%% &=\Big(\frac{1}{2} ||w||^2 +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) -\big(w^T\sum_{i=1}^n (\hat \alpha_i-\alpha_i)x_i +b\sum_{i=1}^m (\hat \alpha_i - \alpha_i)\big) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \Big) + 0 \\ %%%% &=\frac{1}{2} w^Tw +\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i) - \big(w^Tw +0\big) - \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) \\ %%%% &=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} w^Tw \\ %%%% &=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j) \\ \end{aligned}
L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=(21∣∣w∣∣2+i=1∑nα^i(yi−f(xi)−ϵ)+i=1∑nαi(f(xi)−yi−ϵ))+(Ci=1∑n(ξ^i+ξi)−i=1∑nμ^iξ^i−i=1∑nμiξi−i=1∑α^iξ^i−i=1∑αiξi)=(21∣∣w∣∣2+i=1∑nα^i(yi−f(xi))+i=1∑nαi(f(xi)−yi)−ϵi=1∑n(α^i+αi))+(Ci=1∑n(ξ^i+ξi)−(i=1∑nμ^iξ^i+i=1∑α^iξ^i)−(i=1∑nμiξi+i=1∑αiξi))=(21∣∣w∣∣2+i=1∑nyi(α^i−αi)−i=1∑n(α^i−αi)(wTxi+b)−ϵi=1∑n(α^i+αi))+(Ci=1∑n(ξ^i+ξi)−Ci=1∑ξ^i−Ci=1∑nξi)=(21∣∣w∣∣2+i=1∑nyi(α^i−αi)−(wTi=1∑n(α^i−αi)xi+bi=1∑m(α^i−αi))−ϵi=1∑n(α^i+αi))+0=21wTw+i=1∑nyi(α^i−αi)−(wTw+0)−ϵi=1∑n(α^i+αi)=i=1∑nyi(α^i−αi)−ϵi=1∑n(α^i+αi)−21wTw=i=1∑nyi(α^i−αi)−ϵi=1∑n(α^i+αi)−21i=1∑ni=1∑n(α^i−αi)(α^j−αj)(xiTxj)
拉格朗日函数为
L
(
w
,
b
,
α
^
,
α
,
ξ
^
i
,
ξ
i
,
μ
^
i
,
μ
i
)
=
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
−
1
2
∑
i
=
1
n
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
α
^
j
−
α
j
)
(
x
i
T
x
j
)
L(w, b,\hat \alpha,\alpha,\hat \xi_i,\xi_i,\hat \mu_i, \mu_i)=\sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j) \\
L(w,b,α^,α,ξ^i,ξi,μ^i,μi)=i=1∑nyi(α^i−αi)−ϵi=1∑n(α^i+αi)−21i=1∑ni=1∑n(α^i−αi)(α^j−αj)(xiTxj)
可得到 SVR 的对偶问题
max
α
^
,
α
∑
i
=
1
n
y
i
(
α
^
i
−
α
i
)
−
ϵ
∑
i
=
1
n
(
α
^
i
+
α
i
)
−
1
2
∑
i
=
1
n
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
α
^
j
−
α
j
)
(
x
i
T
x
j
)
\max_{\hat \alpha,\alpha} \sum_{i=1}^n y_i(\hat \alpha_i - \alpha_i)- \epsilon\sum_{i=1}^n(\hat \alpha_i + \alpha_i) - \frac{1}{2} \sum_{i=1}^n \sum_{i=1}^n (\hat \alpha_i- \alpha_i)(\hat \alpha_j - \alpha_j)(x_i^Tx_j)
α^,αmaxi=1∑nyi(α^i−αi)−ϵi=1∑n(α^i+αi)−21i=1∑ni=1∑n(α^i−αi)(α^j−αj)(xiTxj)
s
.
t
.
∑
i
=
1
n
(
α
^
i
−
α
i
)
=
0
0
≤
α
^
i
,
α
i
≤
C
\begin{matrix} s.t. &\sum_{i=1}^n (\hat \alpha_i - \alpha_i) = 0\\ & 0\le \hat \alpha_i,\alpha_i \le C \end{matrix}
s.t.∑i=1n(α^i−αi)=00≤α^i,αi≤C
满足的部分 KKT 条件为
α
^
i
(
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
)
=
0
(2-1)
\hat \alpha_i (y_i - f(x_i) - \epsilon - \hat \xi_i)=0\tag{2-1}
α^i(yi−f(xi)−ϵ−ξ^i)=0(2-1)
α
i
(
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
)
=
0
(2-2)
\alpha_i (f(x_i) - y_i - \epsilon - \xi_i)=0\tag{2-2}
αi(f(xi)−yi−ϵ−ξi)=0(2-2)
(
C
−
α
^
i
)
ξ
^
i
=
0
(2-3)
(C-\hat\alpha_i)\hat\xi_i = 0 \tag{2-3}
(C−α^i)ξ^i=0(2-3)
(
C
−
α
i
)
ξ
i
=
0
(2-4)
(C-\alpha_i)\xi_i = 0\tag{2-4}
(C−αi)ξi=0(2-4)
式
(
2
~
1
)
∼
(
2
~
4
)
(2\text{\textasciitilde}1)\sim(2\text{\textasciitilde}4)
(2~1)∼(2~4) 为互补松弛条件。其中,
(
2
~
3
)
(2\text{\textasciitilde}3)
(2~3) 和
(
2
~
4
)
(2\text{\textasciitilde}4)
(2~4) 分别运用了式
(
1
~
3
)
(1\text{\textasciitilde}3)
(1~3) 和
(
1
~
4
)
(1\text{\textasciitilde}4)
(1~4)。
这里四个等式带来的信息量非常大。根据式
(
2
~
1
)
(2\text{\textasciitilde}1)
(2~1) 可知,当
α
^
i
≠
0
\hat \alpha_i\ne0
α^i=0 时,
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
=
0
y_i - f(x_i) - \epsilon - \hat \xi_i=0
yi−f(xi)−ϵ−ξ^i=0,样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 要么在管道的上边界上(lie on),对应
ξ
^
i
=
0
\hat \xi_i=0
ξ^i=0,要么在管道的上边界上方(above),对应
ξ
^
i
>
0
\hat \xi_i>0
ξ^i>0;当
α
i
≠
0
\alpha_i\ne 0
αi=0 时,根据式
(
2
~
2
)
(2\text{\textasciitilde}2)
(2~2) 可以推出类似的结果。但是
α
^
i
\hat\alpha_i
α^i 和
α
i
\alpha_i
αi 不能同时非零,即满足
α
^
i
α
i
=
0
\hat \alpha_i\alpha_i =0
α^iαi=0,这是因为两个限制
y
i
−
f
(
x
i
)
−
ϵ
−
ξ
^
i
=
0
y_i - f(x_i) - \epsilon - \hat \xi_i = 0
yi−f(xi)−ϵ−ξ^i=0 和
f
(
x
i
)
−
y
i
−
ϵ
−
ξ
i
=
0
f(x_i) - y_i - \epsilon - \xi_i=0
f(xi)−yi−ϵ−ξi=0 是不兼容的。可以这样证明:将两个式子相加得到等式
2
ϵ
+
ξ
i
+
ξ
^
i
=
0
2\epsilon+\xi_i+\hat\xi_i=0
2ϵ+ξi+ξ^i=0,由于
ϵ
>
0
\epsilon>0
ϵ>0,
ξ
i
≥
0
\xi_i\ge 0
ξi≥0,
ξ
^
i
≥
0
\hat \xi_i\ge0
ξ^i≥0,所以等式不成立,究其原因为两个限制不兼容。
⽀持向量是对于目标函数有贡献的样本,换句话说,就是那些使得
α
^
i
≠
0
\hat\alpha_i\ne0
α^i=0 或
α
i
≠
0
\alpha_i\ne0
αi=0 成立的样本,也就是
(
α
^
i
−
α
i
)
≠
0
(\hat \alpha_i - \alpha_i) \ne 0
(α^i−αi)=0 的样本。根据上面的讨论,我们可以知道 SVR 中的支持向量是位于管道上或者管道外的样本。
另外,可以根据式
(
2
~
3
)
(2\text{\textasciitilde}3)
(2~3) 和
(
2
~
4
)
(2\text{\textasciitilde}4)
(2~4) 可以讨论三种情况:① 当
α
i
=
0
\alpha_i=0
αi=0 且
α
^
i
≠
0
\hat \alpha_i\ne 0
α^i=0 时,由
α
i
=
0
\alpha_i=0
αi=0 可得
ξ
i
=
0
\xi_i=0
ξi=0,由
α
^
i
≠
0
\hat \alpha_i\ne0
α^i=0 可得
ξ
^
i
≥
0
\hat \xi_i\ge0
ξ^i≥0;② 当
α
i
≠
0
\alpha_i\ne0
αi=0 且
α
^
i
=
0
\hat \alpha_i= 0
α^i=0 时,由
α
i
≠
0
\alpha_i\ne0
αi=0 可得
ξ
i
≥
0
\xi_i\ge0
ξi≥0,由
α
^
i
=
0
\hat \alpha_i=0
α^i=0 可得
ξ
^
i
=
0
\hat \xi_i=0
ξ^i=0;③ 当
α
i
=
α
^
i
=
0
\alpha_i = \hat \alpha_i = 0
αi=α^i=0 时,
ξ
i
=
ξ
^
i
=
0
\xi_i = \hat \xi_i = 0
ξi=ξ^i=0。这三种情况可以统一表示为
ξ
^
i
ξ
i
=
0
\hat \xi_i\xi_i = 0
ξ^iξi=0。巧妙的是,这四个等式带来的信息与我们本小节对松弛变量的直观理解不谋而合。
参数
b
b
b 可以这样得到:考虑一个满足
0
<
α
j
<
C
0 < \alpha_j < C
0<αj<C 的样本。根据式
(
2
~
4
)
(2\text{\textasciitilde}4)
(2~4) 可知
ξ
j
=
0
\xi_j = 0
ξj=0,再根据式
(
2
~
2
)
(2\text{\textasciitilde}2)
(2~2) 可知一定有
f
(
x
j
)
−
y
j
−
ϵ
=
0
f(x_j)-y_j-\epsilon=0
f(xj)−yj−ϵ=0。将
f
(
x
j
)
=
w
T
x
j
+
b
f(x_j) = w^Tx_j+b
f(xj)=wTxj+b 代入求解
b
b
b,同时将式
(
1
~
1
)
(1\text{\textasciitilde}1)
(1~1) 代入,得
b
=
y
j
+
ϵ
−
w
T
x
j
=
y
j
+
ϵ
−
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
x
i
T
x
j
)
(3)
\begin{aligned} b &= y_j + \epsilon - w^Tx_j \\ &=y_j + \epsilon - \sum_{i=1}^n(\hat \alpha_i - \alpha_i)(x_i^Tx_j) \\ \end{aligned}\tag{3}
b=yj+ϵ−wTxj=yj+ϵ−i=1∑n(α^i−αi)(xiTxj)(3)
当然,也可以通过考虑一个满足
0
<
α
^
j
<
C
0 < \hat\alpha_j < C
0<α^j<C 的样本,得到类似的结果。在实际应用中,更好的做法是对所有的这些
b
b
b 的估计进⾏平均。
使用训练好的模型进行预测也非常简单,根据式
(
1
~
1
)
(1\text{\textasciitilde}1)
(1~1) 计算出最优解
w
∗
w^*
w∗,根据式
(
3
)
(3)
(3) 计算出最优解
b
∗
b^*
b∗。预测函数为
f
(
x
)
=
w
∗
T
x
+
b
∗
=
∑
i
=
1
n
(
α
^
i
−
α
i
)
(
x
i
T
x
)
+
b
∗
(4)
\begin{aligned} f(x) &= {w^*}^Tx + b^* \\ &= \sum_{i=1}^n (\hat \alpha_i - \alpha_i) (x_i^T x) + b^* \end{aligned} \tag{4}
f(x)=w∗Tx+b∗=i=1∑n(α^i−αi)(xiTx)+b∗(4)
另外,我们也可以从正则化的角度理解原始问题的目标函数,将
∣
∣
w
∣
∣
2
||w||^2
∣∣w∣∣2 视为正则化项,另一部分视为未引入正则化项的损失函数,这与软间隔支持向量机类似。
硬间隔与核函数支持向量回归
硬间隔认为全部的样本点都可以被容纳在
ϵ
~
\epsilon\text{\textasciitilde}
ϵ~管道中,也就不存在松弛变量及其对应约束。求解过程与软间隔类似,甚至可以认为硬间隔是软间隔的一种特殊情况。
使用核函数的方法与支持向量机中使用核函数的方法一致,目的都是实现划分超平面非线性化,如图
3
3
3 所示。
图 3 核函数支持向量回归
若考虑特征映射式
(
1
~
1
)
(1\text{\textasciitilde}1)
(1~1) 对应
w
∗
=
∑
i
=
1
n
(
α
^
i
−
α
i
)
ϕ
(
x
i
)
w^* = \sum_{i=1}^n (\hat \alpha_i - \alpha_i)\phi(x_i)
w∗=i=1∑n(α^i−αi)ϕ(xi)
式
(
3
)
(3)
(3) 对应
b
∗
=
y
j
+
ϵ
−
∑
i
=
1
n
(
α
^
i
−
α
i
)
K
(
x
i
,
x
j
)
b^* =y_j + \epsilon - \sum_{i=1}^n(\hat \alpha_i - \alpha_i)K(x_i,x_j)
b∗=yj+ϵ−i=1∑n(α^i−αi)K(xi,xj)
式
(
4
)
(4)
(4) 对应
f
(
x
)
=
∑
i
=
1
n
(
α
^
i
−
α
i
)
K
(
x
i
,
x
)
+
b
∗
f(x) = \sum_{i=1}^n (\hat \alpha_i - \alpha_i) K(x_i, x) + b^*
f(x)=i=1∑n(α^i−αi)K(xi,x)+b∗
REF
[1]《Pattern Recognition and Machine Learning》
[2]《机器学习》周志华著
[3] 【机器学习】支持向量机【上】硬间隔_不牌不改的博客 - CSDN
[4] 【机器学习】支持向量机【下】软间隔与核函数 - CSDN
[5] 支持向量回归(Support Vector Regression) - CSDN
[6] 如何通俗易懂地解释支持向量回归(support vector regression)? - 知乎
版权归原作者 不牌不改 所有, 如有侵权,请联系我们删除。