【西瓜书图6.2】所示的“边界清晰”的情况称为“硬间隔”,它要求所有样本均满足约束【西瓜书式(6.3)】,而【西瓜书图6.4】所示的是“边界不清晰”的情况,称为“软间隔”。
使用“松驰变量”方法后,“软间隔支持向量机”的求解过程与解“SVM基本型”相同。
回归问题中的
y
y
y对应一个
y
y
y轴,支持向量回归(SVR)完全仿照软间隔支持向量机的推导。
软间隔与正则化
损失函数
【西瓜书图6.2】所示的“边界清晰”的情况称为“硬间隔”,它要求所有样本均满足约束【西瓜书式(6.3)】,而【西瓜书图6.4】所示的是“边界不清晰”的情况,称为“软间隔”,即
{
y
i
(
w
T
x
i
+
b
)
−
1
⩾
0
对绝大多数样本
y
i
(
w
T
x
i
+
b
)
−
1
<
0
对极少数样本
\begin{align} \begin{cases} \ y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)-1\geqslant 0 \qquad\text{对绝大多数样本} \\ \ y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)-1< 0 \qquad\text{对极少数样本} \\ \end{cases} \tag{6.14} \end{align}
{ yi(wTxi+b)−1⩾0对绝大多数样本 yi(wTxi+b)−1<0对极少数样本(6.14)
显然,需要对“绝大多数”和“少数”进行量化,可用“0/1损失函数”【西瓜书式(6.30)】进行度量,由式(6.14)知总损失为
∑
i
=
1
m
ℓ
0
/
1
(
y
i
(
w
T
x
i
+
b
)
−
1
)
\begin{align} \sum_{i=1}^m {\ell}_{0/1} (y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)-1) \tag{6.15} \end{align}
i=1∑mℓ0/1(yi(wTxi+b)−1)(6.15)
再配上惩罚度 C C C进行正则化,则得到优化目标【西瓜书式(6.29)】。
然而,
ℓ
0
/
1
{\ell}_{0/1}
ℓ0/1的数学性质不好,需要寻找数学性质好的“替代损失”函数,如,【西瓜书式(6.31)
∼
\,\thicksim
∼(6.33)】。 从图像【西瓜书图6.5】\footnote{比较三组图非常有意思:(1)【西瓜书图3.2】:逻辑回归(对数几率回归)是用线性回归模型产生一个S曲线,然后将其折断变为二值(0/1)预测;(2)【西瓜书图5.2】:我们需要具备“抑制”和“兴奋”两状态的神经元,以连续的S型状态的神经元替代;(3)【西瓜书图6.5】:我们需要一个二值(0/1)损失函数,而找数学性质好的函数去替代它。 前两者是用对称的S曲线表示两端的对称地位,而(3)中的替代函数并不要求对称,因为,它是计量损失的函数,所以,对右侧“开放”,对左侧设界是合理的。 }
上看,这些替代函数好像与
ℓ
0
/
1
{\ell}_{0/1}
ℓ0/1相差太大,注意到我们这里的特点是“绝大多数”和“极少数”,因此,只要【西瓜书图6.5】右侧足够接近即可,放弃左侧的逼近。 如,hinge损失函数
ℓ
h
i
n
g
e
(
t
)
=
max
(
0
,
1
−
t
)
{\ell}_{\mathrm{hinge}}(t)=\max(0,1-t)
ℓhinge(t)=max(0,1−t)与
ℓ
0
/
1
(
t
−
1
)
{\ell}_{0/1}(t-1)
ℓ0/1(t−1)损失函数右边一致,而左侧相去甚远。
略去(见上篇6.3 松驰变量)细节,我们有如下记忆“松驰变量”方法的公式:
∑
max
(
0
,
z
i
)
=
min
ξ
∑
i
=
1
m
ξ
i
s
.
t
.
z
i
⩽
ξ
i
,
ξ
i
⩾
0
\begin{align} \sum\max(0,z_i)=\mathop{\min}\limits_{\boldsymbol{\xi}}\sum_{i=1}^m{\xi}_i \quad \quad \mathrm{s.t.}\ z_i\leqslant {\xi}_i \, ,\,{\xi}_i\geqslant 0 %\sum\max(0,z_i)=\sum {\xi}_i\quad \mathrm{s.t.}\quad z_i\geqslant -{\xi}_i ,{\xi}_i\geqslant 0 \tag{6.18} \end{align}
∑max(0,zi)=ξmini=1∑mξis.t. zi⩽ξi,ξi⩾0(6.18)
它将变量
z
i
z_i
zi变松到
ξ
i
{\xi}_i
ξi(
z
i
⩽
ξ
i
z_i\leqslant {\xi}_i
zi⩽ξi),成了松驰变量
ξ
i
{\xi}_i
ξi。
令
z
i
=
1
−
y
i
(
w
T
x
i
+
b
)
z_i=1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)
zi=1−yi(wTxi+b),由于
w
,
b
\boldsymbol{w},b
w,b是参数(变量),故
z
i
z_i
zi为变量,由式(6.18),以hinge损失函数计算时,总损失式(6.15)变为
∑
i
=
1
m
max
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
=
∑
i
=
1
m
max
(
0
,
z
i
)
=
min
ξ
∑
i
=
1
m
ξ
i
s
.
t
.
z
i
⩽
ξ
i
,
ξ
i
⩾
0
(由式(6.18))
=
min
ξ
∑
i
=
1
m
ξ
i
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
⩽
ξ
i
,
ξ
i
⩾
0
\begin{align} & \sum_{i=1}^m \max (0,1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b))\notag \\ = & \sum_{i=1}^m \max (0,z_i)\notag \\ = & \mathop{\min}\limits_{\boldsymbol{\xi}}\sum_{i=1}^m{\xi}_i \quad \mathrm{s.t.}\quad z_i\leqslant {\xi}_i\, ,\,{\xi}_i\geqslant 0 \quad \text{(由式(6.18))} \notag \\ = & \mathop{\min}\limits_{\boldsymbol{\xi}}\sum_{i=1}^m{\xi}_i \quad \mathrm{s.t.}\quad 1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)\leqslant {\xi}_i \, ,\,{\xi}_i\geqslant 0 \tag{6.19} \end{align}
===i=1∑mmax(0,1−yi(wTxi+b))i=1∑mmax(0,zi)ξmini=1∑mξis.t.zi⩽ξi,ξi⩾0(由式(6.18))ξmini=1∑mξis.t.1−yi(wTxi+b)⩽ξi,ξi⩾0(6.19)
将总损失式(6.19)代入正则化的目标【西瓜书式(6.34)】,目标变为
min
w
,
b
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
max
(
0
,
1
−
y
i
(
w
T
x
i
+
b
)
)
=
min
w
,
b
1
2
∥
w
∥
2
+
C
min
ξ
∑
i
=
1
m
ξ
i
(由式(6.19))
=
min
w
,
b
,
ξ
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ξ
i
s
.
t
.
ξ
i
⩾
0
y
i
(
w
T
x
i
+
b
)
⩾
1
−
ξ
i
\begin{align} \mathop{\min}\limits_{\boldsymbol{w},b}\quad & \frac{1}{2}{\| \boldsymbol{w}\|}^2+C\sum_{i=1}^m \max (0,1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b))\notag \\ =\mathop{\min}\limits_{\boldsymbol{w},b}\quad & \frac{1}{2}{\| \boldsymbol{w}\|}^2+C\mathop{\min}\limits_{\boldsymbol{\xi}}\sum_{i=1}^m{\xi}_i \quad \text{(由式(6.19))}\notag \\ =\mathop{\min}\limits_{\boldsymbol{w},b,\boldsymbol{\xi }}\quad & \frac{1}{2}{\| \boldsymbol{w}\|}^2+C\sum_{i=1}^m{\xi }_i\tag{6.20} \\ \mathrm{s.t.}\quad & {\xi }_i\geqslant 0 \notag \\ & y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)\geqslant 1-{\xi }_i \notag \end{align}
w,bmin=w,bmin=w,b,ξmins.t.21∥w∥2+Ci=1∑mmax(0,1−yi(wTxi+b))21∥w∥2+Cξmini=1∑mξi(由式(6.19))21∥w∥2+Ci=1∑mξiξi⩾0yi(wTxi+b)⩾1−ξi(6.20)
这即为【西瓜书式(6.35)】,称为“软间隔支持向量机”。 “软间隔支持向量机”的求解过程与解“SVM基本型”相同。
支持向量回归
比较【西瓜书图6.4】与【西瓜书图6.6】的坐标系,回归问题中的 y y y对应一个 y y y轴,支持向量回归(SVR)完全仿照软间隔支持向量机的推导:
先引入损失函数 ℓ ϵ ( z ) {\ell}_\epsilon (z) ℓϵ(z),即【西瓜书式(6.44)】。
建立优化目标,即【西瓜书式(6.43)】。 其中,总损失为
∑
i
=
1
m
ℓ
ϵ
f
(
x
i
−
y
i
)
=
∑
max
(
0
,
∣
z
i
∣
−
ϵ
)
,
z
i
=
f
(
x
i
−
y
i
)
=
∑
z
i
⩾
0
max
(
0
,
z
i
−
ϵ
)
+
∑
z
i
⩽
0
max
(
0
,
−
z
i
−
ϵ
)
=
∑
max
(
0
,
z
i
−
ϵ
)
+
∑
max
(
0
,
−
z
i
−
ϵ
)
(扩大范围只增加了0)
\begin{align} & \sum_{i=1}^m{\ell}_{\epsilon }f(\boldsymbol{x}_i-y_i)\notag \\ = & \sum\max(0,|z_i|-\epsilon ),\quad z_i=f(\boldsymbol{x}_i-y_i)\notag \\ = & \sum_{z_i\geqslant 0}\max(0,z_i-\epsilon )+\sum_{z_i\leqslant 0}\max(0,-z_i-\epsilon )\notag \\ = & \sum\max(0,z_i-\epsilon )+\sum\max(0,-z_i-\epsilon )\qquad\text{(扩大范围只增加了0)} \tag{6.21} \end{align}
===i=1∑mℓϵf(xi−yi)∑max(0,∣zi∣−ϵ),zi=f(xi−yi)zi⩾0∑max(0,zi−ϵ)+zi⩽0∑max(0,−zi−ϵ)∑max(0,zi−ϵ)+∑max(0,−zi−ϵ)(扩大范围只增加了0)(6.21)
再引入松驰变量,由式(6.18)有
∑
max
(
0
,
z
i
−
ϵ
)
=
min
ξ
∑
i
=
1
m
ξ
i
s
.
t
.
z
i
−
ϵ
⩽
ξ
i
,
ξ
i
⩾
0
∑
max
(
0
,
−
z
i
−
ϵ
)
=
min
ξ
^
∑
i
=
1
m
ξ
i
s
.
t
.
−
z
i
−
ϵ
⩽
ξ
^
i
,
ξ
^
i
⩾
0
\begin{align} \sum\max(0,z_i-\epsilon ) =\mathop{\min}\limits_{\boldsymbol{\xi}}\sum_{i=1}^m{\xi}_i \quad \mathrm{s.t.}\quad z_i-\epsilon\leqslant {\xi}_i \, ,\,{\xi}_i\geqslant 0 \tag{6.22} \\ \sum\max(0,-z_i-\epsilon ) =\mathop{\min}\limits_{\hat{\boldsymbol{\xi}}}\sum_{i=1}^m{\xi}_i \quad \mathrm{s.t.}\quad -z_i-\epsilon\leqslant \hat{\xi}_i ,\hat{\xi}_i\geqslant 0 \tag{6.23} \end{align}
∑max(0,zi−ϵ)=ξmini=1∑mξis.t.zi−ϵ⩽ξi,ξi⩾0∑max(0,−zi−ϵ)=ξ^mini=1∑mξis.t.−zi−ϵ⩽ξ^i,ξ^i⩾0(6.22)(6.23)
将式(6.22)、式(6.23)代入式(6.21) ,再将式(6.21)代入【西瓜书式(6.43)】,即得【西瓜书式(6.45)】,这即为支持向量回归(SVR)的优化目标(主问题),其求解方法同前述。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权