支持向量机 - 软间隔最大化

前言

之前写的一偏文章主要是SVM的硬间隔,结合SVM拉格朗日对偶问题可以求解得到空间最大超平面,但是如果样本中与较多的异常点,可能对样本较敏感,不利于模型泛化,于是有了软间隔的支持向量机形式,本文来了解一下此问题。

软间隔最大化

引入松弛变量,使得一部分异常数据也可以满足约束条件: y i ( x i + b ) > = 1 − ε i y_i(x_i+b) >=1 - \varepsilon_i yi(xi+b)>=1εi,既然约束条件引入了松弛变量,那么点到超平面的距离是不是也要改变,于是调整为:
min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i N ε i s . t . y i ( x i + b ) ≥ 1 − ε i i=1,2...,n ε i ≥ 0 \min \quad \frac{1}{2} ||w||^2+C\sum_{i}^{N}\varepsilon_i \\ s.t. \quad y_i(x_i+b) \ge 1 - \varepsilon_i \qquad \text{i=1,2...,n}\\ \varepsilon_i \ge 0 min21w2+CiNεis.t.yi(xi+b)1εii=1,2...,nεi0

  • C:表示惩罚因子,这个值大小表示对误分类数据集的惩罚,调和最大间距和误分类点个数之间的关系。
  • ε i \varepsilon_i εi:也作为代价。

这也是一个凸二次规划问题,可以求解得到 w w w,但b的求解是一个区间范围,让我们来看看是怎么回事,求解流程跟硬间隔没差别,直接得到拉格朗日对偶问题:

max ⁡ a i > 0 , μ > 0 min ⁡ w i , b , ε L ( w , b , ε , a , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i N ε i + ∑ i = 1 N a i [ 1 − y i ( w x i + b ) + ε i ] + ∑ i N μ i ε i \max_{a_i>0,\mu>0} \min_{w_i,b,\varepsilon} \quad L(w,b,\varepsilon,a,\mu)= \frac{1}{2} ||w||^2+C\sum_{i}^{N}\varepsilon_i+\sum_{i=1}^{N}a_{i}[1-y_i(wx_i+b)+\varepsilon_i]+\sum_{i}^{N} \mu_i \varepsilon_i ai>0,μ>0maxwi,b,εminL(w,b,ε,a,μ)=21w2+CiNεi+i=1Nai[1yi(wxi+b)+εi]+iNμiεi
继续按照流程走:

  • 对w、b、 ε \varepsilon ε 求偏导,让偏导等于0,结果为:
    w = ∑ i a i y i x i ∑ i a i y i = 0 C − a i − u i = 0 w = \sum_{i}a_iy_ix_i \\ \sum_{i}a_iy_i = 0 \\ C-a_i-u_i =0 w=iaiyixiiaiyi=0Caiui=0
  • 代入上面的方程得到:

max ⁡ a i > 0 , μ > 0 L ( w , b , ε , a , μ ) = − 1 2 ∑ i ∑ j a i a j y i y j ( x i ∗ x j ) + ∑ i a i s . t . ∑ i N a i y i = 0 0 ≤ a i ≤ C \max_{a_i>0,\mu>0} \quad L(w,b,\varepsilon,a,\mu) = -\frac{1}{2}\sum_{i} \sum_{j}a_{i}a_{j}y_{i}y_{j}(x_i * x_j) + \sum_{i}a_i \\ s.t. \quad \sum_{i}^{N}a_iy_i=0 \\ \quad 0\le a_i\le C ai>0,μ>0maxL(w,b,ε,a,μ)=21ijaiajyiyj(xixj)+iais.t.iNaiyi=00aiC
去掉符号,将max 转换为 min :
min ⁡ a i > 0 , μ > 0 L ( w , b , ε , a , μ ) = 1 2 ∑ i ∑ j a i a j y i y j ( x i ∗ x j ) − ∑ i a i s . t . ∑ i N a i y i = 0 0 ≤ a i ≤ C \min_{a_i>0,\mu>0} \quad L(w,b,\varepsilon,a,\mu) = \frac{1}{2}\sum_{i} \sum_{j}a_{i}a_{j}y_{i}y_{j}(x_i * x_j) - \sum_{i}a_i \\ s.t. \quad \sum_{i}^{N}a_iy_i=0 \\ \quad 0\le a_i\le C ai>0,μ>0minL(w,b,ε,a,μ)=21ijaiajyiyj(xixj)iais.t.iNaiyi=00aiC
这里代入之后就只有一个因子 a i a_i ai,对此方程求解 a i a_i ai

  • w、b:
    w = ∑ i a i y i x i w = \sum_{i}a_iy_ix_i \\ w=iaiyixi
    b的计算就需要思考了,选取满足 0 ≤ a i ≤ C \quad 0\le a_i\le C 0aiC a i a_i ai,利用这些点来求解b:
    b = y j − ∑ i a i y i ( x i ∗ x j ) b = y_j-\sum_{i}a_iy_i(x_i*x_j) b=yjiaiyi(xixj)
    当然符合这个条件的也不只有一个,存在多个条件。求解平均值作为一个唯一值。

  • 超平面
    y = w x + b y = wx+b y=wx+b

和上一篇的硬间隔最大化的线性可分SVM相比,多了一个约束条件: 0 ≤ a i ≤ C 0\le a_i \le C 0aiC

参考博客

统计学习基础

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值