机器学习|支持向量机SVM(三)

  Spark推荐系统,干货,心得 

  点击上方蓝字关注~

 

上一章节通过线性可分-硬间隔了解了SVM基本原理,线性可分SVM中要求数据必须是线性可分的,才可以找到分类的超平面,但是有的时候线性数据集中存在少量的异常点,由于这些异常点导致了数据集不能够线性划分;直白来讲就是:正常数据本身是线性可分的,但是由于存在异常点数据,导致数据集不能够线性可分,可通过软间隔SVM进行处理。

目录

1、硬间隔SVM

2、引入松弛变量-软间隔

3、软间隔目标函数

4、分析软间隔问题的支持向量

5、软间隔模型算法流程

6、SVM的软间隔模型总结

 

01 硬间隔SVM

对于之前讲述的线性可分SVM可通过构造超平面令硬间隔最大化,从而求得最好的分隔超平面

条件:

1.正负例完美分开(体现在约束条件>=1上)

2.找到能使间隔最大化的点(有约束条件的函数优化问题)

如果数据集线性不可分,意味着找不到一个合格的超平面

体现在优化问题上,任何的w和b都无法满足优化条件

02 引入松弛变量-软间隔

对于之前的问题,硬间隔不可分,体现在满足不了约束条件上,于是提出松弛变量ξi>=0(每个数据点自己有一个ξi)

我们将约束条件放松为: yi(w·xi+b) >= 1 - ξi

这样就至少肯定有好多的w和b满足条件了,但是这相当于没有约束条件了,只要ξi 无穷大,那么所有的w和b都满足条件

ξ代表异常点嵌入间隔面的深度,我们要在能选出来符合约束条件的最好的w和b的同时,让嵌入间隔面的总深度越少越好

03 线性不可分支持向量机的目标函数

经过上面的论述,定义线性支持向量机的目标函数最优化问题如下:

目标函数的优化

1.根据f(x)和约束条件构造拉格朗日函数:

其中要求μi和αi >= 0

2.优化原始问题

3.对偶问题

先求L函数对w,b,ξ的极小值,再求其对α和μ的极大值

对三个参数分别求偏导得到

将求偏导结果反带回去拉格朗日函数得:

所以目标函数变为:

由于目标函数中并没有出现C,可将约束条件2,3,4项合并

最终优化后的目标函数/损失函数和线性可分SVM(硬间隔)模型基本一样,除了约束条件不同而已,也就是说可以使用SMO算法来求解。

04 分析软间隔问题的支持向量

αi=0  该点为分类正确的点

0<αi<C  该点为软边界上的点

αi=C 该点嵌入了软边界内

    此时如果ξ<1,该点被正确分类

    此时如果ξ=1,该点刚好落在超平面上    此时如果ξ>1,该点被错误分类

05 SVM的软间隔模型算法流程

输入线性可分的m个样本数据{(x1 ,y1 ),(x2 ,y2 ),...,(xm ,ym )},其中x为n维的特征向量,y为二元输出,取值为+1或者-1;SVM模型输出为参数w、b以及分类决策函数

1.选择一个惩罚系数C>0,构造约束优化问题

2.使用SMO算法求出上式优化中对应的最优解α

3.计算w

4.找到全部的支持向量,计算出 bs

5.根据所有的bs的平均值得到最终的b

6.构建最终的分类器,进行二分类

06 SVM的软间隔模型总结

1.可以解决线性数据中携带异常点的分类模型构建的问题

2.通过引入惩罚项系数(松弛因子),可以增加模型的泛化能力,即鲁棒性

3.如果给定的惩罚项系数越小,表示在模型构建的时候,就允许存在越多的分类错误的样本,也就是表示此时模型的准确率会比较低;如果惩罚项系数越大,表示在模型构建的时候,就越不允许存在分类错误的样本,也就是表示此时模型的准确率会比较高

往期精选

机器学习|支持向量机SVM(一)

机器学习|支持向量机SVM(二)

机器学习-线性回归(一)

机器学习-线性回归(二)

机器学习|梯度下降法

机器学习|逻辑回归


长按识别二维码关注我


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值