SVM 和线性分类器是分不开的。因为SVM的核心:高维空间中,在线性可分(如果线性不可分那么就使用核函数转换为更高维从而变的线性可分)的数据集中寻找一个最优的超平面将数据集分隔开来。
所以要理解SVM首先要明白的就是线性可分和线性分类器。
可以先解释这张图,通过这张图就可以了解线性分类器了。
这是一个在二维平面的图。其中实心点和空心点是分别属于两类的,Origin 是原点。
先看中间那条直线,中间的直线就是一条可以实心点和空心点分隔开来的直线,所以上图中的数据点是线性可分的。
这条直线其实就是线性分类器,也可以叫做分类函数,在直线上方的属于+1类,在直线下方的属于-1类。+1,-1这里只是区分类别。
所以该直线就是我们上面说的超平面,在二维空间中它是一条直线,三维空间是一个平面。。。等等,下面就统称为超平面
这个超平面上的点都满足
(1)
这里需要解释一下:
x 在二维平面中不是指横坐标值,而是指二维平面中点的向量,在文本分类中就是文本的向量表示。所以 x = ( xi , yi )
w 也是一个向量 它是一个垂直于超平面的向量,如图中所示
该表达式不只是表示二维空间,也可以表示n维空间的超平面
b 是一个常数
w * x 是求两个向量的点积也就是内积,实际上应该写成w * xT w乘以x的转置向量,w是横向量,x是列向量。
所以二维平面中,该表达式也可以表示为:
(2)
继续上图的解释,其中原点到超平面的距离为