支持向量机(support vector machine)第一次见到这个词可能难以理解这个奇怪的名字,这是一个90年代产生在深度学习出来之前逼格满满的算法,被认为是适应性最广的分类器之一。SVM是一个基于严格的数学推导的算法(但本文不推导),本文只大概介绍基本思想和简单原理及实践过程。
最大间隔分类器
在二维平面上,一条直线可以把平面分成两边;在三维空间中,一个平面可以把空间分成两块……那么同理,在p+1的高维空间中,一个p维的超平面也可以将其成本两部分,超平面的定义:
超平面的定义
根据高中空间几何的知识可知,把一个点代入上式,如果等于0说明正好在超平面上;大于0在其上方,小于0在其下方。
那么就可以根据这个特点来映射二分类问题。只要我们可以构建出超平面方程,再把样本点代入,根据结果的正负就可以进行分类。
超平面分隔
实际上,能把不同类别样本分隔开来的超平面并不止一个,有无数个。如图中蓝色和橙色虚线都能把两类样本分开,那么你认为这两个哪一个分隔效果更好?
如果用蓝色分隔超平面,那上面的白球就被分成橙色,下面的白球则被分成蓝色;如果用橙色分隔超平面,则结果完全相反。可是根据KNN的思想,很容易看出上面的白球应该被分成蓝色,下面的白球应该被分成橙色。