SVM支持向量机是建立于统计学习理论上的一种分类算法,适合与处理具备高维特征的数据集。
SVM算法的数学原理相对比较复杂,好在由于SVM算法的研究与应用如此火爆,CSDN博客里也有大量的好文章对此进行分析,下面给出几个本人认为讲解的相当不错的:
还有一个比较通俗的简单版本的:手把手教你实现SVM算法:http://blog.csdn.net/alvine008/article/details/9097105
SVN原理比较复杂,但是思想很简单,一句话概括,就是通过某种核函数,将数据在高维空间里寻找一个最优超平面,能够将两类数据分开。
针对不同数据集,不同的核函数的分类效果可能完全不一样。可选的核函数有这么几种:
线性函数:形如K(x,y)=x*y这样的线性函数;
多项式函数:形如K(x,y)=[(x·y)+1]^d这样的多项式函数;
径向基函数:形如K(x,y)=exp(-|x-y|^2/d^2)这样的指数函数;
Sigmoid函数:就是上一篇文章中讲到的Sigmoid函数。