R:支持向量机初探
支持向量机将向量映射到一个更高维的空间里,在这个空间里成立有一个较大隔断超平面。在分隔数据的超平面的双方建有两个相互平行的超平面,脱离超平面使两个平行超平面的间隔较大化。假定平行超平面间的间隔或差距越大,分类器的总误差越小。
–from 维基百科
支持向量机是成立在VC维理论和风险布局最小的基本之上的;
VC维是由统计学理论界说的有关函数集进修机能的一个重要指标。VC维越高问题越巨大。但SVM在办理分类问题的时候,和维数无关(这部门我也有点
恍惚),这使得SVM能很好办理文天职类和图像识别等问题,一般环境下,文天职类中处理惩罚的文档词频矩阵式很大的,这也主要因为SVM在办理非线性问题时引
入了核函数,把数据映射到高位空间来办理在低维空间下的线性不行分的环境;参考下图:
成立的模子与真实模子之间的误差,也叫风险,我们如何权衡我们的模子与真实模子的迫近水平?最直观的就是分类器在样本上的分类功效与真实功效的差
异,也可以叫履历风险;尚有置信风险,代表我们有多洪流平可以信任分类器在未知文本上的分类功效。布局风险最小界说为履历风险和置信风险最小。
再说一下SVM处理惩罚线性不行分的环境,SVM主要基于处罚变量和核函数来处理惩罚数据线性不行分的环境,这部门常识可参考:http://blog.csdn.net/passball/article/details/7661887
因为本文是初探,所以不会对理论常识做深入分解,也因为本领有限- -;
R有两个包e1071和kernlab,均可以做SVM分类;
一个简朴的e1071例子
一个kernlab的例子(来历于svmbasic)
更多关于kernlab的例子请参考:http://www.r-bloggers.com/learning-kernels-svm/
参考资料:
[1] http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html
[2] http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html
[3] http://cran.r-project.org/web/packages/e1071/vignettes/svmdoc.pdf
[4] http://cbio.ensmp.fr/~jvert/svn/tutorials/practical/svmbasic/svmbasic_notes.pdf