SVM(support vector machine)最早是由Vladimir N.Vapnik 和 Alexey Ya.Chervonenkis在1963年提出,目前的版本(soft margin)是Corinna Cortes 和 Vapnik在1993年提出,1995年发表。深度学习(2012)出现之前,SVM被认为是机器学习中近十几年最成功表现最好的算法。
先看一个例子:
图1
一个平面,里面有两类点,怎样画一条直线将两类点比较好的分开?很明显图中H1不能分开两类点,而H2和H3做到了。二维平面中可以用一条直线将两类分开,那扩展到N维的超平面呢?,SVM的主要内容就是找一个n维超平面将n维的两类样例分开,当一个新的n维点输入时根据其在超平面的哪一侧将其归为那一类。
以二维的情况来分析,从上图中我们可以看到,这样的直线可以有无数条,SVM要找到边际最大的一条来使用。那么边际是什么?下面介绍边际(margin)的概念。
图2 图3
画一条区分的分界线,计算两类样例中与之距离最近的点和分界线间的距离,两者距离之和就是边际。上图中第二幅的画法就能得到更大边际的分界线。为什么要选择边际最大的超平面呢?是为了新的测试点输入时可以根据在超平面哪一侧更准确的判断测试点是属于哪一类样例。
用于区分的超平面两侧可以经过最近的两个点再画两个超平面,分界超平面在与两侧超平面距离相等的中间。两侧的两个