【十大数据挖掘算法】SVM支撑向量机

2006年的ICDM评出了十大数据挖掘算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART。

本系列是对这十大算法的个人理解。本文准备先用最通俗的语言大致解释下SVM是什么,把基本思想弄明白,然后再涉及一些数学等理论细节。

如有错误希望大家指出,一起交流~

本篇主要参考:支撑向量机导论

1.通俗理解支撑向量机

首先最简单的支撑向量机最用来做二分类的。简单来说二分类就是需要判断是非。比如给你一封邮件, 判断是不是垃圾邮件;给你一张图像,判断图像里是否包含人脸;给你一个用户的访问数据,判断这是不是恶意用户等等。

下面用一张图简单解释下二维情况下的支撑向量机。


图中红色点代表“是”,即A区域;紫色的点代表“非”,即B区域。直线L是区分区域A和区域B的分割线。

首先要知道什么是支撑向量。所谓支撑向量就是每个区域中离分割线L最近的点,即区域A的点c和区域B中的点D。L_A和L_B是和L平行的,分别过点C和过点D的直线。注意,L_A和L_B到L的距离也是相等的。

支撑向量机需要完成的工作就是根据上图的六个点,最终找到分割线L。

L需要满足的条件有:

1.能把两类点分隔开来

2.到支撑向量的距离相等

3.到支撑向量的距离最大

找到了分割线L之后,给定一个新的未知的点,我们就能很快判断出这个点是属于区域A还是区域B了。

2.支撑向量机的理论

2.1最优化函数的推导

首先我们假设我们拥有训练数据集,其中是点的坐标,的取值为,我们设y=+1为区域A,y=-1为区域B。

我们假设区域A和区域B的分割线L由下式定义:


则空间中任意一点到L的距离为:

上式中有绝对值,计算不方便。我们注意到区域A到L的距离和区域B到L的距离的方向相反,在符号上相差一个负号,我们规定从A到L的距离为正,从B到L的距离为负,则上式可以改写为:

我们又注意到,中,W和b可以进行任意缩放而不影响结果。假如一组,那么我们把w和b都乘上2得到:。这两组得到的L其实是一样的。

为了防止参数的任意缩放,我们设定对于支撑向量。由于支撑向量到L的距离是所有样本中的最小值,所以

综上:

1.支撑向量到L的距离为

2.任意向量到L的距离为,所以

我们的目的是最大化支撑向量到L的距离,这样才能更好的区分区域A和区域B,所以基本的支撑向量机又叫做最大间隔分类器。用数学表示如下:


最大就是最小,所以最终的最优化函数为:


上式是个典型的二次凸优化问题,可以用任何现成的凸优化算法来解。但是当把上式转化为Dual问题时,会发现有趣的性质。

2.2 转变为对偶问题

首先我们利用拉格朗日乘子将上式从一个带约束的优化目标函数转变为无约束的函数:

然后我们考虑下式:

1.当约束条件不满足时,即时,由于需要最大化,则,无意义
2.约束条件满足时,即时,为了最大化,所以,所以此时

因此最开始的带约束的优化问题


就转变为
上式的最优解我们定义为,是原始问题的解。
Dual是什么呢?就是把max和min换一下:
Dual问题的解我们定义为
它们满足条件:  (简单的理解就是最大里面的最小 大于  最小里面的最大)

当满足一定的条件时(slaster和KKT), (这里为什么满足这两个条件和这两个条件的意义,暂时理解不透。。望大牛指教)
而我们这里的优化函数满足这些条件。所以我们通过求来得到

需要先求,所以先对w和b求导,并令其为0,得到:


代入原式得到:

这样我们得到了一个只有的函数。为了求,最后一步是对上式求关于的最大值,可以用SMO算法解决。
之所以要用Dual形式来解是因为这样能导出核函数

2.3核函数

我们把上式中得到的w的表达式带入我们的分类器中,并得到:
我们发现实际上我们只需要测试样本和训练样本求内积就可以了。

这里我们就可以推出我们的核函数了。

前面的讨论是基于一个事实:数据是线性可分的。而实际上很多数据不一定满足这个特性,需要将原始数据映射到一个高维的空间中,然后在高维空间再做分类,这样能提高数据的线性可分性。

正常情况下应该这么做,首先把所有的样本x都映射到高维空间,得到新的样本z,然后利用z来训练SVM。但是这样过于复杂,需要显式进行数据映射。鉴于SVM分类时只涉及信号的内积,所以提出核函数的概念。



通过核函数能直接得到在高维空间的的内积

2.4松弛
待续。。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值