SVM周关键词:线性支持向量机,软间隔,最大化

Posted 哈希大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVM周关键词:线性支持向量机,软间隔,最大化相关的知识,希望对你有一定的参考价值。

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 【SVM周】关键词:线性支持向量机,软间隔,最大化 【SVM周】关键词:线性支持向量机,软间隔,最大化

哈希大数据致力于互联网、金融、物流等行业大数据采集、分析、营销与决策提供综合解决方案

支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结。最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结。

阅读目录

1.线性分类SVM面临的问题

2.线性分类SVM的软间隔最大化

3.线性分类SVM的软间隔最大化目标函数的优化

4.软间隔最大化时的支持向量

5.软间隔最大化的线性可分SVM的算法过程

6.合页损失函数

【SVM周】关键词:线性支持向量机,软间隔,最大化

【SVM周】关键词:线性支持向量机,软间隔,最大化
【SVM周】关键词:线性支持向量机,软间隔,最大化

1. 线性分类SVM面临的问题

  有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分,比如下图,本来数据是可以按下面的实线来做超平面分离的,可以由于一个橙色和一个蓝色的异常点导致我们没法按照上一篇线性支持向量机中的方法来分类。

【SVM周】关键词:线性支持向量机,软间隔,最大化

      另外一种情况没有这么糟糕到不可分,但是会严重影响我们模型的泛化预测效果,比如下图,本来如果我们不考虑异常点,SVM的超平面应该是下图中的红色线所示,但是由于有一个蓝色的异常点,导致我们学习到的超平面是下图中的粗虚线所示,这样会严重影响我们的分类模型预测效果。

    如何解决这些问题呢?SVM引入了软间隔最大化的方法来解决。

【SVM周】关键词:线性支持向量机,软间隔,最大化


【SVM周】关键词:线性支持向量机,软间隔,最大化

2. 线性分类SVM的软间隔最大化

  所谓的软间隔,是相对于硬间隔说的,我们可以认为上一篇线性分类SVM的学习方法属于硬间隔最大化。

  回顾下硬间隔最大化的条件:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  接着我们再看如何可以软间隔最大化呢?

  SVM对训练集里面的每个样本【SVM周】关键词:线性支持向量机,软间隔,最大化引入了一个松弛变量     【SVM周】关键词:线性支持向量机,软间隔,最大化使函数间隔加上松弛变量大于等于1,也就是说:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  对比硬间隔最大化,可以看到我们对样本到超平面的函数距离的要求放松了,之前是一定要大于等于1,现在只需要加上一个大于等于0的松弛变量能大于等于1就可以了。当然,松弛变量不能白加,这是有成本的,每一个松弛变量【SVM周】关键词:线性支持向量机,软间隔,最大化 , 对应了一个代价【SVM周】关键词:线性支持向量机,软间隔,最大化,这个就得到了我们的软间隔最大化的SVM学习条件如下:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  这里,C>0为惩罚参数,可以理解为我们一般回归和分类问题正则化时候的参数。CC 越大,对误分类的惩罚越大,CC 越小,对误分类的惩罚越小。

  也就是说,我们希望【SVM周】关键词:线性支持向量机,软间隔,最大化尽量小,误分类的点尽可能的少。C是协调两者关系的正则化惩罚系数。在实际应用中,需要调参来选择。

  这个目标函数的优化和上一篇的线性可分SVM的优化方式类似,我们下面就来看看怎么对线性分类SVM的软间隔最大化来进行学习优化。

【SVM周】关键词:线性支持向量机,软间隔,最大化


【SVM周】关键词:线性支持向量机,软间隔,最大化

3. 线性分类SVM的软间隔最大化目标函数的优化

  和线性可分SVM的优化方式类似,我们首先将软间隔最大化的约束问题用拉格朗日函数转化为无约束问题如下:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  其中【SVM周】关键词:线性支持向量机,软间隔,最大化均为拉格朗日系数。

  也就是说,我们现在要优化的目标函数是:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  这个优化目标也满足KKT条件,也就是说,我们可以通过拉格朗日对偶将我们的优化问题转化为等价的对偶问题来求解如下:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  我们可以先求优化函数对于【SVM周】关键词:线性支持向量机,软间隔,最大化的极小值, 接着再求拉格朗日乘子α和 μ的极大值。

  首先我们来求优化函数对于【SVM周】关键词:线性支持向量机,软间隔,最大化的极小值,这个可以通过求偏导数求得:

【SVM周】关键词:线性支持向量机,软间隔,最大化

    好了,我们可以利用上面的三个式子去消除w和b了。

【SVM周】关键词:线性支持向量机,软间隔,最大化

  其中,(1)式到(2)式用到了【SVM周】关键词:线性支持向量机,软间隔,最大化(2)式到(3)式合并了同类项,(3)式到(4)式用到了范数的定义【SVM周】关键词:线性支持向量机,软间隔,最大化(4)式到(5)式用到了上面的【SVM周】关键词:线性支持向量机,软间隔,最大化 (5)式到(6)式把和样本无关的【SVM周】关键词:线性支持向量机,软间隔,最大化提前,(6)式到(7)式合并了同类项,(7)式到(8)式把和样本无关的b提前,(8)式到(9)式继续用到【SVM周】关键词:线性支持向量机,软间隔,最大化9)式到(10)式用到了向量的转置。由于常量的转置是其本身,所有只有向量xixi 被转置,(10)式到(11)式用到了上面的【SVM周】关键词:线性支持向量机,软间隔,最大化(11)式到(12)式使用了【SVM周】关键词:线性支持向量机,软间隔,最大化的乘法运算法则,(12)式到(13)式仅仅是位置的调整。

  仔细观察可以发现,这个式子和我们上一篇线性可分SVM的一样。唯一不一样的是约束条件。现在我们看看我们的优化目标的数学形式:

【SVM周】关键词:线性支持向量机,软间隔,最大化

   对于【SVM周】关键词:线性支持向量机,软间隔,最大化 这3个式子,我们可以消去【SVM周】关键词:线性支持向量机,软间隔,最大化,只留下【SVM周】关键词:线性支持向量机,软间隔,最大化,也就是说【SVM周】关键词:线性支持向量机,软间隔,最大化 同时将优化目标函数变号,求极小值,如下:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  这就是软间隔最大化时的线性可分SVM的优化目标形式,和上一篇的硬间隔最大化的线性可分SVM相比,我们仅仅是多了一个约束条件【SVM周】关键词:线性支持向量机,软间隔,最大化我们依然可以通过SMO算法来求上式极小化时对应的α向量就可以求出w和b了。

【SVM周】关键词:线性支持向量机,软间隔,最大化
【SVM周】关键词:线性支持向量机,软间隔,最大化

4. 软间隔最大化时的支持向量

  在硬间隔最大化时,支持向量比较简单,就是满足【SVM周】关键词:线性支持向量机,软间隔,最大化就可以了。根据KKT条件中的对偶互补条件【SVM周】关键词:线性支持向量机,软间隔,最大化如果【SVM周】关键词:线性支持向量机,软间隔,最大化则有【SVM周】关键词:线性支持向量机,软间隔,最大化即点在支持向量上,否则如果【SVM周】关键词:线性支持向量机,软间隔,最大化则有【SVM周】关键词:线性支持向量机,软间隔,最大化即样本在支持向量上或者已经被正确分类。

  在软间隔最大化时,则稍微复杂一些,因为我们对每个样本【SVM周】关键词:线性支持向量机,软间隔,最大化引入了松弛变量【SVM周】关键词:线性支持向量机,软间隔,最大化我们从下图来研究软间隔最大化时支持向量的情况,第i个点到对应类别支持向量的距离为【SVM周】关键词:线性支持向量机,软间隔,最大化根据软间隔最大化时KKT条件中的对偶互补条件【SVM周】关键词:线性支持向量机,软间隔,最大化我们有:

    a) 如果α=0,那么【SVM周】关键词:线性支持向量机,软间隔,最大化即样本在支持向量上或者已经被正确分类。如图中所有远离支持向量的点。

    b) 如果0<α<C ,那么【SVM周】关键词:线性支持向量机,软间隔,最大化即点在支持向量上。如图中在虚线支持向量上的点。

    c) 如果α=C,说明这是一个可能比较异常的点,需要检查此时【SVM周】关键词:线性支持向量机,软间隔,最大化

      i)如果【SVM周】关键词:线性支持向量机,软间隔,最大化那么点被正确分类,但是却在超平面和自己类别的支持向量之间。如图中的样本2和4.

      ii)如果【SVM周】关键词:线性支持向量机,软间隔,最大化那么点在分离超平面上,无法被正确分类。

      iii)如果【SVM周】关键词:线性支持向量机,软间隔,最大化>1 ,那么点在超平面的另一侧,也就是说,这个点不能被正常分类。如图中的样本1和3.

【SVM周】关键词:线性支持向量机,软间隔,最大化

【SVM周】关键词:线性支持向量机,软间隔,最大化
【SVM周】关键词:线性支持向量机,软间隔,最大化

5. 软间隔最大化的线性可分SVM的算法过程

  这里我们对软间隔最大化时的线性可分SVM的算法过程做一个总结。

  输入是线性可分的m个样本【SVM周】关键词:线性支持向量机,软间隔,最大化其中x为n维特征向量。y为二元输出,值为1,或者-1.

  输出是分离超平面的参数【SVM周】关键词:线性支持向量机,软间隔,最大化分类决策函数。

  算法过程如下:

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

【SVM周】关键词:线性支持向量机,软间隔,最大化

    2)用SMO算法求出上式最小时对应的α向量的值【SVM周】关键词:线性支持向量机,软间隔,最大化向量.

    3) 计算【SVM周】关键词:线性支持向量机,软间隔,最大化

    4) 找出所有的S个支持向量,即满足【SVM周】关键词:线性支持向量机,软间隔,最大化对应的样本【SVM周】关键词:线性支持向量机,软间隔,最大化通过【SVM周】关键词:线性支持向量机,软间隔,最大化计算出每个支持向量【SVM周】关键词:线性支持向量机,软间隔,最大化对应的【SVM周】关键词:线性支持向量机,软间隔,最大化计算出这些【SVM周】关键词:线性支持向量机,软间隔,最大化所有的【SVM周】关键词:线性支持向量机,软间隔,最大化对应的平均值即为最终的【SVM周】关键词:线性支持向量机,软间隔,最大化

   这样最终的分类超平面为:【SVM周】关键词:线性支持向量机,软间隔,最大化最终的分类决策函数为:【SVM周】关键词:线性支持向量机,软间隔,最大化


【SVM周】关键词:线性支持向量机,软间隔,最大化
【SVM周】关键词:线性支持向量机,软间隔,最大化

6. 合页损失函数

  线性支持向量机还有另外一种解释如下:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  其中【SVM周】关键词:线性支持向量机,软间隔,最大化称为合页损失函数(hinge loss function),下标+表示为:

【SVM周】关键词:线性支持向量机,软间隔,最大化

  也就是说,如果点被正确分类,且函数间隔大于1,损失是0,否则损失是【SVM周】关键词:线性支持向量机,软间隔,最大化如下图中的绿线。我们在下图还可以看出其他各种模型损失和函数间隔的关系:对于0-1损失函数,如果正确分类,损失是0,误分类损失1, 如下图黑线,可见0-1损失函数是不可导的。对于感知机模型,感知机的损失函数是【SVM周】关键词:线性支持向量机,软间隔,最大化这样当样本被正确分类时,损失是0,误分类时,损失是【SVM周】关键词:线性支持向量机,软间隔,最大化如下图紫线。对于逻辑回归之类和最大熵模型对应的对数损失,损失函数是【SVM周】关键词:线性支持向量机,软间隔,最大化如下图红线所示。

【SVM周】关键词:线性支持向量机,软间隔,最大化

    线性可分SVM通过软间隔最大化,可以解决线性数据集带有异常点时的分类处理,但是现实生活中的确有很多数据不是线性可分的,这些线性不可分的数据也不是去掉异常点就能处理这么简单。那么SVM怎么能处理中这样的情况呢?我们在下一篇就来讨论线性不可分SVM和核函数的原理。

【SVM周】关键词:线性支持向量机,软间隔,最大化
【SVM周】关键词:线性支持向量机,软间隔,最大化

SVM周正式开启,接上次推送的刘建平老师的感知机原理,一一讲解支持向量机原理,将陆续推出以下五大内容:

支持向量机原理(一) 线性支持向量机

支持向量机原理(二)线性支持向量机的软间隔最大化模型

支持向量机原理(三)线性不可分支持向量机与核函数

支持向量机原理(四)SMO算法原理

支持向量机原理(五)线性支持回归

刘建平老师的博客:

http://www.cnblogs.com/pinard

【SVM周】关键词:线性支持向量机,软间隔,最大化


【SVM周】关键词:线性支持向量机,软间隔,最大化

听我说!

【SVM周】关键词:线性支持向量机,软间隔,最大化

▲ 微信

QQ

【SVM周】关键词:线性支持向量机,软间隔,最大化

再说我爱你,可能雨也不会停。

--《黑色毛衣》





以上是关于SVM周关键词:线性支持向量机,软间隔,最大化的主要内容,如果未能解决你的问题,请参考以下文章

SVM笔记四之线性支持向量机(软间隔最大化)

机器学习(16)之支持向量机原理软间隔最大化

SVM--支持向量机

大数据-10-Spark入门之支持向量机SVM分类器

支持向量机(SVM)的推导(线性SVM软间隔SVMKernel Trick)

支持向量机原理 线性支持向量机的软间隔最大化模型