随机森林与支持向量机分类性能比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随机森林与支持向量机分类性能比较

黄衍,查伟雄

(华东交通大学交通运输与经济研究所,南昌 330013)

摘要:随机森林是一种性能优越的分类器。为了使国内学者更深入地了解其性能,通过将其与已在国内得到广泛应用的支持向量机进行数据实验比较,客观地展示其分类性能。实验选取了20个UCI数据集,从泛化能力、噪声鲁棒性和不平衡分类三个主要方面进行,得到的结论可为研究者选择和使用分类器提供有价值的参考。

关键词:随机森林;支持向量机;分类

中图分类号:O235 文献标识码: A

Comparison on Classification Performance between Random Forests and Support Vector Machine

HUANG Yan, ZHA Weixiong

(Institute of Transportation and Economics, East China Jiaotong University, Nanchang 330013, China)【Abstract】Random Forests is an excellent classifier. In order to make Chinese scholars fully understand its performance, this paper compared it with Support Vector Machine widely used in China by means of data experiments to objectively show its classification performance. The experiments, using 20 UCI data sets, were carried out from three main aspects: generalization, noise robustness and imbalanced data classification. Experimental results can provide references for classifiers’ choice and use.

【Key words】Random Forests; Support Vector Machine; classification

0 引言

分类是数据挖掘领域研究的主要问题之一,分类器作为解决问题的工具一直是研究的热点。常用的分类器有决策树、逻辑回归、贝叶斯、神经网络等,这些分类器都有各自的性能特点。本文研究的随机森林[1](Random Forests,RF)是由Breiman提出的一种基于CART 决策树的组合分类器。其优越的性能使其在国外的生物、医学、经济、管理等众多领域到了广泛的应用,而国内对其的研究和应用还比较少[2]。为了使国内学者对该方法有一个更深入的了解,本文将其与分类性能优越的支持向量机[3](Support Vector Machine,SVM)进行数据实验比较,客观地展示其分类性能。本文选取了UCI机器学习数据库[4]的20个数据集作为实验数据,通过大量的数据实验,从泛化能力、噪声鲁棒性和不平衡分类三个主要方面进行比较,为研究者选择和使用分类器提供有价值的参考。

1 分类器介绍

1.1 随机森林

随机森林作为一种组合分类器,其算法由以下三步实现:

1. 采用bootstrap抽样技术从原始数据集中抽取n tree个训练集,每个训练集的大小约为原始数据集的三分之二。

2. 为每一个bootstrap训练集分别建立分类回归树(Classification and Regression Tree,CART),共产生n tree棵决策树构成一片“森林”,这些决策树均不进行剪枝(unpruned)。在作者简介:黄衍(1986-),男,硕士研究生,主要研究方向:数据挖掘与统计分析。

通信联系人:查伟雄,男,博士,教授,主要研究方向:交通运输与经济统计分析。

E-mail: huangyan189@.

每棵树生长过程中,并不是选择全部M个属性中的最优属性作为内部节点进行分支(split),而是从随机选择的m try≤M个属性中选择最优属性进行分支。

3. 集合n tree棵决策树的预测结果,采用投票(voting)的方式决定新样本的类别。

随机森林在训练过程中的每次bootstrap抽样,将有约三分之一的数据未被抽中,这部分数据被称为袋外(out-of-bag)数据。随机森林利用这部分数据进行内部的误差估计,产生OOB误差(out-of-bag error)。Breiman通过实验证明,OOB误差是无偏估计,近似于交叉验证得到的误差。

随机森林分类器利用基于Breiman随机森林理论的R语言软件包randomForest4.6-6[5]来实现。需要设置三个主要的参数:森林中决策树的数量(ntree)、内部节点随机选择属性的个数(mtry)及终节点的最小样本数(nodesize)。

1.2 支持向量机

支持向量机是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,已在众多领域得到了广泛的应用。支持向量机最初是为了求解二分类问题而诞生的,其基本思想可以表述如下。目标是寻找一个最优分类超平面(separating hyperplane),使两类间相邻最近的样本点之间的边缘(margin)最大化。在最大化边缘边界上的样本点被称为支持向量(support vectors),边缘的中间切面为最优分类超平面。被边缘误分的点,其权重将被降低,以减少其影响。当数据线性不可分时,通过核函数将数据点映射到高维空间,使其线性可分。寻找超平面的过程可以转化为求解一个二次规划问题。

支持向量机分类器采用R语言软件包e1071 1.6[6]实现,该软件包是以台湾大学林智仁教授的libsvm[7]源代码为基础开发的。libsvm包含了四种主要的核函数:线性核函数(Linear)、多项式核函数(Polynomial)、径向基核函数(Radial Basis Function,RBF)以及Sigmoid核函数。本文采用径向基核函数,原因有四方面:(1)线性核函数只能处理线性关系,且被证明是径向基核函数的一个特例[8];(2)Sigmoid核函数在某些参数上近似径向基核函数的功能,径向基核函数取一定参数也可得到Sigmoid核函数的性能[9];(3)多项式核函数参数较多,不易于参数优选;(4)本文实验数据均非高维数据,径向基核函数可以适用。径向基核函数支持向量机包含两个重要的参数:惩罚参数Cost和核参数Gamma。此外,libsvm可用于多分类问题,采用的是“一对一”(one-against-one)的策略,即每两类建立一个支持向量机分类器,共建立k(k-1)/2个分类器,k为类别数,最后采用投票的方式决定新样本的类别。

2 分类器性能比较

实验将从三个主要方面比较两个分类器的性能:泛化能力、噪声鲁棒性和不平衡分类。选取UCI机器学习数据库的20个数据集作为实验数据,数据集信息见表1,编号1到10的数据集为二分类,11到20为多分类。为了更好地比较,对两个分类器均进行参数优选。随机森林参数优选过程分两步:(1)在整个训练集上训练,根据OOB误差选择ntree和nodesize,选择标准是使总误差或目标类别误差降到足够低且稳定;(2)采用训练集十折交叉验证(Cross-validation)对参数mtry进行遍历确定最优值,参数选择标准可根据实际问题确定,最低误差或最大AUC(Area under ROC Curve)。支持向量机采用训练集十折交叉验证对参数Cost和Gamma进行网格寻优(Grid-search)确定最优值,参数选择标准同上。两个分类器在每个数据集上均进行10次参数优选。为了判断两个分类器是否有显著差异,引

相关文档
最新文档