一、简介

支持向量机,一种监督学习方法,因其英文名为support vector machine,故一般简称SVM。

通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

支持向量机建构一个或多个高维(甚至是无限多维)的超平面来分类数据点,这个超平面即为分类边界。 直观来说,好的分类边界要距离最近的训练数据点越远越好,因为这样可以减低分类器的泛化误差。

在支持向量机中,分类边界与最近的训练数据点之间的距离称为间隔(margin); 支持向量机的目标即为找出间隔最大的超平面来作为分类边界。

支持向量机的支持向量指的就是那些与分类边界距离最近的训练数据点。 从支持向量机的最佳化问题可以推导出一个重要的性质:支持向量机的分类边界可以被那些支持向量决定,而与其他数据点无关。 这也是它们被称为“支持向量”的原因。

注:一个机器学习模型的泛化误差(Generalization error),是一个描述学生机器在从样品数据中学习之后,离教师机器之间的差距的函数。使用这个名字是因为这个函数表明一个机器的推理能力,即从样品数据中推导出的规则能够适用于新的数据的能力。

二、优点

1、可以解决小样本情况下的机器学习问题。

2、可以提高泛化性能。

3、可以解决高维问题。

4、可以解决非线性问题。

5、可以避免神经网络结构选择和局部极小点问题。

三、缺点

1、对缺失数据敏感。

2、对非线性问题没有通用解决方案,必须谨慎选择Kernel function来处理。

四、一般流程

五、实现

1、机器学习库scikit-learn 中Support Vector Machines,python实现

2、IBSVM,由台湾大学林智仁编写。LIBSVM是一个整合了支持向量机(C-SVC, nu-SVC)、回归、分布估计(one-class SVM)的软件。并且支持多类别的分类。

3、LIBLINEAR,主要专门为百万级别的数据和特征实现的线性分类器。

4、dlib库,C++模板实现

5、SVMlight 包,使用C 语言实现的支持向量算法

六、更多资料

支持向量机通俗导论(理解SVM的三层境界)

http://blog.csdn.net/v_july_v/article/details/7624837

1.4. Support Vector Machines

http://scikit-learn.org/stable/modules/svm.html

支持向量机-维基百科

https://zh.wikipedia.org/wiki/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA

Support vector machine, From Wikipedia, the free encyclopedia

https://en.wikipedia.org/wiki/Support_vector_machine

各种分类算法的优缺点

http://bbs.pinggu.org/thread-2604496-1-1.html

SVM的优缺点

http://blog.csdn.net/fengzhizizhizizhizi/article/details/23911699

SVMlight Support Vector Machine

http://svmlight.joachims.org/

dlib C++ library

http://dlib.net/ml.html

LIBSVM -- A Library for Support Vector Machines

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

LIBLINEAR -- A Library for Large Linear Classification

http://www.csie.ntu.edu.tw/~cjlin/liblinear

http://www.csie.ntu.edu.tw/~cjlin/papers/liblinear.pdf

LibLinear(SVM包)使用说明之(一)README

http://blog.csdn.net/zouxy09/article/details/10947323/

支持向量机(SVM)入门的更多相关文章

  1. 大数据-10-Spark入门之支持向量机SVM分类器

    简介 支持向量机SVM是一种二分类模型.它的基本模型是定义在特征空间上的间隔最大的线性分类器.支持向量机学习方法包含3种模型:线性可分支持向量机.线性支持向量机及非线性支持向量机.当训练数据线性可分时 ...

  2. SVM入门(一)

    近来,了解了一下SVM(支持向量机 support vector machine)的原理.顺便把自己理解的内容整理一下. 不讲背景啦,直接切入主题.     一.什么是支持向量机 好比说,我们现在在一 ...

  3. 模式识别之svm()---支持向量机svm 简介1995

    转自:http://www.blogjava.net/zhenandaci/archive/2009/02/13/254519.html 作者:Jasper 出自:http://www.blogjav ...

  4. 【IUML】支持向量机SVM

    从1995年Vapnik等人提出一种机器学习的新方法支持向量机(SVM)之后,支持向量机成为继人工神经网络之后又一研究热点,国内外研究都很多.支持向量机方法是建立在统计学习理论的VC维理论和结构风险最 ...

  5. 机器学习:Python中如何使用支持向量机(SVM)算法

    (简单介绍一下支持向量机,详细介绍尤其是算法过程可以查阅其他资) 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别.分类(异 ...

  6. 以图像分割为例浅谈支持向量机(SVM)

    1. 什么是支持向量机?   在机器学习中,分类问题是一种非常常见也非常重要的问题.常见的分类方法有决策树.聚类方法.贝叶斯分类等等.举一个常见的分类的例子.如下图1所示,在平面直角坐标系中,有一些点 ...

  7. 机器学习算法 - 支持向量机SVM

    在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...

  8. 机器学习之支持向量机—SVM原理代码实现

    支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...

  9. 支持向量机SVM——专治线性不可分

    SVM原理 线性可分与线性不可分 线性可分 线性不可分-------[无论用哪条直线都无法将女生情绪正确分类] SVM的核函数可以帮助我们: 假设‘开心’是轻飘飘的,“不开心”是沉重的 将三维视图还原 ...

随机推荐

  1. fir2(n,f,m)

    编辑 函数fir2用来设计多通带任意响应FIR滤波器,该滤波器的幅频特性由向量对f和m确定,f为归一化频率向量,m为对应频率点上的幅度.当设计的滤波器在频率为π的幅度响应不是0时,滤波器的阶数n为偶数

  2. VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback-AAAI2016 -20160422

    1.Information publication:AAAI2016 2.What 基于BPR模型的改进:在商品喜好偏序对的学习中,将商品图片的视觉信息加入进去,冷启动问题. 3.Dataset Am ...

  3. js正则表单验证汇总,邮箱验证,日期验证,电话号码验证,url验证,信用卡验证,qq验证

    本文主要汇总各种正则验证,很多都是转载,本人也会尽可能验证准确性,如有错误欢迎留言 //trim()方法在有些浏览器中不兼容,最好自己重写一下 String.prototype.trim=functi ...

  4. Mysql与Redis的同步实践

    一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文 ...

  5. 使用ContentProvider进行应用程序间的数据交互

    什么是ContentProvider: ContentProvider用来管理数据的访问规则.它允许你的应用程序向外界暴露需要被访问的数据. 是Android的四大组件之一. ContentProvi ...

  6. 【UOJ #147】【NOIP 2015】斗地主

    http://uoj.ac/problem/147 搜索时先枚举三顺子,双顺子和单顺子,然后贪心带牌和成三成双成单出. #include<cstdio> #include<cstri ...

  7. 【BZOJ 4539】【HNOI 2016】树

    http://www.lydsy.com/JudgeOnline/problem.php?id=4539 今天测试唯一会做的一道题. 按题目要求,如果暴力的把模板树往大树上仍,最后得到的大树是$O(n ...

  8. EPUB书籍阅读器插件分享

    本文主要分享EPUB文件的打开方式, 包括如何使用火狐浏览器打开epub, 如何使用chrome打开epub, 如何使用IE浏览器打开epub文件: 1:使用火狐打开epub文件 如果有安装火狐浏览器 ...

  9. 51nod 1007 正整数分组

    将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的.   Input 第1行:一个数N,N为正整数的数量 ...

  10. maven2打包不同jdk版本的包

    通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点. 1.在项目的pom文件中加入如下配置 <project ...