有任何的书写错误、排版错误、概念错误等,希望大家包含指正。
在阅读本篇之前建议先学习:
【机器学习】支持向量机【上】硬间隔
【机器学习】支持向量机【下】软间隔与核函数
支持向量回归(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∗
[1]《Pattern Recognition and Machine Learning》
[2]《机器学习》周志华著
[3] 【机器学习】支持向量机【上】硬间隔_不牌不改的博客 - CSDN
[4] 【机器学习】支持向量机【下】软间隔与核函数 - CSDN
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
我已经按照https://github.com/wayneeseguin/rvm#installation上的说明通过RVM安装了Ruby.有关信息,我有所有文件(readline-5.2.tar.gz、readline-6.2.tar.gz、ruby-1.9.3-p327.tar.bz2、rubygems-1.8.24.tgz、wayneeseguin-rvm-stable.tgz和yaml-0.1.4.tar.gz)在~/.rvm/archives目录中,我不想在任何目录中重新下载它们方式。当我这样做时:sudo/usr/bin/apt-getinstallbuild-essent
我的Ruby-on-Rails项目中有以下文件结构,用于规范:/spec/msd/serviceservice_spec.rb/support/my_modulerequests_stubs.rb我的request_stubs.rb有:moduleMyModule::RequestsStubsmodule_functiondeflist_clientsurl="dummysite.com/clients"stub_request(:get,url).to_return(status:200,body:"clientsbody")endend在我的service_spec.rb我有:re
Ruby是否支持(找不到更好的词)非转义(逐字)字符串?就像在C#中一样:@"c:\ProgramFiles\"...或者在Tcl中:{c:\ProgramFiles\} 最佳答案 是的,您需要在字符串前加上%前缀,然后是描述其类型的单个字符。你想要的是%q{c:\programfiles\}。镐书很好地涵盖了这一点here,部分是通用分隔输入。 关于ruby-Ruby是否支持逐字字符串?,我们在StackOverflow上找到一个类似的问题: https:/