<机器学习>(周志华)读书笔记 -- 第六章 支持向量机

来源:互联网 发布:淘宝开店要交押金吗? 编辑:程序博客网 时间:2024/05/17 09:39

支持向量机是当下比较经典的一个算法,其中台湾大学林智仁教授还开发了一个简单快速的svm库--libsvm这个svm的程序在目前各个机器学习包中都有广泛的嵌入式用。但是我们仍然需要对SVM的原理进一步了解。SVM是一个经典的二分类模型。

6.1 间隔与支持向量

对于两类数据来说,有很多种划分的选择可以把这两类数据基于某种维度进行划分,但是,这里出现了一个问题,不同的划分肯定带来的效果不同,那么哪个才是最好的呢?


如图,存在多个可以划分样本数据的平面。

在这里,我们可以把划分的平面用公式表达出来:


因为 w和 b的不同将会导致产生不同的划分平面,这个是毫无疑问的,那么这个问题转换成了如何选择参数w,b,这里引入了一个距离公式,用来表示样本点到划分平面的距离:


为了更好阐述目的可以看一下这个图片:


是的,其实就是要找到一个平面,实现让 γ的值最大,这样,类与类之间的距离就变大了,离得远了,边界自然就清晰了。这就是SVM想做到的事情。这个问题到了这里基本上就是转化为了:


这个就是支持向量机的基本型。

6.2 对偶问题

对于6.6凸二次规划问题的求解,据说有直接计算的计算包,但是,在SVM这里引入了对偶式的方式来求解。据说用对偶式有两个好处:

1、使问题更加容易求解;

2、使求解的过程中出现向量内积的形式,这样就可以使用核函数了。

对偶问题,顾名思义,可以理解成优化等价的问题,更一般地,是将一个原始目标函数的最小化转化为它的对偶函数最大化的问题。对于当前的优化问题,我们先找到对应的拉格朗日函数:



阅读全文
0 0
原创粉丝点击