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

更新时间:2024-01-25 19:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

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

黄 衍,查伟雄

(华东交通大学交通运输与经济研究所,南昌 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抽样技术从原始数据集中抽取ntree个训练集,每个训练集的大小约为原始数据集的三分之二。

2. 为每一个bootstrap训练集分别建立分类回归树(Classification and Regression Tree,CART),共产生ntree棵决策树构成一片“森林”,这些决策树均不进行剪枝(unpruned)。在

作者简介:黄衍(1986-),男,硕士研究生,主要研究方向:数据挖掘与统计分析。 通信联系人:查伟雄,男,博士,教授,主要研究方向:交通运输与经济统计分析。 E-mail: huangyan189@163.com.

- 1 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

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

3. 集合ntree棵决策树的预测结果,采用投票(voting)的方式决定新样本的类别。 随机森林在训练过程中的每次bootstrap抽样,将有约三分之一的数据未被抽中,这部分数据被称为袋外(out-of-bag)数据。随机森林利用这部分数据进行内部的误差估计,产生OOB误差(out-of-bag error)。Breiman通过实验证明,OOB误差是无偏估计,近似于交叉验证得到的误差。

随机森林分类器利用基于Breiman随机森林理论的R语言软件包randomForest 4.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次参数优选。为了判断两个分类器是否有显著差异,引

- 2 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

入了非参数置换检验[10, 11](Permutation Test)进行统计比较,显著性水平设置为0.05。全部实验均在R 2.14.1软件平台上完成。

表1 实验数据集信息

编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

数据集 Breast Cancer Vertebral Column Blood Transfusion Haberman's Survival

Ionosphere Parkinsons MAGIC Pima Indians Diabetes Connectionist Bench

Heart Wine Iris Cardiotocography Vehicle Silhouettes

Glass Breast Tissue Image Segmentation Segmentation

Ecoli Libras Movement

Tab.1 Information of experiment data sets

类别数 属性数 样本数

2 2 2 2 2 2 2 2 2 2 3 3 3 4 6 6 7 7 8 15

30 6 4 3 34 22 10 8 60 13 13 4 21 18 9 9 19 18 7 90

569 310 748 306 351 195 19020 768 208 270 178 150 2126 846 214 106 2310 2310 336 360

训练集 286 166 500 160 175 102 184 196 104 121 98 73 231 206 153 56 254 210 212 179

测试集 283 144 248 146 176 93 18836 572 104 149 80 77 1895 640 61 50 2056 2100 124 181

2.1 泛化能力比较

采用泛化误差作为泛化能力的评价标准。先在训练集上确定最优参数,然后在整个训练集上训练模型,最后利用测试集计算泛化误差,该过程迭代10次。考虑到对数据进行预处理可能影响分类器的性能,分别在预处理前后的数据上进行了实验。预处理的方法主要为异常值归约、0-1归一化等。实验结果见表2和表3,表2为二分类数据实验结果,表3为多分类。表中给出的误差值为10次迭代的平均值,粗体的数值为各分类器的最优值,“前”和“后”表示数据预处理前后,名义胜者是比较两分类器最优值得出的结果。

- 3 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

表2 分类器在二分类数据上的泛化能力比较

Tab.2 Comparison on generalization ability between classifiers applied to two-category data

编号 1 2 3 4 5 6 7 8 9 10 P值

SVM 前

训练集交叉验证误差

RF

名义 胜者

P值

SVM 前

测试集预测误差

RF

名义 胜者

P值 0.662 0.006 0.000 0.616 0.000 0.175 0.000 0.000 0.000 0.104

0.030 0.030 0.047 0.048 SVM 0.128 0.126 0.153 0.155 SVM 0.209 0.206 0.219 0.216 SVM 0.228 0.226 0.303 0.300 SVM 0.042 0.037 0.066 0.066 SVM 0.083 0.076 0.073 0.072 RF 0.192 0.198 0.194 0.197 SVM 0.236 0.241 0.239 0.230 RF 0.208 0.198 0.185 0.197 RF 0.129 0.136 0.122 0.128 RF

0.000 0.181 0.029 0.030 0.034 SVM 0.000 0.245 0.194 0.181 0.176 RF 0.005 0.274 0.261 0.225 0.229 RF 0.000 0.288 0.281 0.276 0.282 RF 0.000 0.057 0.073 0.087 0.087 SVM 0.232 0.235 0.180 0.197 0.196 SVM 0.713 0.352 0.196 0.162 0.165 RF 0.181 0.361 0.253 0.266 0.271 SVM 0.200 0.323 0.212 0.115 0.113 RF 0.170 0.441 0.191 0.215 0.219 SVM

0.135 0.459

表3 分类器在多分类数据上的泛化能力比较

Tab.3 Comparison on generalization ability between classifiers applied to multi-category data

编号 1 2 3 4 5 6 7 8 9 10 P值

SVM 前

训练集交叉验证误差

RF 后

名义 胜者

P值

SVM 前

测试集预测误差

RF 后

名义 胜者

P值 0.000 0.033 0.000 0.783 0.007 0.000 0.000 0.000 0.002 0.010

0.011 0.010 0.020 0.021 SVM 0.018 0.014 0.084 0.069 SVM 0.129 0.116 0.071 0.076 RF 0.193 0.198 0.222 0.221 SVM 0.303 0.298 0.224 0.228 RF 0.255 0.285 0.243 0.236 RF 0.059 0.059 0.050 0.048 RF 0.080 0.089 0.049 0.048 RF 0.129 0.131 0.160 0.160 SVM 0.199 0.194 0.249 0.249 SVM

0.000 0.489 0.070 0.020 0.000 RF 0.000 0.026 0.030 0.023 0.020 RF 0.000 0.146 0.120 0.087 0.090 RF 0.000 0.741 0.299 0.298 0.300 RF 0.000 0.290 0.310 0.262 0.261 RF 0.151 0.768 0.424 0.364 0.368 RF 0.000 0.596 0.106 0.064 0.065 RF 0.000 0.145 0.116 0.044 0.043 RF 0.000 0.084 0.090 0.073 0.070 RF 0.000 0.358 0.323 0.282 0.286 RF

0.9805 0.002

从表2和表3可以得到以下信息:

(1)数据预处理的影响。两种分类器的训练集交叉验证误差在预处理前后的差异都不大,而从测试集预测误差在预处理前后的结果可以看出两者的明显差异。数据预处理对随机森林基本没有影响,而对支持向量机影响较大,数据预处理使支持向量机在二分类数据上的泛化误差平均降低27.3%,多分类平均降低29.1%。因此,在使用随机森林时,可以不对数据进行预处理,而在使用支持向量机时,有必要进行数据的预处理。

(2)二分类泛化误差比较。从表2训练集交叉验证误差这栏可以看出,支持向量机在5个数据集上显著优于随机森林,而随机森林没有在任何一个数据集上显著优于支持向量机。对10个数据集训练集交叉验证误差进行置换检验,得到的P值为0.135,未达到设定的显著性水平0.05,认为两个分类器在训练集上的泛化误差不存在显著差异。重点考虑测试集预测误差这一栏,随机森林在4个数据上显著优于支持向量机,支持向量机只在2个数据集上显著优于随机森林。由10个数据集测试集预测误差的置换检验得到的P值为0.459,从而认为在二分类问题上两种分类器的泛化能力不存在显著差异。

(3)多分类泛化误差比较。分析同上,在训练集交叉验证误差的比较上,二者没有显著差异,但在测试集预测误差的比较上,随机森林显著优于支持向量机。因此,认为随机森

- 4 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

林泛化能力在多分类问题上优于支持向量机。 2.2 噪声鲁棒性比较

数据噪声包括属性噪声和类别噪声,本文主要从分类器对类别噪声的鲁棒性来进行比较。从20个数据集中选取了10个数据集的训练集,二分类和多分类数据各5个,两种分类器根据表2和表3的训练集交叉验证误差最优值,确定是否采用预处理后数据。随机抽取每个训练集5%的样本,打乱其类别,人为制造类别噪声。在含噪声的数据上进行十折交叉验证,得到的交叉验证误差与表2和表3的训练集交叉验证误差最优值进行比较,计算交叉验证误差的增加值,该过程迭代10次。实验结果见表4,表中误差值为10次迭代的平均值,名义胜者为误差增加较小的分类器。

表4 噪声鲁棒性比较

Tab.4 Comparison on noise robustness

交叉验证误差 交叉验证误差增加值 名义 SVM

RF

SVM 0.020 0.048 0.045 0.029 0.021 0.053 0.038 0.098 0.060 0.039

RF 0.039 0.018 0.047 0.028 0.020 0.052 0.019 0.029 0.059 0.036

胜者 SVM RF SVM RF RF RF RF RF RF RF

0.096 0.111 0.240 0.211 0.281 0.277 0.227 0.213 0.150 0.142 0.063 0.073 0.232 0.240 0.353 0.265 0.119 0.107 0.168 0.195

编号 6 7 8 9 10 11 14 16 17 19 P值

P值 0.003 0.000 0.733 0.974 0.901 0.749 0.003 0.000 0.720 0.477

0.1641

由表4可得,噪声使两种分类器的交叉验证误差均提高了。随机森林在3个数据集上的误差增加值显著低于支持向量机,支持向量机在1个数据集上的误差增加值显著低于随机森林,二者在其他数据集上均没有显著差异。10个数据集的置换检验得到的P值为0.1641,没有达到要求的显著性水平,因而两种分类器在噪声鲁棒性方面是没有显著差异的。 2.3 不平衡分类比较

不平衡数据是指数据中某一类的样本数目明显少于其他类样本的数目。本文选取10个二分类数据的作为实验数据,以不平衡度(小类样本数:大类样本数)小于0.5来界定不平衡数据,对于不平衡度大于0.5的原始数据集,通过随机删减小类样本以达到理想的不平衡度。以实验数据集上的十折交叉验证AUC值来比较分类器性能,相应参数寻优也以最大AUC值为目标,每个实验数据进行10次迭代。实验结果见表5,表中AUC值为10次迭代的平均值,名义胜者为能得到较大AUC值的分类器。

- 5 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌

表5 不平衡分类比较

Tab.5 Comparison on imbalanced data classification

不平 交叉验证AUC 名义

编号 P值

衡度 SVM RF 胜者 1 2 3 4 5 6 7 8 9 10

0.333 1.000 0.995 SVM 0.000 0.476 0.937 0.927 SVM 0.030 0.312 0.724 0.677 SVM 0.000 0.360 0.776 0.704 SVM 0.000 0.249 0.991 0.969 SVM 0.000 0.327 0.964 0.973 RF 0.179 0.400 0.858 0.834 SVM 0.001 0.400 0.778 0.747 SVM 0.001 0.450 0.889 0.873 SVM 0.067 0.400 0.940 0.919 SVM 0.006 P值

0.006

从表5的实验结果可以明显地看出,随机森林在不平衡分类性能上显著逊色于支持向量机。本实验是在未设置类权重的情况进行的,我国学者李建更等对加权随机森林(Weighted Random Forest,WRF)进行了实验研究,结果表明对不平衡数据进行权重设置在大多数情况下能取得优于普通随机森林的结果[12],其在研究中还就权重的设置提出几点很有价值的规律,详见文献[12]。此外,还可以通过数据层面的处理来提高分类器的性能,常用的技术有欠抽样(undersampling)、过抽样(oversampling)及两种技术的混合。

3 结论

通过数据实验,得出以下关于随机森林与支持向量机在分类性能方面的几点结论:(1)使用随机森林无需预先对数据进行预处理,而若使用支持向量机则有必要进行数据预处理;(2)在二分类问题上,二者的泛化能力无显著差异;(3)在多分类问题上,随机森林的泛化能力显著优于支持向量机;(4)二者对数据类别噪声的鲁棒性无显著差异;(5)在不平衡分类问题上,随机森林显著逊色于支持向量机。

[参考文献] (References)

[1] BREIMAN L. Random Forests[J]. Machine Learning, 2001, 45: 5-32.

[2] 方匡南, 吴见彬, 朱建平等. 随机森林方法研究综述[J]. 统计与信息论坛, 2011, 26(3): 32-38.

FANG K N, WU J B, ZHU J P, et al. A Review of Technologies on Random Forests[J]. Statistics & Information Forum, 2011, 26(3): 32-38. (in Chinese)

[3] VAPNIK V. The Nature of Statistical Learning Theory[M]. New York: Springer-Verlag, 1995.

[4] FRANK A, ASUNCION A. UCI Machine Learning Repository[DB/OL]. http://archive.ics.uci.edu/

ml.

[5] LIAW A, WIENER M. RandomForest: Breiman and Cutler's random forests for classification and

regression[CP/OL]. http://CRAN.R-project.org/package=randomForest.

[6] EVGENIA D, KURT H, FRIEDRICH L, et al. E1071: Misc Functions of the Department of

Statistics[CP/OL]. http://CRAN.R-project.org/package=e1071.

[7] CHANG C C, LIN C J. LIBSVM: A Library for Support Vector Machines[J]. ACM Transactions on

Intelligent Systems and Technology, 2011, 2(3): 27:1-27:27.

[8] KEERTHI S S, LIN C J. Asymptotic Behaviors of Support Vector Machines with Gaussian Kernel[J]. Neural

Computation, 2003, 15(7): 1667-1689.

[9] LIN H T, LIN C J. A Study on Sigmoid Kernels for SVM and the Training of non-PSD Kernels by SMO-type

Methods[R]. Department of Computer Science, National Taiwan University, 2003.

[10] MENKE J, MARTINEZ T R. Using Permutations Instead of Student’s t Distribution for p-values in

Paired-Difference Algorithm Comparisons[C]. Proceedings of 2004 IEEE International Joint Conference on Neural Networks 2004, 2: 1331-1335.

- 6 -

软件 2012年33卷 第6期 SOFTWARE 国际IT传媒品牌 [11] GOOD P I. Permutation Tests: A Practical Guide to Resampling Methods for Testing Hypotheses[M]. New

York: Springer, 2000.

[12] 李建更, 高志坤. 随机森林针对小样本数据类权重设置[J]. 计算机工程与应用, 2009, 45(26):

131-134.

LI J G, GAO Z K. Setting of Class Weights in Random Forest for Small-sample Data[J]. Computer Engineering and Applications, 2009, 45(26): 131-134. (in Chinese)

*作者简介:黄衍(1986-),男,福建福州人,硕士研究生,研究方向:数据挖掘与统计分析。

身份证号:350124198609140154

查伟雄(1963-),男,江西九江人,博士,教授,研究方向:交通运输与经济统计分析。 通讯地址:江西南昌华东交通大学南区国防生楼北104室 邮编:330013 联系电话: 13860683552 13755754252

0791-7045046

Email: huangyan189@163.com

- 7 -

本文来源:https://www.bwwdw.com/article/k29w.html

Top