SVM的学习

支持向量机(support vector machine,SVM)

    1.2.1、SVM简单介绍

    SVM是一种线性分类器,它将不同的两种特征分离开,然后根据判定为哪一类,最后根据所对应的标签,得出是哪类东西。

线性函数在二维空间是一条直线,三维空间是一个平面,当不考虑空间维数,只考虑其特征,这样的线性函数称为超平面。我们取一个超平面线性函数;若取阈值为0,如下图一当时,判定为C1,若时判定为C2。当然如果只用阈值为0的超平面来进行划分容易出错,因此要找到一个最优分界面,那么我们就根据支持向量加入了约束项,将求最佳分类面转换成求间距最大问题。

 

                  图一

     1.2.2、SVM的线性分界推导

支持向量是上的点,是最靠近分界面的点,如图二。


                                

  图二

和               

即是两类支持向量所在面间的距离最大;如果我们令图二中圆圈为C1类标签为+1,方形为C2类标签为-1,得

即,那么我们构造出一个二次最规划问题,解这问题用到之前学的高数,使用拉格朗日乘子的方法。首先建立拉格朗日函数,那么这样一来即将式子转成求最大值

由此可知仅依赖于输入模式点积的集合。设表示为最优的朗格朗日乘子,则,则判断函数为。

    1.2.3、SVM的非线性数据处理

当然对于以上是对于线性问题的方法,对于非线性问题,要使用核函数将非线性问题转换成线性问题。如图三。其是一个非线性问题,要用核函数将其和我们所说SVM的线性分界面联系。图三的表达式不是线性的,那么我们要去寻找一个变换关系,将非线性转换成线性的形式,有。那么我们不能用

 

                                    图三

在原本空间中是不能线性分界,那么我们可以将w和x变换到线性可分的空间中得,而这个变换是通过核函数处理的,不需要再寻找像上面一元二次函数的映射关系。则原来的判断函数相应的经过核函数变为,判断式变成。

    1.2.4、SVM的松弛变量

如果在映射过后,出现负标签的数据跑到了正标签的范围内,就出现了线性不可分的情况,那么我们会在原来公式中加入松弛变量,放弃对这些点的精确分类,虽说有所损失,但是也带来使分类面不会因为这些点而发生移动,可以得到更大几何间隔。使原来方程组改为。

 

图四

数据偏斜:对于两类数据量差距大,比如1000个数据中,一类有990,一类只有10.如图五。为了解决这样所带来的问题,我们在原来松弛变量的基础上加入了惩罚因子C。

 

                                 图五

 

    1.2.5、SVM的一对一分类和一对多分类

    比如有5类,对于一对一,将第一类分别和其他四类比较分类,依次类推,这样也就是在5类当中,抽出两类进行比较,即,也就是要有10个分类器。而对于一对多。即将其中一类定为正值标签,其他类定为负值标签,进行比较分类,以此类推,需要5个分类器;虽说一对多分类的分类器少,但是容易出现分类重叠和不可分类的情形。

    1.2.6、其他改进型的SVM(还未学习)



参考书籍和网站:

[1]王建国,张文兴等.支持向量机建模及其智能优化[M].清华大学出版社.2015.

[2]吴鹏.MATLAB高效编程技巧与应用:25个案例分析[M].北京航空航天大学出版社.2010.

[3]http://www.matlabsky.com/thread-10966-1-1.html(讲的通俗易懂)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值