SVM学习资料

2013-06-21 17:29 by 夜与周公, 227 阅读, 0 评论, 收藏编辑

  SVM(support vector machine),被认为是“off-the-shelf”最好的监督机器学习算法之一,甚至很多人认为可以把“之一”去掉。SVM有着天然的intuition,大量的数学推导和优雅的解形式(有了大量的数学推导,自然就容易发paper啦)。实际上SVM在工业界也有着广泛的应用如,文本分类、图像分类、生物医学诊断和手写字符识别等。有关SVM资源非常之多,本文尝试总结一些比较好的SVM学习资源。

  0.维基百科

  如果想迅速的了解SVM一些基础概念,维基百科是一个不错的选择,SVM在维基百科的地址是:http://en.wikipedia.org/wiki/Support_vector_machine。虽然是一个基础性资源,但维基百科里面的有关SVM知识并不是那么简单,如果能理解维基百科里面的内容,说明你的数学功底还是相当厉害的。

  1.课程资源

  Stanford大学Andrew Ng教授的机器学习公开课,课程地址:http://v.163.com/special/opencourse/machinelearning.html。有关SVM的课程从第6课开始到第8课结束,横跨了3个课时。如果仅仅是视频可能还不够,需要阅读他的课件,课件的地址:http://cs229.stanford.edu/notes/cs229-notes3.pdf。第一次看这个课程视频可能比较吃力,需要反复的观看视频资源。如果能一步步的follow课程的内容,相信对SVM就会有很好的掌握。

  2.博客资源

  经过第一步的课程资源学习后,如果仍然对SVM一知半解,网络上的优秀博客资源将会是一个很好的补充与加强。

  1)第一篇博客资源是leftnoeasy的SVM博文:http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html

  2)第二篇博客资源是FreeMind的博文:http://blog.pluskid.org/?page_id=683

  3)第三篇博客资源是Leo Zhang:http://www.cnblogs.com/vivounicorn/

  三个博客的难度从易到难,三篇博客都非常精彩,第一篇博客非常适合作为学习SVM入门型资源,第二篇博客由浅入深的阐释了SVM,似有科学小品之感,最后一篇博客理论性非常强,并在博文最后用python实现了一个SVM分类器,如果想深入的理解SVM,第三个博客是不可错过资源。

  3.论文&书籍资源

  1)论文:

J.C. Burges的论文:<<A Tutorial on Support Vector Machines for Pattern Recognition>>;  

Glenn M.Fung的论文:<<knowledge-Based Support Vector Machine Classifiers>>;

               B. E. Boser, I. M. Guyon, and V .Vapnik的论文:<<A Training Algorithm for Optimal Margin Classifiers>>。                    

  2)书籍:

       John Shawe-Taylor & Nello Cristianini 的书:<<Support Vector Machines and other Kernel-based Learning Methods >>;

         机器学习的经典教材,Bishop的书:<<Pattern Recogition and Machine Learing>>,第7章 <<Sparse Kernel Machines>>前面部分是有关SVM的论述;

Vapnik的经典著作:<<The Nature of Statistical Learning Theory>>。

  4.Tooktiks

  本节介绍SVM比较有名的开源工具:libsvm, svmlight, liblinear。

  Libsvm是由台湾大学林智仁(Lin Chih-Jen)教授等开,国内用的较多一点,Svmlight 由卡内基梅隆大学Thorsten Joachims教授开发的工具包,Liblinear也是有台湾大学林智仁教授团队开发的工具包,针对大规模线性分类问题(大规模文本分类)。

  三个工具包有各自的优点:libsvm与liblinear支持多分类问题,而svmlight并不支持多分类;svmlight与liblinear特别是在数据规模比较大的情况下,要比libsvm快;libsvm直接支持样本后验概率输出,但svmlight与liblinear并不直接支持;libliner仅能处理线性可分的问题。在实际过程中,需要依据自己的任务,选择合适的svm工具。

 
 
分类: 机器学习

SVM学习资料的更多相关文章

  1. 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)

    原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...

  2. 机器学习&深度学习资料(转载)

    转自 飞鸟各投林 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboo ...

  3. 近200篇机器学习&深度学习资料分享【转载】

    编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Le ...

  4. 机器学习&深度学习资料分享

    感谢:https://github.com/ty4z2008/Qix/blob/master/dl.md <Brief History of Machine Learning> 介绍:这是 ...

  5. 近200篇机器学习&amp;深度学习资料分享

    编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.并且原文也会不定期的更新.望看到文章的朋友能够学到很多其它. <Brief History of Machine ...

  6. 自然语言处理(NLP)相关学习资料/资源

    自然语言处理(NLP)相关学习资料/资源 1. 书籍推荐 自然语言处理 统计自然语言处理(第2版) 作者:宗成庆 出版社:清华大学出版社:出版年:2013:页数:570 内容简介:系统地描述了神经网络 ...

  7. webapi的学习资料

    猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...

  8. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  9. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

随机推荐

  1. 孙陪你,了解它的力量——unity3d流程暂停

    干unity3dproject什么时候,有时需要对进程暂停一段时间. 有人建议使用yield return new WaitForSeconds(value);使用的方法如以下: IEnumerato ...

  2. 设计模式组合模式(Composite)精华

    23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例,他们帮助如何创建一个系统独立.这是一个这些对象和陈述的组合. 创建使用继承类的类架构更改实例.的对象类型模型的建 ...

  3. php中echo(),print(),print_r()用法

    原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但p ...

  4. TextArea中定位光标位置

    原文:TextArea中定位光标位置 在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用"+"号来作为明 ...

  5. [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

    原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...

  6. phpstorm集成phpunit

    1.下载phpunit.phar,将该文件放到某个工程中 2.File > Settings > Languages & Frameworks > PHP > PHPU ...

  7. sqlserver大容量日志文件处理

    原文:sqlserver大容量日志文件处理 针对SqlServer2000 .SqlServer2005.SqlServer2008.SqlServer2012.SqlServer2014库日志文件优 ...

  8. Get Resultset from Oracle Stored procedure

    http://stackoverflow.com/questions/1170548/get-resultset-from-oracle-stored-procedure

  9. 序列化(ObjectOutputStream和ObjectInputStream)(切记:out是输出到本地中,in是输入到程序中)

    注意:序列化自定义类必须实现一个接口Serializable,在c#中序列化自定义类是使用特性也就是[Serializable] //要实现序列化的类 public class Student imp ...

  10. Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical

    http://julialang.org/ julia | source | downloads | docs | blog | community | teaching | publications ...