西瓜书 软间隔与支持向量回归

软间隔与支持向量回归

1、算法原理

在现实任务中,线性不可分的情形才是最常见的,对此可以有以下两种方法:

  1. 将样本映射到更高维的空间中,使得其在该空间上线性可分。

    如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使样本可分

  2. 允许支持向量机犯错,对某些无法划分的样本表示宽容,毕竟它们也有可能是一些异常样本。

2、软间隔

从数学角度来说,软间隔就是允许部分样本(但要尽可能少)不满足下式中的约束条件
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m \underset{w,b}{min}\quad \frac{1}{2}||w||^2\\ s.t.\quad y_i(w^Tx_i+b)\ge1,\quad i = 1,2,...,m w,bmin21w2s.t.yi(wTxi+b)1,i=1,2,...,m
关于上面两个公式的推导可以移步此处

因此,可以将必须严格执行的约束条件转换为具有一定灵活性的“损失”,合格的损失函数要求如下:

  • 当满足约束条件时,损失为0
  • 当不满足约束条件时,损失不为0
  • (可选)当不满足约束条件时,损失与其违反约束条件的程度成正比

只有满足以上要求,才能保证在最小化(min)损失的过程中,保证不满足约束条件的样本尽可能的少。
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ 0 / 1 ( y i ( w T x i + b ) − 1 ) \underset{w,b}{min}\frac{1}{2}||w||^2+C\sum_{i=1}^m\ell_{0/1}(y_i(w^Tx_i+b)-1) w,bmin21w2+Ci=1m0/1(yi(wTxi+b)1)
其中, ℓ 0 / 1 \ell_{0/1} 0/1是"0/1损失函数"
ℓ 0 / 1 ( z ) = { 1 , i f z < 0 0 , i f z ≥ 0 \ell_{0/1}(z)=\left\{ \begin{aligned} &1,\quad if z<0\\ &0,\quad if z\ge0 \end{aligned} \right. 0/1(z)={1,ifz<00,ifz0
C > 0 C>0 C>0是一个常数,用来调节损失的权重,显然当 C → + ∞ C\rightarrow+\infin C+时,会迫使所有样本的损失为0,进而退化为严格执行的约束条件,退化为硬间隔(举个不太恰当的例子,C=0.1时,后面和式等于1,若C增大为1,达到同样的损失,后面的和式为0.1),而 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2的存在是为了实现原始公式中的作用,即最大化支持向量到直线的距离,因此本式子可以看作支持向量机的一般化形式。

由于 ℓ 0 / 1 \ell_{0/1} 0/1非凸,非连续,数学性质不好,使得上式不易求解,因此常用一些数学性质较好的“替代损失函数”来替代 ℓ 0 / 1 \ell_{0/1} 0/1,当然损失函数还得要满足前面说的三点要求,所以软间隔支持向量机通常采用的是hinge(合页)损失来替代 ℓ 0 / 1 \ell_{0/1} 0/1
h i n g e 损 失 : ℓ h i n g e ( z ) = m a x ( 0 , 1 − z ) hinge损失:\ell_{hinge}(z)=max(0,1-z) hinge:hinge(z)=max(0,1z)
图像如下:

图一

可以看到,当 z < 1 z<1 z<1时,其损失是越来越大的,满足条件2,3,而 z ≥ 1 z\ge1 z1时,损失为0,满足条件1。

替换上式可得
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m m a x ( 0 , 1 − y i ( w T x i + b ) ) \underset{w,b}{min}\frac{1}{2}||w||^2+C\sum_{i=1}^mmax(0,1-y_i(w^Tx_i+b)) w,bmin21w2+Ci=1mmax(0,1yi(wTxi+b))
引入松弛变量 ε i \varepsilon_i εi,上述优化问题便和下述优化问题等价
m i n w , b , ε i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ε i s . t . y i ( w T x i + b ) ≥ 1 − ε i ε i ≥ 0 , i = 1 , 2 , . . . , m \underset{w,b,\varepsilon_i}{min}\quad \frac{1}{2}||w||^2+C\sum_{i=1}^m\varepsilon_i\\ s.t.\quad y_i(w^Tx_i+b)\ge1-\varepsilon_i\\ \varepsilon_i\ge0,i=1,2,...,m w,b,εimin21w2+Ci=1mεis.t.yi(wTxi+b)1εiεi0,i=1,2,...,m
【证明】:令
m a x ( 0 , 1 − y i ( w T x i + b ) ) = ε i 显 然 ε i ≥ 0 , 当 1 − y i ( w T x i + b ) > 0 ⇒ ε i = 1 − y i ( w T x i + b ) , 当 1 − y i ( w T x i + b ) ≤ 0 ⇒ ε i = 0 , 所 以 1 − y i ( w T x + b ) ≤ ε i ⇒ y i ( w T x i + b ) ≥ 1 − ε i max(0,1-y_i(w^Tx_i+b))=\varepsilon_i\\ 显然\varepsilon_i\ge0,当1-y_i(w^Tx_i+b)>0\Rightarrow\varepsilon_i=1-y_i(w^Tx_i+b),\\ 当1-y_i(w^Tx_i+b)\le0\Rightarrow\varepsilon_i=0,所以\\ 1-y_i(w^Tx+b)\le\varepsilon_i\Rightarrow y_i(w^Tx_i+b)\ge1-\varepsilon_i max(0,1yi(wTxi+b))=εiεi01yi(wTxi+b)>0εi=1yi(wTxi+b)1yi(wTxi+b)0εi=0,1yi(wTx+b)εiyi(wTxi+b)1εi
当然直观来看, ε i \varepsilon_i εi可以看作是某些样本的偏移程度( 1 − y i ( w T x i + b ) 1-y_i(w^Tx_i+b) 1yi(wTxi+b)),其存在允许支持向量机在某些样本上不用严格大于1,而是大于等于一个比1小的数即可,而 m i n min min使得这些样本尽可能地少。

3、支持向量回归

相比于线性回归用一条线来拟合训练样本,支持向量回归(SVR)是采用一个以 f ( x ) = w T x + b f(x) = w^Tx+b f(x)=wTx+b为中心,宽度为 2 ϵ 2\epsilon 2ϵ间隔带来拟合训练样本。

落在带子上的样本不计算损失(类比线性回归在线上的点预测误差为0),不在带子上的则以偏离带子的距离作为损失(类比线性回归的均方误差),然后以最小化损失的方式迫使间隔带从样本最密集的地方(中心地带)穿过,进而达到拟合训练样本的目的。

所以要意识到这是个回归问题,所以模型的目的是为了预测某个点,而不是对其进行分类,所以间隔带的目的是尽可能包含更多的样本,所以只能选择最能反应样本特征的位置,即样本最密集的地方穿过。

因此SVR的优化问题可以写为
m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i ) \underset{w,b}{min}\frac{1}{2}||w||^2+C\sum_{i=1}^m\ell_{\epsilon}(f(x_i)-y_i) w,bmin21w2+Ci=1mϵ(f(xi)yi)
其中 ℓ ϵ ( z ) \ell_{\epsilon}(z) ϵ(z) ϵ \epsilon ϵ不敏感损失函数(类比均方误差损失)
ℓ ϵ ( z ) = { 0 , i f ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ , i f ∣ z ∣ > ϵ \ell_{\epsilon}(z)= \left\{ \begin{aligned} \quad 0,\quad if|z|\le\epsilon\\ |z|-\epsilon,\quad if|z|>\epsilon \end{aligned} \right. ϵ(z)={0,ifzϵzϵ,ifz>ϵ
1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2为L2正则项,此处引入正则项除了起正则化的作用外,也是为了和(软间隔)支持向量机的优化目标保持形式上的一致(不用均方误差也是此目的),这样就可以导出对偶问题引入核函数, C C C为调节损失权重的常数。

同软间隔支持向量机,引入松弛变量 ε i \varepsilon_i εi,令
ℓ ϵ ( f ( x i ) − y i ) = ε i \ell_{\epsilon}(f(x_i)-y_i)=\varepsilon_i ϵ(f(xi)yi)=εi
显然 ε i ≥ 0 \varepsilon_i\ge0 εi0,并且

∣ f ( x i ) − y i ∣ ≤ ϵ ⇒ ε i = 0 |f(x_i)-y_i|\le\epsilon\Rightarrow\varepsilon_i=0 f(xi)yiϵεi=0

∣ f ( x i ) − y i ∣ > ϵ ⇒ ∣ f ( x i ) − y i ∣ − ϵ |f(x_i)-y_i|>\epsilon\Rightarrow|f(x_i)-y_i|-\epsilon f(xi)yi>ϵf(xi)yiϵ

所以
∣ f ( x i ) − y i ∣ − ϵ ≤ ε i ⇒ ∣ f ( x i ) − y i ∣ ≤ ϵ + ε i − ϵ − ε i ≤ f ( x i ) − y i ≤ ϵ + ε i |f(x_i)-y_i|-\epsilon\le\varepsilon_i\Rightarrow|f(x_i)-y_i|\le\epsilon+\varepsilon_i\\ -\epsilon-\varepsilon_i\le f(x_i)-y_i\le\epsilon+\varepsilon_i f(xi)yiϵεif(xi)yiϵ+εiϵεif(xi)yiϵ+εi
那么SVR的优化问题可以改写为
m i n w , b , ε i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ε i s . t . − ϵ − ε i ≤ f ( x i ) − y i ≤ ϵ + ε i ε i ≥ 0 , i = 1 , 2 , . . . , m \underset{w,b,\varepsilon_i}{min}\quad \frac{1}{2}||w||^2+C\sum_{i=1}^m\varepsilon_i\\ s.t.\quad -\epsilon-\varepsilon_i\le f(x_i)-y_i\le\epsilon+\varepsilon_i\\ \varepsilon_i\ge0,i=1,2,...,m w,b,εimin21w2+Ci=1mεis.t.ϵεif(xi)yiϵ+εiεi0,i=1,2,...,m
如果两边采用不同的松弛程度
m i n w , b , ε i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ε i + ε i ^ ) s . t . − ϵ − ε i ^ ≤ f ( x i ) − y i ≤ ϵ + ε i ε i ≥ 0 , ε i ^ ≥ 0 , i = 1 , 2 , . . . , m \underset{w,b,\varepsilon_i}{min}\quad \frac{1}{2}||w||^2+C\sum_{i=1}^m(\varepsilon_i+\hat{\varepsilon_i})\\ s.t.\quad -\epsilon-\hat{\varepsilon_i}\le f(x_i)-y_i\le\epsilon+\varepsilon_i\\ \varepsilon_i\ge0,\hat{\varepsilon_i}\ge 0,i=1,2,...,m w,b,εimin21w2+Ci=1m(εi+εi^)s.t.ϵεi^f(xi)yiϵ+εiεi0,εi^0,i=1,2,...,m
引入松弛程度就是为了解决某些不满足约束条件的样本,而这些样本在带子的左右两边分布并不一定均匀。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值