SVM支持向量机三(软间隔处理规则化和不可分情况)

原创 2013年12月02日 14:05:58
SVM支持向量机三(软间隔处理规则化和不可分情况)

   前两章我们讨论的情况都是建立在样例线性可分的假设上,当样例线性不可分时,我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。然而,映射后我们也不能100%保证可分。那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。

本章我们将讲到:

 1.如何添加松弛变量和软间隔技术
 2.违背KKT条件的点条件

--------------------------------------------------------------------------

1.如何添加松弛变量和软间隔技术

首先我们先看下面的游离点的情况:图一(左),图二(右)




对于上述情况,我们如果仍然希望图二中还是虚线的情况下(因为这种情况虽然目前分的很好,但是考虑到未来最理想的情况仍然是虚线最好),那我们应该怎么办呢?

可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感。再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)。我们设计得到新的模型如下(也称软间隔):



这个时候原始问题就会进一步发生变化变为:Soft margin 情况!!!
这个时候啊,我们在用图来表示就更容易清楚了!!!


以下为推导的情况:




下面重点来了,刚才还没讲透彻呢

 2.违背KKT条件的点条件


根据这个公式,
违背了KKT条件的点判断条件(ζi完全可以忽略的,因为它正常都是>0,这个值可以由C来控制):

 1. alphas[i] == 0 and [y*(w* xi+b) -1
] < 0 
 2. alphas[i] == C and [y*(w* xi+b) -1
] > 0

 3. alphas[i]  > 0 and alphas[i]<C  and [y*(w* xi+b) -1
!= 0

这3个很有用,我们编程的时候要优先选择这些不符合KKT条件的点进行更新,就是要先if判断,在更新!!!还有C越大就越能容忍离群点的,超平面就越理想。


SVM支持向量机四(SMO算法)
可以参考我另一篇文章SVM支持向量机四(SMO算法)


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SVM支持向量机一(入门)

SVM支持向量机一       经过上南京理工大学夏睿的机器学习课程,下文也主要借助了夏老师的PPT截图进行讲解 和美国 Stanford Andrew Ng Machine Learning的网络公...

SVM支持向量机二(Lagrange Duality)

SVM支持向量机二(Lagrange Duality) 各科

听学长学姐聊求职血泪史

【听学长学姐聊求职】2013年计算机专业硕士研究生好就业吗?一位计算机专业硕士毕业生的求职经历和感想 2014届校招基本慢慢收尾,现特将本人和小伙伴们的求职血泪史记录,并且推荐一些书籍供学弟学妹们参...

SVM原理介绍与Python实现(四):利用规则化(regularization)处理不可分情况

四、规则化和不可分处理 我们一直假设数据是可分的,不论是引入核函数前的线性可分SVM,还是利用核函数处理非线性数据,都是在可分的情况下。如果不是因为数据本身的非线性结构而是由噪声数据引起的偏离要怎么...

拉格朗日 SVM KKT

在R中使用支持向量机(SVM)(1) 1. 线性SVM   假设有分布在Rd空间中的数据,我们希望能够在该空间上找出一个超平面(Hyper-pan),将这一数据分成两类。属于这一类的数...

【机器学习基础】软间隔支持向量机

引言在上一小节中,我们介绍了核支持向量机。于是,不管是简单的问题还是复杂的问题,我们都可以做得到。 然而,像高斯核的方法太复杂了,可能造成过拟合的问题。导致过拟合的现象的原因有可能是你选择特征转换太...

机器学习(7)——支持向量机(三):线性支持向量机和软间隔最大化

前两章讨论支持向量机时,假设了数据最终是能完全被分开,即数据在原始特征空间或映射到高维特征空间之后能够完全正确分类。但是,这样绝对的分类存在一个明显的问题,如果模型中存在异常点,即使高维映射之后,能够...

对SVM的理解

之前以为SVM很强大很神秘,自己了解了之后发现原理并不难,不过,“大师的功力在于将idea使用数学定义它,使用物理描述它”,这一点在看SVM的数学部分的时候已经深刻的体会到了,最小二乘法、梯度下降法、...

SVM支持向量机总结(不包括高维核函数等)

SVM支持向量机总结 本文将会讲到: 1.从原问题到最终结果主要公式展示 2.个人编写的python代码及结果演示 ----------------------------------...

成为深度学习专家的七个步骤

PS:早上看到的一篇不错的原文,因为自己也正在进行这些学习研究,一路走来,觉得总结不错。本想要翻译出来的,发现有人这么做了,就直接转过来,一方面是给自己更多资源,另一方面是希望分享给更多的人。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)