(《机器学习》完整版系列)第6章 支持向量机SVM——6.4 软间隔与正则化、支持向量回归

【西瓜书图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)10对绝大多数样本 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=1m0/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,1t) ℓ 0 / 1 ( t − 1 ) {\ell}_{0/1}(t-1) 0/1(t1)损失函数右边一致,而左侧相去甚远。

略去(见上篇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=1mξis.t. ziξi,ξi0(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=1yi(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=1mmax(0,1yi(wTxi+b))i=1mmax(0,zi)ξmini=1mξis.t.ziξi,ξi0(由式(6.18)ξmini=1mξis.t.1yi(wTxi+b)ξi,ξi0(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.21w2+Ci=1mmax(0,1yi(wTxi+b))21w2+Cξmini=1mξi(由式(6.19)21w2+Ci=1mξiξi0yi(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=1mϵf(xiyi)max(0,ziϵ),zi=f(xiyi)zi0max(0,ziϵ)+zi0max(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=1mξis.t.ziϵξi,ξi0max(0,ziϵ)=ξ^mini=1mξis.t.ziϵξ^i,ξ^i0(6.22)(6.23)

将式(6.22)、式(6.23)代入式(6.21) ,再将式(6.21)代入【西瓜书式(6.43)】,即得【西瓜书式(6.45)】,这即为支持向量回归(SVR)的优化目标(主问题),其求解方法同前述。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:6.3 松驰变量(当搜寻范围扩大时,可能会找到更高的山、更低的谷)
下一篇:6.5 核对率回归和核线性判别分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值