码迷,mamicode.com
首页 > 其他好文 > 详细

SVM整理

时间:2015-09-03 23:26:41      阅读:511      评论:0      收藏:0      [点我收藏+]

标签:

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整理

标签:

原文地址:http://www.cnblogs.com/nuaalida/p/4780922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!