原理 问题的提出 多分类器的构造 设计线性分类器 非线性可分下的SVM 需要核函数情况下的SVM SVM的特点
一、原理:
传统的统计模式识别方法只有在样本趋于无穷大时,其性能才有理论的保证。而统计学习理论(STL)研究有限样本情况下的机器学习问题。SVM的理论基础就是统计学习理论。SVM使用一种非线性映射,把原训练数据映射到较高的维。在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开。
SVM是一种有坚实理论基础的小样本学习方法。它基本上不涉及概论测度及大数定律等。
二、问题的提出:
线性可分问题:当有一个新的点x需要预测属于哪个分类的时候,我们用sgn(f(x))就可以预测了。Sgn表示符号函数。
对于线性不可分问题(异或问题),可以用SVM解决。这时需要将d为数据映射到高维,而线性判别函数利用一个超平面把特征空间分隔成两个区域。我们的目的是找一个最优分类间隔(margin),扩展到多维就是最优分类面。最大化分类边际是SVM方法的核心。
三、SVM是二类分类器,多类情况分类器可以在二分类的基础上的构造:
一对多(one-against-the-rest):在第K类和第K-1类之间构建超平面。需构建K个SVM。
一对一(one-against-one):可以把K类问题转化成k个两类问题,其中第i个问题是用线性判别函数把属于Ci类与不属于Ci类的点分开。需要K*(K-1)/2个SVM。计算复杂,时间复杂度高。
SVM决策树(SVM decision tree):将SVM和二叉决策树结合起来,构成多类分类器。但是这种方法容易将错误延续下去。
四、设计线性分类器:
所谓设计线性分类器,就是利用训练样本建立线性判别函数或者广义线性判别函数。常见的准则函数有:
1、Fisher准则函数
主要解决把d维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维。在一般情况下,总可以找到某个方向,使得在该方向的直线上,样本的投影能分开的最好。但是在d位维空间分得很好的样本投影到一维空间以后,可能混到一起无法分割。
2、感知准则函数
3、最小错分样本数准则函数
4、最小平方误差准则函数
5、随机最小错误率线性判别准则函数
五、非线性可分下的C-SVM
六、需要核函数情况下的SVM
线性分类器的分类性能毕竟有限,对于非线性问题一味放宽约束条件只能导致大量样本的错分。
如何完成向高维的映射过程?
SVM就是首先通过内积函数定义的非线性变换将输入空间变换到一个高维空间,在这个空间中求最优分类面。其分类函数形式上类似于一个神经网络,输出是中间节点的线性组合,每个中间节点对应一个输入样本与一个支持向量的内积,因此也被称为支持向量网络。
高维映射核函数的选择:
线性核函数(linear kernel)
多项式核函数(polynomial kernel)
径向基核函数(radical basis function, rbf)
Sigmoid 核函数(Sigmoid tanh)
七、SVM的特点:
其最终决策函数只有少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,在某种意义上避免了“维度灾难”;
少数支持向量决定了最终结果,这样能抓住关键样本、剔除大量冗余样本;
特别用于解决小样本的非线性可分问题。