最近一段时间想好好把支持向量机学习下,从网上看到有很多讲的很好的博客。对于SVM里面的许多原理都讲的很透彻,确实很是佩服这些大牛,膜拜。
但是苦恼的一点在于,在网上找不到关于SVM的R语言版本的编程实现,虽说有包的实现,但个人还是喜欢自己通过编程来深入了解SVM,所以这也是我写这篇博客的目的。网上倒有一个Python,但个人对Python是一无所知。这里还是把链接打出来,想要看的朋友自己去看看,写的很详细,很好。http://blog.csdn.net/zouxy09/article/details/17292011;不过听说统计之都的那些大牛们正在编写关于十大算法的R语言实现,真的是非常的期待。也非常感谢统计之都,他们对于R语言的推广做出了很多贡献。
好了,话不多说,进入正题。我这篇文章主要是基于platte.A Fast Algorithm for Training Support Vector Machines这篇文献写的。主要也就是SVM算法中最关键的SMO算法的R实现。在进入算法之前也还是先热热身,慢慢引入SMO算法步骤粗去,也让这文章不会显得那么突兀。但我也不会去介绍的很详细,想要先要理解原理的你们,推荐先去看看July的博客,写的很棒。http://blog.csdn.net/v_july_v/article/details/7624837;OK,那我们就开始咯。下面的文章主要分为两个部分:
1.大致按逻辑引出支持向量机的公式表达
2.详细介绍SMO算法的介绍,主要参考Platte的那篇文献
3.关于SMO算法的R