首页 > 范文大全 > 正文

支撑向量机在R软件e1071包的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇支撑向量机在R软件e1071包的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:支撑向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik等于1995年提出的,与传统的神经网络技术不同,SVM是以统计学习理论为基础,神经网络是以传统统计学习理论为基础。传统统计学的前提条件是由足够多的样本,而统计学习理论是着重研究小样本条件下的统计规律和学习方法的,它为机器学习问题建立了一个好的理论框架。实践证明,建立在统计学习理论上的支撑向量机不仅结构简单,而且技术性能尤其是推广能力明显提高,能解决好大量现实中的小样本学习问题。

关键词:支撑向量机,核函数,机器学习,R软件e1071

0 前言

数据分类的主要方法有:神经网络分类方法、决策树分类方法、贝叶斯分类方法、基于关联规则分类方法以及利用数据库技术分类等。其中神经网络分类方法在1995年以前被认为是智能化最高的。1982年美国加州理工学院物理学家J.J.Hopfield提出Hopfield网络模型[1]和1986年Rnmelhart等提出的BP学习算法[2]是两个重要的里程碑,之后人工神经网络取得前所未有的好局面。但是需要趋于无穷大的渐进理论,可是实际问题中样本数目往往是有限的;因此传统人工神经网络作为机器学习方法,在一般学习理论上很难取得实质性进展。在这种情况下,统计学习理论研究开始得到了重视,在七十年代初V.Vapnik[4-5]等人就开始致力于统计学习理论研究。1995年V.Vapnik等人运用统计学习理论对神经网络进行研究,创立了一种全新的通用学习方法――支撑向量机(SVM),已经表现出很多优点。

1 支撑向量机的介绍

支撑向量机(SVM)是通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。通俗的来说,它是一种二类分类模型,基本模型定义成特征空间上的间隔最大的线性分类器,也就是支撑向量机的学习策略便是间隔最大化,最终可以转化为一个凸二次规划问题的求解。

下面举一个简单的例子,一个二维平面(一个超平面,在二维空间中的例子就是一条直线),如下图所示,平面上有两种不同的点,分别用两种不同的颜色表示,一种为红颜色的点,另一种为蓝颜色的点,红颜色的线表示一个可行的超平面。

a b c d

图1

从图1a中可以看出,这条红颜色的线把红颜色的点和蓝颜色的点分开了。而红颜色的线就是我们上面所说的超平面,即超平面将两种不同颜色的数据点分隔开来,在超平面一边的数据点所对应的 全是-1,而在另一边全是1。

我们可以令分类函数 。显然如果 ,那么是位于超平面上的点。我们可以要求对所有满足 的点,其对于的 等于-1,而 则对应 的数据点。也就是图1b所示。

对一个数据点进行分类,当它的margin越大的时候,分类的confidence越大。对于一个包含 个点的数据集,我们可以很自然地定义它的margin为所有的这 个点的margin值中最小的那个。于是,为了使得分类地confidence高,我们希望所选择的超平面能够最大化这个margin值。即图1c所示。

两个支撑着中间的gap的超平面,它们到中间的纯红线separating hyper plane的距离相等,即我们所能得到的最大的几何间隔,而“支撑”这两个超平面的必定会有一些点,而这些“支撑”的点便叫做支撑向量。即图1d所示。

2 深入了解SVM

我们可以把支撑向量机从现行可分到线性不可分。但是到目前为止,我们的支撑向量机还比较弱,只能处理线性的问题,但是,如果在得到对偶形式之后,通过核函数推广到非线性的情况就变成了一件非常容易的事情。

对于非线性的情况,支撑向量机的处理方法是选择一个核函数通过将数据映射到高维空间,来解决在原始空间中线性不可分的问题。核函数通过把数据映射到高维空间来增加线性学习器的能力,使得线性学习器对偶空间的表达方式让分类操作更具灵活性和可操作性。因为训练数据一般是不会独立出现的,它们总是以成对样例的内积形式出现,而用对偶形式表示学习器的优势为在该表示中可调参数的个数不依赖输入属性的个数,通过使用恰当的核函数来替代内积,可以隐式的将非线性的训练数据映射到高维空间,而不增加可调参数的个数。最后引用一个例子举例说明核函数解决非线性问题的直观效果。

若农场主圈养了一批羊群,为预防狼群袭击羊群,需要搭建一个篱笆把羊群围起来。但是篱笆应该建在哪里呢?这时候就要依据羊群和狼群的位置建立一个“分类器”,比较下面几种不同的分类器,我们可以看到支撑向量机完成了一个很完美的解决方案。

3 支撑向量机在R软件中的实现

R是一个有着统计分析功能及强大制图功能的软件程序,是由奥克兰大学统计学系的Ross Ihaka和Robert Gentleman共同创立的。该软件属于GNU系统的一个自由、免费、源代码开放的软件,用于统计计算和统计制图。R以包的形式内建多种统计学及数字分析功能,透过安装套件Packages增强。可以用R软件e1071包来实现支撑向量机的分类和回归。

4 结语

支撑向量机有很好的推广能力,它有很好的研究和应用价值,所以它在九十年代问世以来很快就成为国际上研究的一大热点。支撑向量机既是机器学习领域的一大热点,而且也是一个很有前途的研究的一大热点,尤其是它的应用研究才刚刚起步。然而,在国际上,这方面的研究只有有限的实验报道,且多属仿真和对比实验。而我们国内,不管是理论研究还是应用研究都与国际有很大差距。所以我们应该对支撑向量机多加关注,加大它的研究力度。

参考文献:

[1] J.J.Hopfield. Neural networks and physical systems with emergent collective computational ability. Proceedings of the Natural Academy of Sciences the USA 79,1982,254-258.

[2] D.E. Rumelhart, G.E. Hinton. Learning representations by back-propagation errors. Nature(London),1986,323,533-536.

[3] V.V. Phansalkar and S. Sastry. Analysis of the back-propagation algorithm with moment. IEEE Neural Networks,1994,5(3):505-506.

[4] V.Vapnik. The Nature of statistical Learning Theory. Springer. 1995.

[5] V.Vapnik. The Support Vector Method of Function Estimation NATO ASI Series. Neural Network And Machine Learning, C.Bishop(Ed.),Springer,1998.

作者简介:

孙静静 (1991―) 女,山西省临汾市人,研二,专业:数学。