SVM整理

Last modified: 2015.9.2

1.算法总结

支持向量机是Cortes和Vapnik于1995年首先提出的,它在解决小样本,非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。

SVM方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)。

 

1.1进一步小结

SVM它本质上即是一个分类方法,用定义分类函数,于是求w、b,为求得最大间隔,引出,继而引入拉格朗日函数,化为对拉格朗日乘子 a 的求解(求解过程中会涉及到一系列最优化或凸二次规划等问题)。如此,求w、b与求a等价,而a的求解可以用一种快速学习算法SMO。

引入核函数解决输入数据线性不可分的情况à线性分类函数à最大化分类间隔(函数间隔与几何间隔)àmaxàminà凸二次规划à拉格朗日函数(使用松弛变量处理outliers问题)à对偶问题(max min问题转化为min max问题)àSMO算法。

SMO算法:每次迭代只选出两个分量和进行调整,与通常的分解算法比较,尽管需要更多的迭代次数,但每次迭代的计算量比较小,所以该算法表现出整体的快速收敛性,且不需要存储核矩阵,也没有矩阵运算。

核函数:处理非线性情况,若直接映射到高维可能维度爆炸,故在低维计算,等效高维表现。SVM算法实践的一个难点就在于核函数如何选取,通常是根据经验手动选择。

2.流行软件包

2.1 LibSVM

经典推荐,台湾林智仁教授的开源软件。最新版本3.20(November 15, 2014)

官网:https://www.csie.ntu.edu.tw/~cjlin/libsvm/

使用入门介绍:https://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

相关数据集:https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/

利用这个软件包的来处理SVM部分的项目比较多。

2.2 Weka

Weka中实现了一个SVM算法,名称就叫SMO(大概意思是采用了SMO优化算法),不过实际运行的效果不如LibSVM,因此通常将LibSVM添加到Weka中来进行需要SVM算法的相关工作。

3.应用领域

文本分类,图像分类,生物序列分析,生物数据挖掘,手写字符识别等领域。

4.对输入数据的要求

对用类别来表示的属性,比如{red,blue,yellow},通常用相同位数的二进制来表示,每个类别占一位。

通常将数值范围放缩到[0,1]或者[-1,1]之间,因为SVM计算过程中涉及到向量内积,属性值过大,将使该属性的影响增大。

4.1参数选择

需要依次选择核函数,核函数参数,惩罚参数C。

补充:当选择径向基函数(也叫高斯函数)作为核函数时,参数估计(C,Ý)的基本算法是grid-search算法。

5.略。

 

6.主要参考文献

[1] 博文“支持向量机通俗导论”, 2012.6, http://blog.csdn.net/v_july_v/article/details/7624837.

[2] An article “A Practical Guide to Support Vector Classification”, April 15, 2010, https://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf.

[2] John Shawe-Taylor & Nello Cristianini,2000, Support Vector Machines and other kernel-based learning methods, Cambridge University Press.

SVM整理的更多相关文章

  1. SVM大致思路整理

    (一)线性可分 我们忽略建立目标函数的过程,直接写出目标函数. 原问题: 首先,我们得到了目标函数: 这是一个凸优化问题,直接可以用软件可以求解: 对偶问题: 原问题根据一系列的变换,可写成: 满足某 ...

  2. SVM 笔记整理

    支持向量机 一.支持向量机综述 1.研究思路,从最特殊.最简单的情况开始研究 基本的线性的可分 SVM 解决二分类问题,是参数化的模型.定义类标记为 \(+1\) 和 \(-1\)(区别于感知机,感知 ...

  3. 支持向量机(SVM)公式整理

    支持向量机可以分为三类: 线性可分的情况 ==> 硬间隔最大化 ==> 硬间隔SVM 近似线性可分的情况 ==> 软间隔最大化 ==> 线性支持向量机 线性不可分的情况 ==& ...

  4. 1. SVM简介

    从这一部分开始,将陆续介绍SVM的相关知识,主要是整理以前学习的一些笔记内容,梳理思路,形成一套SVM的学习体系. 支持向量机(Support Vector Machine)是Cortes和Vapni ...

  5. 【十大经典数据挖掘算法】SVM

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART SVM(Support Vector ...

  6. 卷积神经网络提取特征并用于SVM

    模式识别课程的一次作业.其目标是对UCI的手写数字数据集进行识别,样本数量大约是1600个.图片大小为16x16.要求必须使用SVM作为二分类的分类器. 本文重点是如何使用卷积神经网络(CNN)来提取 ...

  7. 机器学习实战笔记(Python实现)-05-支持向量机(SVM)

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  8. 支持向量机SVM

    SVM(Support Vector Machine)有监督的机器学习方法,可以做分类也可以做回归.SVM把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类. 有好 ...

  9. 支持向量机(SVM)相关免费学习视频集锦

    http://www.matlabsky.com/thread-36823-1-1.html [其它] 支持向量机(SVM)相关免费学习视频集锦    [复制链接]     faruto 签到天数: ...

随机推荐

  1. [改善Java代码]推荐使用String直接量赋值

    建议52:推荐使用String直接量赋值 一.建议 String对象的生成方式有两种: 1.通过new关键字生成,String str3 = new String(“中国”); 2.直接声明,如:St ...

  2. The message queue

    今晚来整理一下消息队列,消息队列是一条由消息连接而成的链表,存在内核里面,通过消息对了的引用标识符来访问,每个消息队列都有一个msqid_ds结构与之对应,这个结构保存了消息队列的当前状态参数,这个结 ...

  3. hdu 4619 最大匹配问题

    思路:把所有涉及到的点按(x+y)的奇偶分成两部分点,对所有的1*2的骨牌,都有(x+y)为偶数的建到奇数的边.求一次最大匹配,就是答案. #include<iostream> #incl ...

  4. SharePoint 2013 网站定义中添加页面布局

    今天在Visual Studio 2012中将页面布局打包到网站定义中. 新建Module “MasterPageGallary” 在Element中如下: <Elements xmlns=&q ...

  5. HTML5与CSS3基础教程第八版学习笔记16-21章

    第十六章,表单 HTML5引入了新的表单元素.输入类型和属性,以及内置的对必填字段.电子邮件地址.URL以及定制模式验证. 元素: <input type="email"&g ...

  6. 是时候全面使用html5标签了

    html5,这个词语,不管是业内还是业外,都已经耳熟能详了.因为已经火了这么长的的时间了.但是,真正开始使用的又有多少人呢?只能用呵呵来形容了! html5真的来了 2014年10月28日,历经八年, ...

  7. hive创建表带中文注释报错解决方法

    hive创建带有中文注释的表报错: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask ...

  8. IUSR和IIS_IUSRS

    在早期的IIS版本中,随着IIS的安装,系统会创建一个IUSR_MachineName用户.IIS启用匿名访问,就是通过此用户进行身份认证的,包括FTP匿名访问,HTTP匿名访问.   在创建IUSR ...

  9. oracle手动启动服务

    开始-控制面板->管理工具->服务->右键属性 oracle服务设定都是手动启动的,开机时只需要启动3个服务就好了: OracleOraDb11g_home1ClrAgent Ora ...

  10. c#学习汇总-----------------多态

    刚开通了博客园的博客,原因是我的师兄和前辈们在这里写的一些学习笔记让我受益匪浅,所以决定从今天起用这个平台来记录我的点滴学习心得.我喜欢GIS二次开发,以后应该也不会脱离于此,对于编程我积累的知识太零 ...