关于支持向量机(SVM)一些不得不说的话

做为一种监督学习模型,支持向量机(Supprot Vector Machine)在机器学习领域内很重要。首先,SVM用来干什么?一句话将,就是分类(Classification)。比较简单的分类,比如线性分类、Logistic 回归等等,得到的分类结果未必是最优的。而SVM则旨在找到一个最优的分类器。从这个目的出发,SVM提出了Soft Margin,Support Vector等等看似很直观的概念。

对支持向量机的介绍,往往从线性模型开始讲起。如果想对这个部分有一个了解,有两个英文的资料绝对值得一读:

1.A Tutorial on Support Vector Machines for Pattern Recognition  数学推导的味道想对浓一些,建议从Section 3 (Linear Support Vector Machines)开始看起;

2.Support Vector Machines Explained   推导和对问题的描述相对简单,值得细读。

但是上述英文资料中对SVM的一些细节问题叙述的并不是很充分,看来大师级的作者,对一些小问题是不屑于去碎碎念的。但是对于我等初学人士,可以看看国内作者写的有关SVM的一些技术资料,比较好的 推荐如下

3. 最优间隔分类、原始/对偶问题、SVM对偶—斯坦福ML公开课笔记7   http://blog.csdn.net/xinzhangyanxiang/article/details/9774135

4.支持向量机SVM(一)http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982639.html

5.支持向量机SVM(二)http://www.cnblogs.com/jerrylead/archive/2011/03/13/1982684.html

6.支持向量机(三)核函数 http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988406.html

7.支持向量机: Support Vector  http://blog.pluskid.org/?p=682

尤其是连接7 里面对SVM中一些不好理解的问题有比较形象的说明.

SVM中的一些比较深入的话题

9 规则化和不可分情况处理(Regularization and the non-separable case)http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988415.html

10.支持向量机(五)SMO算法 http://www.cnblogs.com/jerrylead/archive/2011/03/18/1988419.html

11.SVM对偶问题的具体说明 这是我最不好理解的:http://my.oschina.net/wangguolongnk/blog/111349

一些利用SVM进行图像识别分类的例子

12. Face Recognition with Support Vector Machines:Global versus Component-based Approach

13.一个国外爱好者的tutorial http://rvlasveld.github.io/blog/2013/07/12/introduction-to-one-class-support-vector-machines/

14.有一些形象的图示:http://stackoverflow.com/questions/9480605/what-is-the-relation-between-the-number-of-support-vectors-and-training-data-and

15.一个Matlab写的有关SVM的DEMO 很基础 但是里面有很多可以值得借鉴学习的 http://stackoverflow.com/questions/16737601/matlab-svm-for-image-classification

16.有时 为了提高SVM的分类精度 我们的分类对象不仅仅是简单的图像数据本身 可能是图像中的某些特征 我们需要把它提取出来 并且对它进行SVM

http://cn.mathworks.com/help/vision/examples/digit-classification-using-hog-features.html

17.有关Matlab的一个比较著名的demo
mathworks 自家的资料不过需要安装 Matlab 2014+ http://cn.mathworks.com/help/stats/support-vector-machines-svm.html#bsr5b6n

18.利用SIFT特征进行SVM分类的软件包 Matlab 编写 http://www.vlfeat.org/applications/apps.html

19.SVM - Support vector machine with MATLAB  based on database Caltech101 http://dipwm.blogspot.com/2013/01/svm-support-vector-machine-with-matlab.html

20.SOme Matlab Tricks About read img:https://computervisionblog.wordpress.com/2011/04/13/matlab-read-all-images-from-a-folder-everything-starts-here/

最后,放出我写的一个有关SVM对简单图像分类的程序 很简单 too low too navie 

时间: 2024-11-07 04:39:46

关于支持向量机(SVM)一些不得不说的话的相关文章

支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality)

简介: 1.在之前我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题.这个最优化问题被称作原问题.我们不会直接解它,而是把它转化为对偶问题进行解决. 2.为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点.即拉格朗日函数,再通过这个函数来寻找最优点. 3.约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课

支持向量机(SVM)(五)-- SMO算法详解

一.我们先回顾下SVM问题. A.线性可分问题 1.SVM基本原理: SVM使用一种非线性映射,把原训练            数据映射到较高的维.在新的维上,搜索最佳分离超平面,两个类的数据总可以被超平面分开. 2.问题的提出: 3.如何选取最优的划分直线f(x)呢? 4.求解:凸二次规划 建立拉格朗日函数: 求偏导数: B.线性不可分问题 1.核函数 如下图:横轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为负类. 设: g(x)转化为f(y)=<a,y> g(x)=

第八篇:支持向量机 (SVM)

前言 本文讲解如何使用R语言中e1071包中的SVM函数进行分类操作,并以一个关于鸢尾花分类的实例演示具体分类步骤. 分析总体流程 1. 载入并了解数据集:2. 对数据集进行训练并生成模型:3. 在此模型之上调用测试数据集进行分类测试:4. 查看分类结果:5. 进行各种参数的调试并重复2-4直至分类的结果让人满意为止. 参数调整策略 综合来说,主要有以下四个方面需要调整: 1. 选择合适的核函数:2. 调整误分点容忍度参数cost:3. 调整各核函数的参数:4. 调整各样本的权重. 其中,对于特

机器学习第7周-炼数成金-支持向量机SVM

支持向量机SVM 原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser.Guyon.Vapnik发表在1992年(参考文档见韩家炜书9.10节)思想直观,但细节异常复杂,内容涉及凸分析算法,核函数,神经网络等高深的领域,几乎可以写成单独的大部头与著.大部分非与业人士会觉得难以理解.某名人评论:SVM是让应用数学家真正得到应用的一种算法 思路 简单情况,线性可分,把问题转化为一个

机器学习与数据挖掘-支持向量机(SVM)(一)

最近在看斯坦福大学的机器学习的公开课,学习了支持向量机,再结合网上各位大神的学习经验总结了自己的一些关于支持向量机知识. 一.什么是支持向量机(SVM)? 1.支持向量机(Support Vector Machine,常简称为SVM)是一种监督式学习的方法,可广泛地应用于统计分类以及回归分析.支持向量机属于一般化线性分类器,这族分类器的特点是他们能够同时最小化经验误差与最大化几何边缘区,因此支持向量机也被称为最大边缘区分类器. 2.支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个

支持向量机SVM的SMO方法实现

hdu 1163 Eddy's digital Roots Problem Description The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two

opencv 支持向量机SVM分类器

支持向量机SVM是从线性可分情况下的最优分类面提出的.所谓最优分类,就是要求分类线不但能够将两类无错误的分开,而且两类之间的分类间隔最大,前者是保证经验风险最小(为0),而通过后面的讨论我们看到,使分类间隔最大实际上就是使得推广性中的置信范围最小.推广到高维空间,最优分类线就成为最优分类面. 支持向量机是利用分类间隔的思想进行训练的,它依赖于对数据的预处理,即,在更高维的空间表达原始模式.通过适当的到一个足够高维的非线性映射,分别属于两类的原始数据就能够被一个超平面来分隔.如下图所示: 空心点和

【转载】支持向量机SVM(一)

支持向量机SVM(一) [转载请注明出处]http://www.cnblogs.com/jerrylead 1 简介 支持向量机基本上是最好的有监督学习算法了.最开始接触SVM是去年暑假的时候,老师要求交<统计学习理论>的报告,那时去网上下了一份入门教程,里面讲的很通俗,当时只是大致了解了一些相关概念.这次斯坦福提供的学习材料,让我重新学习了一些SVM知识.我看很多正统的讲法都是从VC 维理论和结构风险最小原理出发,然后引出SVM什么的,还有些资料上来就讲分类超平面什么的.这份材料从前几节讲的

【转载】支持向量机SVM(二)

支持向量机SVM(二) [转载请注明出处]http://www.cnblogs.com/jerrylead 6 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用来表示算子,得到拉格朗日公式为 L是等式约束的个数. 然后分别对w和求偏导,使得偏导数等于0,然后解出w和.至于为什么引入拉格朗日算子可以求出极值,原因是f(w)的dw变化方向受其