关闭

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

标签: SVM 线性不可分软间隔松弛因子
2673人阅读 评论(0) 收藏 举报
分类:
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算法)


2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:49507次
    • 积分:702
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:5篇
    • 译文:0篇
    • 评论:7条
    最新评论
    我的联系方式
    QQ:614730810