Welcome

首页 / 软件开发 / 数据结构与算法 / 机器学习基础(五)支持向量机

机器学习基础(五)支持向量机2013-11-14做机器学习的一定对支持向量机(support vector machine-SVM)颇为熟悉,因为在深度学习出现之前, SVM一直霸占着机器学习老大哥的位子。他的理论很优美,各种变种改进版本也很多,比如latent-SVM, structural-SVM等。这节先来看看SVM的理论吧,在(图一)中A图表示有两类的数据集,图B,C,D都提供了一 个线性分类器来对数据进行分类?但是哪个效果好一些?

(图一)

可能对这个数据集来说,三个的分类器都一样足够好了吧,但是其实不然,这个只是训练 集,现实测试的样本分布可能会比较散一些,各种可能都有,为了应对这种情况,我们要做的就是尽可能的使 得线性分类器离两个数据集都尽可能的远,因为这样就会减少现实测试样本越过分类器的风险,提高检测精度 。这种使得数据集到分类器之间的间距(margin)最大化的思想就是支持向量机的核心思想,而离分类器距离 最近的样本成为支持向量。既然知道了我们的目标就是为了寻找最大边距,怎么寻找支持向量?如何实现?下 面以(图二)来说明如何完成这些工作。

(图二)

假设(图二) 中的直线表示一个超面,为了方面观看显示成一维直线,特征都是超面维度加一维度的,图中也可以看出,特 征是二维,而分类器是一维的。如果特征是三维的,分类器就是一个平面。假设超面的解析式为

(图三)