机器学习算法——支持向量机SVM6(软间隔)

本文深入探讨了支持向量机(SVM)中的软间隔概念,这是为了解决现实中训练样本可能无法线性划分的问题。通过引入软间隔和松弛变量,允许一部分样本出错,以增强模型的泛化能力。文章介绍了如何构建软间隔支持向量机的优化问题,并展示了如何使用拉格朗日乘子和SMO算法进行求解。同时,解释了KTT条件在识别支持向量中的作用。
摘要由CSDN通过智能技术生成

\xi前面的文章中我们一直假定训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。然而,在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。退一步说,即使恰好找到了某个核函数使训练样本在特征空间中线性可分,也很难判定这个貌似线性可分的结果不是由于过拟合造成的。

缓解该问题的方法就是要引入“软间隔”概念,即允许支持向量机在一些样本上出错。

机器学习算法——支持向量机SVM2(硬间隔与支持向量)_Vicky_xiduoduo的博客-CSDN博客中讲解的硬间隔,软间隔就是允许某些样本不满足以下约束

当然,在最大化间隔的同时,不满足约束的样本应尽可能地少

故,需要放松原始判别函数中地不等式条件,来让决策边界能够适用于异常点,所以引入松弛变量\xi_i \geqslant 0来帮助优化原始的判别函数:

\left\{\begin{matrix} w^Tx_i+b \geqslant 1-\xi_i, y_i=+1\\ w^T x_i+b \leqslant -1+\xi_i, y_i =-1\\ \end{matrix}\right.

y_i(w^Tx_i+b) \geqslant 1-\xi_i

所以此时,“软间隔支持向量机”可以写为

\underset{w,b, \xi}{min} \frac{1}{2} ||w||^2 + C \sum_{i=1}^{m} \xi_i \\ \\ s.t. y_i(w^Tx_i+b) \geqslant 1-\xi_i\\ \\ \xi_i \geqslant0, i=1,2,...,m
所以,和之前推导的拉格朗日函数一样,仍是一个二次规划问题,也是得到上式的拉格朗日函数为:

L(w,b, \alpha, \xi,\mu )= \frac{1}{2} ||w||^2+C\sum_{i=1}^{m}\xi_i +\sum_{i=1}^{m} \alpha_i(1-\xi_i-y_i(w^Tx_i+b)) -\sum_{i=1}^{m} \mu_i \xi_i

其中,\alpha_i \geqslant 0, \mu_i \geqslant 0是拉格朗日乘子。

L(w,b,\alpha,\xi,\mu)w,b,\xi_i的偏导为零可得,

w=\sum_{i=1}^{m} \alpha_i y_ix_i\\ \\ 0=\sum_{i=1}^{m} \alpha_iy_i \\ \\ C=\alpha_i+\mu_i

然后将上式带回到拉格朗日函数中,得到对偶问题为:

\underset{\alpha}{max} \sum_{i=1}^{m} \alpha_i - \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_i \alpha_jy_i y_j x_i^Tx_j\\ \\ s.t. \sum_{i=1}^{m} \alpha_i y_i =0 \\ \\ 0\leqslant \alpha_i\leqslant C,i=1,2,...,m

与硬间隔相比,两者唯一的差别在对偶变量的约束不同。

然后采用SMO算法求解上式a,在引入核函数后也能得到之前章节讲的支持向量展式。

对软间隔支持向量机,KTT条件要求为:

\left\{\begin{matrix} \alpha_i , \mu_i \geqslant 0\\ y_if(x_i)-1+\xi_i \geqslant 0\\ \alpha_i(y_if(x_i)-1+\xi_i) =0 \\ \xi_i \geqslant 0, \mu_i \xi_i=0 \end{matrix}\right.

若对于任意的样本(xi,yi),总有ai=0或y_if(x_i)=1-\xi_i,若\alpha_i=0不会对f(x)有任何影响.若\alpha_i> 0,则必有y_if(x_i)=1-\xi_i即该样本是支持向量。由C=\alpha_i+\mu_i可知,若\alpha_i<C,则 \mu_i > 0,则\xi_i=0,即该样本恰好在最大间隔边界上。若\alpha_i=C,则\mu_i=0,此时若\xi_i\leqslant 1,则该样本落在最大间隔内部,若\xi_i>0,则样本被错误分类。


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值