美文网首页工作生活
08-支持向量机(三)线性支持向量机的软间隔最大化模型

08-支持向量机(三)线性支持向量机的软间隔最大化模型

作者: kang_james | 来源:发表于2019-06-30 15:12 被阅读0次

    1、线性SVM面临的问题

    有时候数据本身是线性可分的,意味着就可以用线性SVM的方式来求解,无赖数据中包含异常点,导致不能线性可分,如下图所示:


    另外一种情况没有这么糟糕到不可分,但是会影响我们模型的泛化能力,比如下图,本来如果我们不考虑异常点,SVM的超平面应该是下图中的红色线所示,但是由于有一个蓝色的异常点,导致我们学习到的超平面是下图中的粗虚线所示,这样会严重影响我们的分类模型预测效果。
    如何解决这些问题呢?SVM引入了软间隔最大化的方法来解决

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

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

    回顾一下硬间隔最大化的条件:
    SVM对训练集里面的每个样本(xi,yi)引入了一个松弛变量ξi≥0,使函数间隔加上松弛变量大于等于1,也就是说:
    对比硬间隔最大化,可以看到我们对样本到超平面的函数距离的要求放松了,之前是一定要大于等于1,现在只需要加上一个大于等于0的松弛变量能大于等于1就可以了。当然,松弛变量不能白加,这是有成本的,每一个松弛变量ξi, 对应了一个代价ξi,这个就得到了我们的软间隔最大化的SVM学习条件如下: 也就是说,我们希望1//2*||w||2尽量小,误分类的点尽可能的少。C是协调两者关系的正则化惩罚系数。在实际应用中,需要调参来选择。
    这个目标函数的优化和上一篇的线性可分SVM的优化方式类似,我们下面就来看看怎么对线性分类SVM的软间隔最大化来进行学习优化

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

    和线性可分SVM的优化方式类似,利用拉格朗日函数转化为无约束问题如下: image.png

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

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

    a) 如果α=0,

    即样本在间隔边界上或者已经被正确分类,如图中所有原理边界的点

    b) 如果0<α<C,那么ξi=0, ,即点在间隔边界上。
    c) 如果α=C,说明这是一个可能比较异常的点,需要检查此时ξi
    i)如果0≤ξi≤1,那么点被正确分类,但是却在超平面和自己类别的间隔边界之间。如图中的

    ii)如果ξi=1,那么点在分离超平面上,无法被正确分类。
    iii)如果ξi>1,那么点在超平面的另一侧,也就是说,这个点不能被正常分类。如图中的样本1和3.


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

    输入是线性可分的m个样本(x1,y1),(x2,y2),...,(xm,ym),,其中x为n维特征向量。y为二元输出,值为1,或者-1.

    输出是分离超平面的参数w∗和b∗和分类决策函数。

    算法过程如下:
    1)选择一个惩罚系数C>0, 构造约束优化问题


    2)用SMO算法求出上式最小时对应的α向量的值α向量.
    3) 计算
    找出所有的S个支持向量对应的样本(xs,ys),通过 计算出每个支持向量(xx,ys)对应的bs
    ,计算出这些 所有的bs*对应的平均值即为最终的
    这样最终的分类超平面为: 最终的分类决策函数为:

    相关文章

      网友评论

        本文标题:08-支持向量机(三)线性支持向量机的软间隔最大化模型

        本文链接:https://www.haomeiwen.com/subject/ndfbcctx.html