支持向量机(SVM)
另一个可以处理非线性可分的分类方法是支持向量机(SVM)。这里,不是非线性超平面被获得,但是将特征空间转化到一个更高维的空间中,进而特征变得线性可分。然后,特征向量可以用线性分类器被分类。
下图中,在2D特征空间中的两类用黑白方块分别来表示。在2D特征空间中,没有一条线可以将两个类分开。当通过变形Feature1和Feature2建立的平面,添加第三个维度,类就就可以通过一个平面变得可分了。
![49fe87f905e6a937171db490535b6374.png](https://i-blog.csdnimg.cn/blog_migrate/b453125794eec69f97d3067695924a87.jpeg)
分割两类(黑白方块):(左)在2D特征空间中,类不能被一条直线分开,(右)通过添加维度,类变得线性可分了。
对于SVM,为了避免维数灾难,不是特征而是一个内核被转变。挑战性的工作就是去找到一个合适的内核去转变特征空间到更高维,进而使得黑方块上升,白色方块保持在原有的空间中9或者至少保持在所添加维度坐标轴的另一个值得范围内),通用的核函数有如非齐次多项式核函数或者高斯径向基核函数。
用SVM,两类的可分超平面的构建是让两类的间隔距离要尽可能的大。间隔被定义为可分超平面和任何训练样本之间的最近距离。即,几种可能的可分超平面被测试,拥有最大间隔的表面被选择。来自两个类中,有这距离超平面最近距离的训练杨蓓被称为‘支持向量’,如下图所示;
![ff5ac82a91510c9e68cc91397b48b683.png](https://i-blog.csdnimg.cn/blog_migrate/5c3fb56b280f157e2d9180bce7333fe6.jpeg)
具有到超平面最近距离的特征向量,即支持向量
从本质上来说,SVM仅可以处理两类问题。两种方法可将SVM拓展为多类问题:第一种方法是,成对的类被建立,并且对于每一对,二元的分类器被创立。然后,赢得大多数比较的类是最适合的类别。第二种方法,每一个类去同其他的训练数据剩余去比较,然后具有到超平面最大距离的类别被选择。
SVM对于一般特征的分类,图像分割和OCR是起作用的。