SVM学习资料
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学习资料的更多相关文章
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)
原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...
- 机器学习&深度学习资料(转载)
转自 飞鸟各投林 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboo ...
- 近200篇机器学习&深度学习资料分享【转载】
编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Le ...
- 机器学习&深度学习资料分享
感谢:https://github.com/ty4z2008/Qix/blob/master/dl.md <Brief History of Machine Learning> 介绍:这是 ...
- 近200篇机器学习&深度学习资料分享
编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.并且原文也会不定期的更新.望看到文章的朋友能够学到很多其它. <Brief History of Machine ...
- 自然语言处理(NLP)相关学习资料/资源
自然语言处理(NLP)相关学习资料/资源 1. 书籍推荐 自然语言处理 统计自然语言处理(第2版) 作者:宗成庆 出版社:清华大学出版社:出版年:2013:页数:570 内容简介:系统地描述了神经网络 ...
- webapi的学习资料
猿教程_-webapi教程-WebAPI教程 猿教程_-webapi教程-Web API概述 猿教程_-webapi教程-新建Web Api项目 猿教程_-webapi教程-测试Web API 猿教程 ...
- netty学习资料
netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
随机推荐
- 孙陪你,了解它的力量——unity3d流程暂停
干unity3dproject什么时候,有时需要对进程暂停一段时间. 有人建议使用yield return new WaitForSeconds(value);使用的方法如以下: IEnumerato ...
- 设计模式组合模式(Composite)精华
23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例,他们帮助如何创建一个系统独立.这是一个这些对象和陈述的组合. 创建使用继承类的类架构更改实例.的对象类型模型的建 ...
- php中echo(),print(),print_r()用法
原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但p ...
- TextArea中定位光标位置
原文:TextArea中定位光标位置 在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用"+"号来作为明 ...
- [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...
- phpstorm集成phpunit
1.下载phpunit.phar,将该文件放到某个工程中 2.File > Settings > Languages & Frameworks > PHP > PHPU ...
- sqlserver大容量日志文件处理
原文:sqlserver大容量日志文件处理 针对SqlServer2000 .SqlServer2005.SqlServer2008.SqlServer2012.SqlServer2014库日志文件优 ...
- Get Resultset from Oracle Stored procedure
http://stackoverflow.com/questions/1170548/get-resultset-from-oracle-stored-procedure
- 序列化(ObjectOutputStream和ObjectInputStream)(切记:out是输出到本地中,in是输入到程序中)
注意:序列化自定义类必须实现一个接口Serializable,在c#中序列化自定义类是使用特性也就是[Serializable] //要实现序列化的类 public class Student imp ...
- 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 ...