随机森林算法

2024-07-03

随机森林算法(通用7篇)

随机森林算法 篇1

高光谱遥感在环境保护、精细农业、矿产资源调查、地震灾害应急等方面具有重要应用。其光谱数据的精确分类是实现高光谱影像精确制图的关键。然而由于光谱维数较大,且波段数据通常存在冗余与噪声,通常需要在分类之前先进行光谱的降维处理,传统的光谱降维算法有:主成分分析法[1]、基于独立成份分析的方法[2]、基于流行学习的方法[3]等。降维处理后的数据即可进行分类识别,经典的遥感影像分类方法有:基于支持向量机(SVM)的高光谱影像分类方法[4],基于神经网络的遥感影像分类方法[5],以及基于光谱角的分类方法[6]等。上述影像降维与分类是一个分离的过程,不能将降维直接参与到分类过程中,降维的同时可能损失掉对影像分类有用且贡献大的光谱波段信息。因此,光谱降维处理与分类识别应互为反馈,分类精度的高低应直接指导光谱特征的选择,反过来,光谱降维也应促进影像分类精度提高。针对上述问题,采用基于随机森林(random forest,RF)的遥感影像分类方法,在分类的过程中,通过计算不同光谱对分类结果贡献的大小,即重要性系数,选择重要性系数大的光谱波段参与分类,降低光谱维数以减少冗余与噪声,提高计算效率与光谱数据的分类精度。最后以机载AISA Eaglet高光谱成像仪获取的甘肃天水地区的高光谱遥感影像为例进行分类研究,并与经典的支持向量机分类方法比较,实验结果表明本文提出算法的有效性与鲁棒性。

1 随机森林分类方法

随机—森林是一种将弱分类器组合的分类方法[7,8,9],构成随机森林的基本分类器是决策树。决策树只有一个根节点,为全部训练数据的集合,叶节点是带有标签的数据集合,数据中的每个内部节点是一个分裂问题,它将到达该节点处的样本按某个特定属性进行分裂,从决策树的根部节点到叶节点的一条路径就形成一个分类规则。每个内部节点选择分类效果好的属性再分为2个或更多个子节点。继续这个过程直到这棵树能够分类出所有训练数据。为了产生k颗分类决策树,需要生成k个独立同分布的随机向量Θ1,Θ2,…,Θk,使用训练集Db和Θk生成第k颗决策树h(X,Θk),其中X为输入的特征向量。

定义随机森林是有多个分类回归树{h(X,Θk),k=1,…}组成的分类器,其中{Θk}是相互独立且同分布的随机向量,决定树的生长过程。最终由所有决策树投票决定输入向量X的最终输出。

随机森林组合分类器生成步骤大致如下。

(1)从原始数据集中,采用bootstrap随机抽样的方法有放回地抽取k个样本数据,并由此构建k颗分类回归树,单次未被抽到的样本组成k个袋外数据(out-of-bag,OOB)。

(2)设每个样本有n个特征,则在每一颗树的每个节点处随机抽取m个特征(m≤n),采用最好的分裂方式,在m个特征中选择一个具有分类能力的特点进行分裂。

(3)所有树都最大程度地满足生长,不进行任何修剪。

(4)将多颗决策树进行结合组成随机森林集成分类器,并对新的数据进行分类,分类结果按照树分类器的投票数而定。

2 变量重要性计算方法

变量重要性计算是随机森林算法的一个重要特点。基于袋外数据分类准确率的变量重要性计算定义为袋外数据自变量发生微弱变化后的正确分类率与变化前分类正确率的平均变动量。

假设bootstrap随机抽取样本n=1,2,…,NS,NS表示随机抽取的训练样本个数,特征Xi对分类准确率的变量重要性度量VIi按如下算法流程计算。

(1)先设置训练样本个数n=1,在训练样本上构建分类决策树T,同时将袋外数据标记为Db。

(2)在袋外数据Db上使用T对其进行分类,然后能够统计正确分类的个数Cb。

(3)对于特征Xi,i=1,2,…,N,对于Db中的特征Xi的值进行扰动,扰动后的数据集记为Dcb,使用T对Dcb数据进行分类,统计正确分类的个数Ccb。

(4)对于n=2,…,NS,重复步骤(1)~(3);

(5)特征Xi的变量重要性度量VIi可以通过以下公式进行计算。

3 实验设计与分析

3.1 数据概述

采用的高光谱数据为航空遥感平台获取的高光谱数据[10],传感器为SPECIM公司的AISA EA-GLET,光谱成像范围为400~1 000 nm,光谱分辨率为7.2 nm,光谱波段数48个,影像空间分辨率为5m。为了验证算法的鲁棒性,实验分别对农村地区的高光谱遥感影像与城市区域的高光谱遥感影像进行分类处理,研究区域位于甘肃省张掖市中部,如图1所示。

3.2 高光谱影像分类实验一

实验区域主要为农村用地,如图2所示,研究区域内主要地物包括建筑物(building)、道路(road)、裸地(bold ground)及植被(vegetation)四类地物,区域内地物情况较为简单。从影像上看,建筑物主要为平顶型农居,且建筑材料相对单一,植被主要为树木与农作物,农村道路主要为水泥硬化路面及土路,土路与裸地材料一致。不同类型地物的光谱差异明显,例如植被与建筑等,特征区分度较大。实验编写的随机森林算法主要构建了100颗决策树,树节点持续分裂的最小特征数量为10,单棵树可能分裂达到的最大深度为10。原始数据的每个像素样本有48个特征。实验分别选取了建筑物、植被、道路及裸地4类样本,通过随机森林分类器进行分类识别,分类结果如图3所示,分类精度为86.1%[图3(a)],耗时6.083 s。

实验中通过袋外数据的扰动进行了特征重要性统计,如图3(b)所示,每个波段特征对分类的贡献大小不同,贡献最大的权重系数在5.2,贡献最小的在1.1,其中,特征重要性系数为1.1的波段有7个,重要系数为1.2的波段有6个,呈连续状态分布,且主要集中在重要系数为小于均值1.7的波段。这些表明不同波段特征之间是存在冗余与噪声。实验删除了重要性系数小于均值1.7部分连续的特征波段,然后将剩余数据波段作为变量重新输入随机森林分类器进行分类识别,其分类精度提高了5.1%,分类结果如图4所示。如图4(a)黑色方框内,原来误分为裸地的植被重新分类为植被,分类精度为:91.2%,耗时5.925 s。

图3随机森林算法分类后结果及波段重要性系数计算Fig.3 The classification result by RF and the importance coefficient of bands calculated

3.3 高光谱影像分类实验二

实验采用与上述实验3.2相同的技术流程对城市用地进行了分类识别,即先对原始影像数据进行分类,然后将重要性小于2.0的波段剔除,并将剩余波段重新进行分类。研究区域内地物类型主要为建筑物、植被、裸地及道路等。场景内情况较为复杂,不同类型的建筑用材料并不相同,有水泥混凝土、人工彩钢屋顶,并且部分屋顶上面附有不同类型的装饰;植被主要为树木及城市绿地;道路材料主要为理清及水泥路面等。实验分别采用随机森林分类算法及基于可支持向量机的分类算法进行对比实验,如图5所示,从实验结果上看,基于随机森林算法的分类能力要优于SVM分类算法,分类精度提高4.8%。

4 结论

对随机森林算法应用于高光谱影像的分类识别研究进行了有意义的探索,较传统的分类识别算法不同的是随机森林算法在分类的过程中对每个特征参与分类的重要性进行评估计算,并给出相应权重系数。可以选择权重系数较大的特征进行重新分类,进一步提高分类精度与计算效率。由于高光谱影像获取时受场景环境的影响,例如光照、阴影等因素的影响,容易存在不同地物光谱辐射值相似等情况,因此,对于如何提高光谱特征差异,获取地物图像的本质特征,进一步提高分类识别的精度,有待于进一步研究。

摘要:高光谱数据具有光谱范围广,光谱分辨率高等优势,可以用于不同地物的分类识别,为近年来遥感领域的研究热点。采用随机森林算法对机载高光谱数据进行了地物分类识别研究,首先选取不同种类的地物样本,并对每类样本打上类别标签,每个像素包含的波段数即为样本的特征数,送入随机森林分类器进行训练;然后将训练好的分类器对待分类的高光谱影像数据进行分类,待分类的数据初始化为统一的类别标签;并根据袋外数据自变量的扰动对分类精度的影响,计算不同波段特征对分类效果的重要性系数。实验采用C++语言结合Intel Open CV计算机视觉库,编写了高光谱影像分类识别程序,对机载AISA高光谱传感器获取的甘肃省张掖市农村与城市影像数据进行分类,结果表明本文算法具有较高分类精度和可靠性。

关键词:高光谱遥感,随机森林,特征选择

参考文献

[1] Prasad S,Bruce L M.Limitations of principal components analysis for hyperspectral target recognition.IEEE Geoscience and Remote Sensing Letters,2008;5(4):625-629

[2] Villa A,Benediktsson J A,Chanussot J,et al.Hyperspectral image classification with independent component discriminant analysis.IEEE Geoscience and Remote Sensing Letters,2011;49(12):4865-4875

[3] Bachman C M,Ainsworth T L,Fusina R A.Exploiting manifold geometry in hyperspectral imagery.IEEE Transactions on Geoscience and Remote Sensing,2005;43(3):441-454

[4] Bazi Y,Melgani F.Toward an optional SVM classification system for hyperspectral remote sensing images.IEEE Transactions on Geoscience and Remote Sensing,2006,44;(11):3374-3385

[5] Ratle F,Camps-Valls G,Weston J.Semi-supervised neural Networks for efficient hyperspectral image classification.IEEE Transactions on Geoscience and Remote Sensing,2010;48(5):2271-2282

[6] Park B,Windham W R,Lawrence K C,et al.Contaminant classification of poultry hyperspectral imagery using a spectral angle mapper algorithm.Biosystems Engineering,2007;96(3):323-333

[7]姚登举,杨静,詹晓娟.基于随机森林的特征选择算法.吉林大学学报(工学版),2014;44(1):137-141Yao D J,Yang J,Zhan X J.Feature selection algorithm based on random forest.Journal of Jilin University(Engineering and Technology Edition),2014;44(1):137-141

[8]周绮凤,洪文财,杨帆,等.基于随机森林相似度矩阵差异性的特征选择.华中科技大学学报(自然科学版),2010;38(4):58-61Zhou Q F,Hong W C,Yang Fan,et al.Feature selection of random forest-based proximity matrix difference.J Huazhong Univ of Sci&Tech(Natural Science Edition),2010;38(4):58-61

[9] Breiman L.Random forests.Machine Learning,2001;45(1):5-32

[10]肖青,闻建光.黑河生态水文遥感试验:可见光近红外高光谱航空遥感(2012年7月7日).中国科学院遥感与数字地球研究所,2012Xiao Q,Wen J G.HiW ATER:visible and near-infrared hyperspectral radiometer(7th,July,2012).Institute of Remote Sensing and Digital Earth,Chinese Academy of Sciences,2012

随机森林算法 篇2

针对上述缺陷,本文将具有较强预测性的Kalman算法与双级联随机森林分类器结合起来,利用Kalman算法对目标进行跟踪,一方面将具有可靠置信度的跟踪结果作为检测器的正样本输入,防止分类器对错误样本的学习,导致外观模型构建时误差的累积;另一方面以目标位置为中心扩展一定范围作为检测器的检测区域,则有效缩小了检测模块的检测范围,提高算法实时性和检测的准确性。同时双级联随机森林分类器以主方向模板作为检测特征,利用全局随机森林分类器和局部随机森林分类器逐级进行分类,充分考虑了目标的局部和整体信息,具有分类速度快、检测精度高的特点。

1 基于Kalman算法的目标跟踪

卡尔曼滤波器[7]在最小均方误差的准则下,利用一组数学方程采用递归的计算方法对目标的下一状态进行有效的估计,并能根据当前的观测值修正预测结果,是一个不断预测-修正的过程,具有无偏、稳定、最优的特点。因此本文选择其作为跟踪算法,这样在目标发生遮挡、形变等情况时,仍能实现对目标的有效跟踪。

1.1 数学模型

在建立Kalman滤波的数学模型时,假设所有的噪声为高斯白噪声,并且目标在相邻两帧间的运动为匀速运动。在建立Kalam滤波器中的状态向量和观测向量时,本文充分利用了每帧图像中目标中心位置的相关参数,包括目标中心在水平方向的坐标值px和竖直方向上的坐标值py,以及目标在水平方向的速度vx和竖直方向上的速度vy,具体见下式

Kalman滤波的计算过程如下:

第一步建立目标的状态方程

第二步预测系统状态的协方差

第三步计算卡尔曼增益

第四步计算系统最优估值。设定以中的预测位置(px,py)为中心的区域为目标检测区域,利用双级联随机森林分类器进行目标检测,寻找最佳的目标位置,结合此时目标的运动状态,得到实际测量值zk。

最后修正协方差矩阵

式(2)~(6)中,为k时刻的系统状态向量;为k时刻的系统预测状态向量;zk为k时刻的系统的观测向量;A为k-1时刻到k时刻的系统状态转移矩阵;H为观测矩阵,有

同时由于状态转移噪声wk-1和观测噪声vk被假设为2个相互独立的零均值高斯白噪声,则状态转移噪声和观测噪声的协方差矩阵分别为Q=10-5I4,R=10-1I2,其中I4为4×4的单位矩阵,I2为2×2的单位矩阵。

1.2 确定检测区域

检测器的搜索策略是基于滑动窗口的扫描机制,往往需要遍历整个图像,这种方法计算量大,如1帧420×320的图像,仅有10%的子窗口为目标,其他90%的子窗口只包含部分目标甚至不包含目标。因此本文充分利用Kalman算法的预测性对检测器的搜索范围进行预估,从而提高检测速度。以Kalman算法的最优估计值为圆心,以2倍的目标半径为半径,确定目标搜索范围。如果在这一范围仍然没有搜索到目标,则将搜索范围扩大1倍。

2 在线目标分类器

双级联随机森林检测器以主方向模板特征[8]为目标的表征特征,同时利用全局检测器(Holistic Detector)和局部检测器(Patch-based Detector)实现对目标全局信息和局部信息的融合,进而实现多层检测[9],具有检测精度高、运算时间短的特点。方法的主要流程如图2所示。

2.1 分类器训练与更新

级联随机森林分类器分两级对目标进行分类检测,所以在训练分类器时也要分为两步,即对全局随机森林分类器的训练和对局部随机森林分类器的训练。首先训练全局随机森林分类器,在初始帧标定的目标跟踪框内选择一定数量的图像块作为正样本,目标框外随机选择图像块作为负样本,得到相应的样本集Q={Ii,yi},其中Ii表示第i张样本图像,yi表示第i张样本图像的标签(yi=1表示为正样本;yi=0表示为负样本),从每张样本图像中提取主方向模板特征,按照主方向模板匹配算法定义的树节点分裂函数,单独训练每棵树,直至满足以下条件则停止节点的分裂:1)达到树的最大深度depthmax=10;2)节点中样本数达到最小值nummin=20;3)节点中样本全为正样本或全为负样本[9]。

对局部随机森林分类器的训练方法与全局随机森林分类器相似,不过选取的样本图像块尺寸更小,并且在考虑图像块主方向模板特征的同时,将图像块中心相对样本目标块中心的位置偏移量加入到分裂函数中。对每棵树单独训练,当满足下列条件时,停止对节点的分裂:1)达到树的最大深度depthmax=15;2)节点中样本数达到最小值nummin=10。

在目标跟踪过程中,目标的外观会不断发生变化,因此外观模型也要做出相应的更新,具体来说就是不断用置信度满足要求的正样本更新随机森林决策树。将Kalman跟踪到的新样本和分类器检测到的新样本加入到决策树的生长过程中。在分类器的学习过程中,如果随机森林的某个分支对应的检测结果是错误样本,表明该分支已经不能表征目标的外观信息,可以对其进行修剪[9]。

2.2 目标检测

检测阶段,利用滑动窗口扫描策略在Kalman算法确定的待检测范围内进行顺序扫描,得到窗口样本S;然后将S放入全局随机森林分类器的T棵树中(全局随机森林中T=10),得到窗口S在随机森林每棵树中得分的平均值,即score值

式中:P表示正样本;stP,stN分别表示第t棵树叶子节点中正负样本数。选择score值高的前n个窗口作为局部检测器的候选检测区域。

在前n个窗口确定的检测区域映射到第二层高尺度空间,然后利用局部随机森林分类器在高尺度空间进行局部检测。首先利用大小16×16的扫描图像块pm进行扫描,记录每个扫描图像块的位置x及特征信息f,然后才有局部随机森林分类器对每个窗口的扫描图像块进行分类,并计算图像块pm对可能目标中心的投票分值

其中:DL为图像块pm达到的叶子节点的偏移向量集合,并利用高斯Parzen窗来估计每个图像块偏移向量的投票概率;x-di表示图像块pm的一个投票位置;CL为该叶子节点中正样本比率。对于DL集合,最后在所有图像块都分类完毕后,用每个图像块的score值除以T,得到最终Hough图,通过聚类算法确定目标的最终位置。

3 实验结果及其分析

本文选用了3组不同场景下具有代表性的测试视频Suv,sylvester,trellis,包含了在对目标长时间跟踪过程中可能出现的各种严峻的情形,比如目标部分遮挡或全部遮挡、目标发生二维和三维旋转、光照变化、目标快速运动,以及存在相似目标等。选择经典的TLD[4]和CT[10]跟踪算法作为对比算法,利用Open CV2.4.9在Visual Studio 2010平台上实现。

3.1 评估准则

本文从定性和定量两个方面评估算法的性能,在进行定量分析时采用精度和成功率作为评价指标,对跟踪算法的鲁棒性进行评估。

精确度图:采用精确度图对算法的整体跟踪精度进行评估,其能够显示跟踪的目标位置在给定的实际目标位置的某一阈值范围之内的帧数占总帧数的百分比。为了对每个跟踪器进行具有代表性的精度评分,本文选用阈值等于20 pixel时每个跟踪器的精度值进行比较。

成功率图:首先计算重叠率S大于给定t0阈值的成功帧的数量。重叠率定义为S=γt∩γa/γt∪γa,其中γt为跟踪框,γa代表目标的真实区域框,∩和∪分别表示两个区域的交集和并集,·指其区域内的像素点个数。然后绘制成功率图,即阈值t0从0到1变化时成功帧所占的比例。使用每一个成功率图的曲线下面积对跟踪算法进行比较排序。

鲁棒性评估:在对跟踪算法进行鲁棒性评估时,根据第一帧中的准确位置进行初始化,然后在一个测试序列中运行算法,最后得出平均精确度或成功率的结果报告,即一次通过的评估(One-Pass Evaluation,OPE)。

3.2 结果分析

本文算法的实验参数设置为:全局随机森林分类器大小T=10棵树,每棵树最大深度为10,局部随机森林分类器大小为T=15棵树,每棵树最大深度为15。对于其他两种跟踪算法均采用原文中的参数设置。

3.2.1 整体性能

每一个跟踪算法的整体性能以成功率图和精确度图的形式展示在图3中。右上角为排序结果。通过图3可以发现,不管是在成功率图还是在精度图中,本文提出的算法整体性能较优异,这说明本文算法具有较强的鲁棒性。但是在精度图中,本文算法的性能略低于TLD算法,这是由于受Kalman滤波器预测结果的限制,本文算法的检测区域较TLD的检测区域小,降低了跟踪精度。但是本文算法的成功率明显高于TLD和CT算法。

3.2.2 基于跟踪序列特性的性能分析

抗遮挡能力:图4为各个跟踪算法在Suv视频序列中的跟踪效果截图。由于TLD算法和CT算法缺少遮挡判断机制,在目标遮挡时,仍然更新目标模型,产生错误的目标样本,所以在目标被遮挡时,跟踪框发生严重漂移;而本文算法在目标发生遮挡时,利用Kalman算法对目标下一帧可能出现的区域进行评估,并且利用获得的目标样本不断更新级联随机森林分类器,实现了对目标稳健的跟踪。

处理二维、三维旋转的能力:为了测试本文算法处理目标发生二维和三维旋转的能力,在sylvester视频进行试验,在sylvester视频#600~#699帧中目标发生了各种角度的旋转,图5为各算法跟踪效果截图。结果显示,本文算法的跟踪框能够始终稳定地框定目标。这是由于本文算法选用的目标特征,能够充分考虑特征点位置和方向信息,通过不断地学习目标外观的实时形变信息,并将其应用到目标在线模型的更新中,因此在整个跟踪过程中能够鲁棒地跟踪目标。而TLD算法和CT算法的跟踪框都发生了轻微的偏移。

处理光照变化的能力:选择在trellis视频序列上测试算法应对光照变化的能力。图6为跟踪效果截图。trellis视频中背景的光照变化从弱到强再到弱,在第242帧、296帧、340帧时由于光照的改变,TLD和CT都出现跟踪漂移,而本文算法在(#179,#242,#340,#382)都表现了较强的跟踪鲁棒性。

4 结论

本文将双级联随机森林分类器结合到了Kalman跟踪算法中,根据目标这一时刻的运动状态和位置信息,利用Kalman滤波预测出目标下一时刻可能的位置,以该位置为中心,在一定的范围内,采用双级联随机森林分类器进行目标的检测,确定出目标的最终位置,并以此作为Kalman算法在下一帧中的起始位置。通过多个视频数据对本文算法和TLD算法、CT算法进行了测试,实验结果表明本文算法能有效应对跟踪过程中目标的尺度、光照、旋转、方向变化等,具备更高的跟踪精度和更快的运算速度。

参考文献

[1]WU Y,LIM J,YANG M H.Online object tracking:a benchmark[C]//Proc.IEEE Conference on Computer Vision&Pattern Recognition.[S.l.]:IEEE,2013:2411-2418.

[2]COLLINS T R,LIU Y,LEORDEANU M.Online selection of discriminative tracking features[J].IEEE transactions on pattern analysis and machine intelligence,2005,27(10):1631-1643.

[3]GRABNER H,SOCHMAN J,BISCHOF H,et al.Training sequential on-line boosting classifier for visual tracking[C]//Proc.International Conference on Pattern Recognition(ICPR).[S.l.]:IEEE,2008:1-4.

[4]KALAL Z,MATAS J,MIKOLAJCZYK K.Tracking-learning-detection[J].IEEE transactions on pattern analysis and machine intelligence,2012,34(7):1409-1422.

[5]吕枘蓬,蔡肖字,董亮.基于TLD框架的上下文目标跟踪算法[J].电视技术,2015,39(9):6-9.

[6]高帆,吴国平,刑晨,等.TLD目标跟踪算法研究[J].电视技术,2013,37(11):70-74.

[7]KALMAN R E.A new approach to linear filtering and prediction problems[J].Transactions of the ASME-journal of basic engineering,1960,82(Series D):35-45.

[8]HINTERSTOISSER S,LEPETIT V,ILIC S,et al.Dominant orientation templates for real-time detection of texture-less objects[C]//Proc.International Conference on Pattern Recognition.[S.l.]:IEEE,2010:2257-2264.

[9]向涛,李涛,李旭冬,等.基于随机森林的层次行人检测算法[J].计算机应用研究,2015,32(7):2196-2199.

随机森林算法 篇3

电力系统负荷预测是指从电力负荷历史数据及其影响因素数据出发, 运用某种数学方法去推测未来某段时间电力负荷需求情况[1]。长期以来, 国内外学者对短期负荷预测的理论和方法做了大量的研究。其中传统的方法是以时间序列预测原理为基础建立起来的预测方法, 以自回归 (AR) 方法、自回归滑动平均 (ARMA) 方法、累积式自回归滑动平均 (ARIMA) 方法等为代表[2,3]。该类方法具有所需数据少、模型简单且应用广泛的特点, 但其对原始时间序列的平稳性要求较高, 预测误差较大。

近年来, 另一类以机器学习为理论基础的智能算法开始崭露头角。其中, 人工神经网络 (ANN) 和支持向量机 (SVM) 是该类方法的典型代表。ANN理论用于短期负荷预测的研究很多, 其突出优点[4,5]是对大量非结构性、非精确性规律具有自适应功能, 具有信息记忆、自主学习、知识推理和优化计算的特点。ANN具有很强的自学习和复杂的非线性函数拟合能力, 很适合于电力负荷预测问题, 但研究过程中也表明ANN方法具有局部最优、泛化误差较大、隐单元数目难以确定等问题[6]。与ANN不同的是, SVM方法在结构风险最小化准则 (SRM) 的基础上同时最小化经验风险和VC维 (VapnikChervonenkis dimension) 的界, 在预测对象上取得了较好的泛化性能。同时, 其解决回归问题时, 最后的问题等价为一个凸优化问题, 又保证了其全局最优的特点[7,8], 这些都是在ANN预测法上取得的进步。但是, SVM方法也存在许多缺陷, 例如:核函数完全凭借经验选取, 对于核参数和惩罚参数的确定, 虽然有很多学者提出了粒子群寻优、遗传算法寻优等多种寻优手段[9], 但仍然存在着优化过程复杂、收敛速度慢等问题。总之, SVM方法在模型构造上存在太多人为决定的因素, 不利于预测精度和速度的进一步提高。

随机森林回归 (random forest regression, RFR) 算法是随机森林 (RF) 理论[10]的重要应用之一, 是Breiman L于2001年提出的一种统计学习方法。RFR算法是利用Bootstrap重抽样方法从原始样本中抽取多个样本, 对每个Bootstrap样本集进行决策树建模, 然后组合多棵决策树进行预测, 并通过取平均值得出最终预测结果。其本质是利用组合多棵决策树做出预测的多决策树模型, 该算法具有预测精度高、泛化误差可控、收敛速度快以及调节参数少等优点, 可有效避免“过拟合”现象发生, 适用于各种数据集的运算, 尤其适用于超高维特征向量空间[11]。本文将RFR算法引入负荷预测领域, 并在训练样本的选取上采用了灰色关联投影法选取相似日, 最后的实际算例表明该组合算法在预测精度和鲁棒性方面均具有突出优势。

1 加权灰色关联投影法选择相似日

加权灰色关联投影法是构建在灰色系统理论和矢量投影原理上的一种综合评价方法[12]。该方法克服了仅利用灰色关联系数评价样本关联度的劣势, 引入了加权和投影的概念, 先利用适当的加权方法突出关键负荷影响因素, 再利用历史样本在待预测日样本上的投影值来综合评价历史样本与待预测日样本的关联度, 得出与预测日相似的历史日数据集。

1) 选取影响电力负荷变化的若干关键因素, 如湿度、气温、降水、风速、日类型等m个影响因素, 则第i天样本的特征向量可以表示为:

式中:n为历史样本总数;yim为第i个样本的第m个影响因素值。

含有天气预报信息的待预测日特征向量为:

式中:y0m为待预测日特征向量的第m个影响因素值。

2) 构建灰色关联判断矩阵, 以Y0为母序列 (作为矩阵第1行元素) , Yi为子序列, 计算子序列与母序列间的关联系数, 得到如下关联度判断矩阵:

式中:Fnm为第n个样本的第m个因素对应的灰色关联度值。很显然, 该矩阵的第1行 (即母序列所在行) 元素全为1。

3) 采用熵权法[13]确立各影响因素的权重, 得到权向量如下:

式中:wm为第m个影响因素的权重值。

4) 用上述权向量对灰色关联判断矩阵加权, 得到加权灰色关联决策矩阵F′如下:

5) 将矩阵F′中的每一行视为一个行向量, 则第1行为待预测日行向量, 记为A0, 其他每个历史样本行向量记为Ai。每个样本Ai与A0向量间的夹角即是该样本的灰色投影角。因此, 各个历史日行向量与待预测日行向量的灰色关联投影值为[12]:

式中:Di为第i个样本向量在待预测日向量上的投影值;i=1, 2, …, n。

6) 根据各个历史日向量的灰色投影值按从大到小排序, 设置投影值阈值, 选择投影值较大的样本作为相似日样本集。

2 随机森林理论

随机森林是一种有监督的集成学习算法, 其核心思想是将性能较弱的多个分类回归树 (classification and regression tree, CART) 经过一定规则组合成一片森林, 结果由森林中所有的决策树投票得出。

2.1 CART决策树

CART决策树[14]是Breiman L等人于1984年提出的一种二分递归分割技术, 在每个节点 (除叶节点外) 将当前样本集分割为两个子集。CART算法所采用的属性选择量度是基尼指数 (Gini index) 。假设数据集D包含m个类别, 那么其基尼指数GD的计算公式为:

式中:pj为j类元素出现的频率。

基尼指数需要考虑每个属性的二元划分, 假定属性A的二元划分将数据集D划分成D1和D2, 则此次在子节点以某属性A划分样本集D的基尼指数为:

对于每个属性, 考虑每种可能的二元划分, 最终选择该属性产生的最小基尼指数的子集作为其分裂子集。因此, 在属性A上的基尼指数GD, A越小, 则表示在属性A上的划分效果越好。在此规则下, 由上至下不断分裂, 直到整棵决策树生长完成[15,16]。

2.2 Bagging方法和随机属性子空间抽样法

为改善CART决策树预测精度不高的劣势, Breiman L于1994年引入了Bagging (Bootstrap aggregating) 算法。该方法利用Bootstrap可重复抽样从原始训练集中为每棵CART树抽取等规模的子训练集, 研究表明[17]该方法能够有效提高不稳定基分类器的泛化能力。同时, Breiman还在随机森林理论[10]中提出:CART树在每个节点分裂时, 采用随机抽取若干属性组成属性子空间进行选择分裂。Bagging方法增强了森林中单棵决策树的性能, 而属性子空间抽样法则降低了每棵树间的相关性。结合2.3节中的定理2可知, 这正是降低随机森林泛化误差的关键。

2.3 RFR算法[10]

定义1随机森林f是决策树{h (X, θk) , k=1, 2, …, Ntree}的集合, 元分类器h (X, θk) 是用CART算法构建的未剪枝的CART;θk是与第k棵决策树独立同分布的随机向量, 表示该棵树的生长过程;采用多数投票法 (针对分类) 或求算术平均值 (针对回归) 得到随机森林的最终预测值。

定义2对输入向量X, 最大包含J种不同类别, 设Y为正确的分类类别, 对于输入向量X和输出Y, 定义边缘函数为:

式中:j为J种类别中的某一类;I (·) 为指示函数;ak为取平均函数;k=1, 2, …, n。

从式 (9) 可看出, 函数K描述了对向量X正确分类Y的平均得票数超过其他任何分类的平均得票数的最大值。因此, 边缘函数越大, 正确分类的置信度就越高。由此定义随机森林的泛化误差为:

式中:PX, Y为对给定输入向量X的分类错误率函数。当森林中决策树数目较大时, 利用大数定律得到如下定理。

定理1当树的数目增加时, 对于所有序列θk, E*几乎处处收敛于:

式中:Pθ为对于给定序列θ的分类错误率。

该定理表明随机森林的泛化误差随着树的数目增加不会造成过拟合, 而会趋于某一上界。

定理2随机森林泛化误差的上界为:

式中:和s分别为树的平均相关系数和平均强度。

由定理2可知, 随着树的相关性的降低和单棵树强度的提高, 随机森林的泛化误差上界将会减小, 其泛化误差将会得到有效的控制。因此, 提高随机森林预测精度主要有2条途径, 即降低树相关性以及提高单分类器 (即单棵决策树) 性能, 具体的RFR算法流程参见附录A。

2.4 随机森林的统计学优点

1) 随机森林仅需调整2个参数, 即森林中树的数量Ntree和每棵树选取的分裂特征数Mtry。

2) 在大数定律的保证下, 随机森林具有很高的分类准确率, 且不会出现过拟合。

3) 随机森林还有一个特点是袋外 (out-of-bag, OOB) 估计[10], 当通过Bagging生成训练子集时, 对于每一棵CART树, 原始样本集S中接近37%的样本不会出现在该树的训练子集中, 这些样本被称为OOB样本。OOB样本可以用来估计随机森林的泛化误差, 也可以计算每一特征的重要性。

3 加权灰色投影改进随机森林算法流程

综上所述, 本文提出的基于加权灰色关联投影改进随机森林算法的步骤如下。

1) 对历史样本集进行相似日选取。采用第1节中的加权灰色关联投影法, 形成具有高度相似性的相似日样本集, 样本含有11个输入特征维, 格式参见附录B。

2) 对相似日样本集进行Bootstrap重抽样, 生成k个子训练集。

3) 根据2.3节中的算法生成对应的k棵CART决策树, 在此过程中, 随机选取的特征数目取Mtry=log2 (M+1) (M为样本输入特征的维数) , 而随机森林的规模需根据预测结果调整Ntree的大小。

4) 将待预测日特征向量Y0=[y01, y02, …, y0m]输入上述随机森林模型, 求取各棵树输出的平均值, 得到负荷预测结果, 整体算法流程如图1所示。

4 预测实例及结果分析

4.1 样本数据

选取浙江电网某市2012年1月至4月期间的负荷数据作为训练样本, 2012年4月21至5月1日的负荷数据作为测试样本。需要指出的是, 2012年4月21日至22日为双休日, 23日至28日为工作日, 4月29日至5月1日为五一节假日。为突出本算法的优势, 本文选取SVM方法、未做改进的随机森林算法以及利用灰色投影选择相似日改进的随机森林 (IRF) 算法3种方法对2012年4月21至5月1日连续11d的预测结果进行预测, 并比较三者的预测精度。

4.2 误差分析标准

本文结合负荷预测实际应用需求, 选取平均相对误差e作为预测方法的效果判断依据:

式中:R (i) 和F (i) 分别为1d中某时刻实际的负荷值和预测的负荷值;n′为1d中的预测点总数;i=1, 2, …, n′。

本文以4%为判断标准, 若某点的e>4%, 则判定该点的预测结果不合格。则定义r为该工作日负荷预测结果的不合格率:

式中:N (e>4%) 为某工作日预测结果相对误差超过4%的点数。

4.3 预测结果分析

按照图1所示的算法流程, 首先通过灰色关联投影法选取待预测日的相似日训练集。如待预测日为2012年4月27日, 将2012年1月1日至2012年4月26日的历史数据作为样本数据, 每个采样时刻的数据作为一个样本集分析, 如1月1日至4月26日10:00:00样本 (共117个样本) 作为一个样本集。通过第1节所述加权灰色关联投影值的计算, 以10:00:00的样本数据为例。计算结果如图2所示。

图2中的红色数据点即是117个样本的灰色投影值, 设置投影值大于0.85 (如图中蓝色实线所示) 的55个样本作为4月27日10:00:00的相似日样本集, 用来训练随机森林模型。由2.3节中定理2可知, 加权相关系数和s是影响随机森林模型预测精度的关键因子, 而实际应用中, 在输入向量确定的条件下, 随机森林中决策树棵数Ntree及分裂特征集中的特征个数Mtry对预测精度及泛化能力有较大影响。经调试, 设定Ntree为500, Mtry为3时模型具有较好的预测效果。其他2种方法分别选取待预测日前3个月的同类型日作为训练集, 3种方法的预测精度见表1。

表2和图3展示了2014年4月27日 (正常工作日) 内的预测误差。

由于篇幅所限, 4月22日 (双休日) 、4月30日 (五一节假日) 的24h预测结果展示在附录C中。结合表1和表2可以看出, 随机森林算法的预测误差略小于SVM方法, 而经过改进的随机森林方法误差要明显小于SVM方法和未经改进的随机森林算法。在鲁棒性方面, 4月29日至5月1日为重大节假日, 在其他两种算法误差均较普通日预测出现较大误差时, 本文算法仍保持较低的误差, 显示了较强的鲁棒性。

5 结语

本文将随机森林算法应用到负荷预测领域, 同时采用灰色关联投影法选取待预测日相似日, 达到简化模型训练, 提高预测精度的目的。该算法在文中数学证明和实例分析中体现出了以下优势。

1) 充分考虑待预测日与历史日特征向量间的耦合关系, 采用投影值这一综合考虑向量模值与夹角值的综合评价指标。对训练样本进行了有效的约简, 减少了计算量, 降低了预测误差。

2) 预测模型采用随机森林算法, 文中数学证明了该算法泛化误差可控的特点。经过加权灰色关联投影筛选出的样本作为该算法的学习集, 缩小了训练集规模, 提高了预测精度。

3) 经过与SVM方法以及未经灰色关联加权选取相似日训练集训练的随机森林方法进行比较, 证明该方法有效提高了短期负荷预测系统的精度。

附录见本刊网络版 (http://www.aeps-info.com/aeps/ch/index.aspx) 。

摘要:针对短期负荷预测领域传统的机器学习算法 (如人工神经网络、支持向量机等) 存在的诸如泛化性能不强、参数和模型结构确定困难等问题, 将随机森林回归算法引入短期负荷预测领域。同时应用投影原理改进了传统的灰色关联相似日选取算法, 提出了一种基于灰色投影改进随机森林算法的电力系统短期负荷预测组合方法。基于灰色投影的相似日选取方法, 采用灰色关联度判断矩阵表征历史样本与待预测日影响因素间的关联关系, 并用熵权法确立影响因素的权重对判断矩阵加权, 最后利用各个样本关联度投影值排序得到相似日集合。采用随机森林算法建立预测模型, 利用灰色投影筛选出的相似日样本集合训练模型, 最后输入预测日特征向量 (天气预报数值、日类型等) 完成预测。以浙江电网某县级市的负荷数据作为实际算例, 并将上述方法与支持向量机方法以及未作灰色投影改进的随机森林算法进行对比。实验结果表明, 新方法具有较高的预测精度和鲁棒性。

随机森林算法 篇4

近30 年来,我国乳腺癌的发病率每年以3% 的速度增长,而且发病的群体呈年轻化,形势不容乐观[1]。其中,乳腺癌就是妇女常见的、发病率最高的、危害健康最大的一种乳腺肿瘤。然而,提高恶性乳腺肿瘤的治愈率关键在于早期诊断与治疗。近年来,利用数据挖掘技术辅助医疗诊断的研究正在发展。因此,对于数据挖掘方法的乳腺肿瘤诊断研究也就应运而生[2]。

目前,已经有学者将决策树[3]、神经网络[4]和支持向量机[5]等方法应用于乳腺肿瘤的诊断研究中。这些方法主要集中在研究如何提高整体的诊断率,但是恶性肿瘤样本总是相对少数的,提高整体的诊断率不一定是最好的方法模型,容易出现过拟合,分类不平衡现象。一旦建立好了模型,很难再调整分类器的性能,更无法考虑误差代价敏感问题。针对代价敏感问题,阮晓宏等人[6]提出了一种基于异构代价敏感决策树分类算法,考虑了不同代价在属性分裂中的作用,提出代价敏感的剪枝方法,解决信息特征值过小而忽视的属性带来的误分类代价问题。但是,单一决策树的本身缺陷,诊断率还是比较低,稳定性差。Wang等人[7]提出了一种重采样的方法改变原训练样本的分布,降低分类的不平衡性。Thai Nghe等人[8]以支持向量机作为基分类器,赋予稀有样本更大的权重,引入代价敏感思想优化分类器的性能,降低分类的不平衡性,但是泛化能力弱。

很明显上述的传统方法及其改进方法都是针对单一分类器,然而,集成分类器在很多情况下要比单一分类器的效果更好。随机森林,作为一种由多个决策树组成的集成分类器,它的每棵决策树实质上是通过引入了Bagging思想随机化训练样本构建出的一个的弱分类器。但是,当多个弱分类器组合在一起形成随机“森林”时分类效果非常惊人。具体表现为: 高效率,在短时间内可以并行地处理大量的待测样本; 良好的鲁棒性,无需特征选择就可以得到较高的确诊率,适合高维小样本数据; 不容易出现过拟合; 良好的推广和泛化能力等优势[9,10]。近年来,随机森林在网页分类、故障诊断、入侵检测等领域都得到了应用,已经成为数据挖掘和机器学习的热点[11]。但是,随机森林算法也存在一些缺陷,没有针对误差代价不平衡问题进行考虑,其简单的相对多数投票法有个致命的缺陷就是在两类的投票结果非常相近时,误诊的可能性比较大。对此,Chen等人[12]提出了平衡随机森林和加权随机森林两种方法解决不平衡分类问题。平衡随机森林采用上采样法,增加稀有类的数据,使得训练数据达到平衡,这种改变正负类样本的分布方式必将影响到“森林”中树的结构。而加权随机森林方法是在平衡随机森林的基础上得到的,为稀有类增加权重,该方法对噪声数据较敏感。以上对随机森林的改进方法在一定程度上具有很好的分类效果,无疑也增加了算法的复杂度,有违随机森林简化问题的初衷。如何评价某种分类模型的性能,简单地通过正确率和错误率已经不足够评价不平衡分类问题,对于具体问题还要具体分析。由于ROC曲线评价法具有简单、直观、对于分类的界限值不固定、可以完成不同实验在同一个坐标下的比较等优点。Joshi[13]等人指出针对不同类别的误差代价不同,使用ROC曲线评价分类器的性能更适合。倪俊[14]等人提出了使用ROC曲线分析常用的乳腺癌诊断方法性能。所以,ROC曲线也叫受试者工作特性曲线,是医学诊断性能评价的重要指标。然而,ROC曲线是由查全率( TPR) 和误警率( FPR) 构成的曲线,故改进随机森林的乳腺肿瘤诊断模型的关键是在阈值点,尽量增大TPR,减小FPR的值。

有鉴于此,对于威斯康辛大学医学院整理的乳腺肿瘤病灶组织的细胞核显微图像的量化特征数据集,其样本数据相对不平衡,但是如果将恶性肿瘤样本错误分为良性肿瘤样本造成的误差代价远远高于将良性肿瘤样本错误分为恶性肿瘤样本的误差代价。故针对乳腺肿瘤误差代价敏感问题,提出了一种改进的随机森林算法的乳腺肿瘤诊断模型。首先,在CART算法、Bagging算法的基础上,产生了随机森林算法,分析随机森林的决策树棵树和随机分裂属性的个数对诊断性能的影响。其次,考虑单分类器的分类性能及他们之间的关联度对特定类别的识别影响。对随机森林的投票评价性能的指标进行了推导及改进,简化算法的复杂度,达到参数可调,并给出优化分类器性能的调整基准,提高对恶性肿瘤的识别能力。

1 Bagging算法

1. 1 CART算法

CART模型最早是由Breiman等人提出的,采用递归的方式将输入空间分割成矩形,使用Gini指标[15]最小的属性作为分裂节点,最终以二叉树的形式展现。这种方法构建的决策树清晰、直观、易于理解,而且大大减少了建模的时间。但是,由于CART树在递归的过程中,需要对其进行剪枝,无疑增加了算法的复杂度,由于过度分割输入空间,易出现过拟合现象,导致分类器具有泛化能力弱,稳定性差等缺陷。Breiman指出CART算法由于其不稳定性,通过集成得到的集成分类器可以显著提高分类器的性能。

1. 2 Bagging算法

Bagging算法也是由Breiman根据Bootstrap思想提出的一种由决策树集成的算法[16]。它是采用Bootstrap重采样方法得到不同的Bootstrap训练样本集训练基分类器。Bootstrap的数学模型: 假设集合S中含有n个不同的样本{ x1,x2,…,xn} ,若每次有放回地从集合S中抽取一个样本,一共抽取n次,形成新的集合S*,则集合S*中不包含某个样本xi( i = 1,2,…,n) 的概率为,当n → ∞ 时,有。这表明每次抽样时原样本中约有36. 8% 的样本未被抽中,称这部分未被抽中的样本为袋外数据OOB。

Bagging的算法流程如下:

1) 采用Bootstrap方法进行重采样,随机产生k个训练集S1,S2,…,Sk,这里构造不同的训练集目的是为了增加分类模型间的差异,提高组合分类模型的外推预测能力。

2) 利用每个训练集并行地生成对应的CART算法的决策树C1,C2,…,Ck。

3) 利用测试集样本X对每个决策树进行测试,得到对应分类结果C1( X) ,C2( X) ,…,Ck( X) 。

4) 采用相对多数投票法,根据k个决策树输出的类别结果,由决策树棵数多的类别作为测试集样本X所属的分类结果。

Bagging算法基本思路如图1 所示。

2 随机森林算法( RFA)

随机森林算法是由Breiman提出的一种统计学习理论[17]。实质上是一个包含多个决策树{ h( X,θk) ,k = 1,2,…,K} 的组合分类器,其中{ θk} 是随机向量,服从独立同分布的特性,决定了决策树的形式; K表示随机森林中决策树棵树。它主要利用Bagging方法产生Bootstrap训练数据集,利用CART算法产生无剪枝的决策树。最终采用简单的相对多数的投票方式,根据决策票数H( x) 多的类别作为最终样本所属类别。

2. 1 随机森林的算法流程

在Bagging算法基础上得到的随机森林算法的具体流程如下:

1) 原训练集中有n个样本,采用Bootstrap方法进行重采样,随机产生k个训练集S1,S2,…,Sk。

2) 对于每个训练样本集,通过如下过程生成不剪枝CART树:

( 1) 假设训练样本的属性个数为M,mtry为大于零且小于M的整数,从M个属性中随机抽取mtry个属性作为当前节点的分裂属性集,在森林生成过程中,保持mtry不变。

( 2) 根据Gini指标从mtry个属性中选出最好的分裂方式对该节点进行分裂。

( 3) 每棵树都完全成长,无剪枝的过程。最后根据每个训练集生成的CART树分别为C1,C2,…,Ck。

3) 利用测试集样本X对每个决策树进行测试,得到对应分类结果C1( X) ,C2( X) ,…,Ck( X) 。

4) 采用相对多数投票法,根据k个决策树输出的类别结果,由决策树棵数多的类别作为测试集样本X所属的分类结果。

2. 2 随机森林的收敛性

为构造k棵决策树,则由相互独立且同分布的随机向量C1,C2,…,Ck构成的分类器为h( x,Ci) ,简记为hi( x) 。假设输入向量为x,输出类别为y,定义样本点为( x,y) 的余量函数为:

式中I(·) 为示性函数,当函数I(·) 的括号中等式成立时,其值为1,否则为0; avk表示取平均值。

此余量函数用于评估平均正确分类数超过平均错误分类的程度,该值越大,分类结果的可靠性越强。

设随机森林的泛化误差为PE*[17]:

在随机森林中,如果决策树的个数足够多时,式( 2) 遵循强大数定理。

定义1 在随机森林中,随着决策树的数目增加,所有序列为 θ1,θ2,…,θk,PE*几乎处处收敛于随机森林的边界函数:

定义1 表明随着决策树的增加,随机森林不会产生过拟合现象。但是可能会产生适度范围内的泛化误差。随机森林中决策树的数量是个可调的参数,对于随机森林分类器的性能具有一定的影响。如果建立的决策树的个数不足,则模型得不到充分训练,分类器性能就会下降; 如果建立的决策树个数过多,不仅增加了计算量和训练时间,而且达不到提高分类性能的目的。

定义2 基分类器的边界函数为:

定义3 随机森林的泛化误差PE*范围:

其中,表示树之间的平均相关度; s表示树的分类性能。详细的推导过程见文献[17]。

由定义3 可得降低泛化误差的上界的关键是提高树的分类性能和降低树之间的相关度,进而提高了随机森林的分类性能。

2. 3 改进的随机森林算法( IRFA)

Breiman提出的随机森林算法的泛化误差范围是假设决策阈值固定,分类误差代价相同的情况下得出的,并没有对分类误差代价不同的情况进行分析。针对二分类问题,可以将正负样本分开对待,在随机森林算法的基础上,优化分类器性能,改进随机森林算法。讨论不同决策阈值下,树之间的平均相关度,树的分类性能s对不同误差代价区域的分类性能的影响,并给出改进随机森林算法的基准。

对于二分类问题的性能评价指标有如表1 的分类情况。

根据表1 可定义如下式子评估分类器性能。

其中,Accuracy表示整体分类的准确率; TPR表示所有1 类样本中正确分类率,简称为查全率; FPR表示所有0 类样本中错误分类率,简称为误警率。

针对二分类的余量函数mg( x,y) 可以表示为:

则在此改进的随机森林算法中,当输入样本为x时,不仅仅通过简单的相对多数票数的H( x) 进行投票,而且通过如下评分函数进行控制评估多个投票结果:

其中,K为决策树的总数目,为了防止评分结果相同,通常K取奇数。hk( x) 为第k个决策树所投票的类别。显然,评分函数的值域为[- 1,1],且直接与上述随机森林的余量函数有关。将正负样本分开对待,当样本类属于1 类,即y = 1 时,评分函数值和边缘数值相等,即score( x) = mg( x,y) ; 当样本类属于0 类,即y =0 时,评分函数值和边缘数值相反,即score( x) = - mg( x,y) 。评分函数是根据中心极限原理,在一定条件可以渐近服从正态分布。如图2 表示在不同类别下的评分函数图。

如图2 所示,根据评分函数的分布,正负样本分开考虑后的u0和u1将该评分曲线分为三个区域。设置一个阈值t ,将评分曲线分成两部分,最大化TPR的同时还要考虑相对FPR的最小化,找到合适的阈值点是实验的关键。随着阈值的变化,通过扫描,将不同阈值t下分类器的TPR( 纵坐标) 和FPR( 横坐标) 的值映射到随机森林的ROC曲线上( 如图3 所示) 。

基于评分函数与边界函数的关系,这里设不同类别的分类性能分别为s0和s1。

其中,ui为类i的评分函数的期望; ni为类i的样本个数。由上式可知,这里将分类器的整体分类的性能s设为不同类别的分类性能的加权平均。

由式( 6) 可知,边界函数的方差 σ2与样本之间的平均相关度( ρ-) 和树的分类性能( s ) 有关。其关系如下:

则针对正负样本有:

在构建ROC曲线的过程中,在给定阈值t下,TPR表示所有1 类样本的正确率,即1 类评分函数构成的评分分布曲线中超过阈值t的区域; FPR表示所有0 类样本的错误率,即0 类评分函数构成的评分分布曲线中超过阈值t的区域( 如图2 所示的阴影部分) 。分别可表示为:

其中,Z0和Z1分别表示0 类和1 类评分分布函数的变量。

利用单边切比雪夫不等式来设置式( 15) 中FPR和TPR的上界值。单边切比雪夫不等式为:

其中,u、σ2分别为变量Z的均值和方差。假设t = k + u ,则式( 16) 可表示为:

使用1 同时减去式( 17) 的两边,得t < u时的不等式:

当t ∈[u0,1]由式( 11) 、式( 12) 、式( 15) 和式( 17) 可推得:

在评分函数中,u0和u1将区间[- 1,1]分为三个区间[- 1,u0]、[u0,u1]和[u1,1]这3 个子区间,根据式( 12) 、式( 15) 和式( 17) 设定知阈值t所属的区间是不同,则对应区间[- 1,- s0]、[- s0,s1] 和[s1,1] 中FPR和TPR的上界和下界。如表2所示。

由表2 的推导结果可知,FPR和TPR的理想特性边界是由平均相关度和树的分类性能( s ) 决定的。通过推导这些区域的FPR和TPR的边界,可以有效地为优化分类性能提供参考。例如针对区域Ⅰ,当分类性能s0一定时,减少0 类样本之间的平均相关度,就可以达到减少FPR的上界; 同理,增大1类样本的,就可以增大TPR的上界,进而提高分类的性能。这种方法不一定提高整体的分类性能,但是针对指定的类别,可以调整参数,最小化指定类的分类误差,增大指定类的识别能力。

3 构建IRFA的乳腺肿瘤诊断模型

乳腺肿瘤的诊断问题也就是一个二分类问题。本文的乳腺肿瘤诊断的数据集来源于威斯康辛大学医学院整理的量化特征数据集,包含569 个病例,其中,良性乳腺肿瘤357 例,恶性乳腺肿瘤212 例。数据集中包含乳腺肿瘤的细胞核图像的10 个属性( 细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度) 。而且每个属性包含3 个属性值( 平均值、标准差和最坏值) ,共有30 个字段。另外,还有1 个字段为病例编号,最后1 个字段是确诊分类结果,其中数字“0”为良性,数字“1”为恶性。该数据库中各个量化特征与肿瘤性质都具有密切的联系,从而根据细胞核显微图像的量化特征利用数据挖掘的技术可以智能的诊断乳腺肿瘤是良性还是恶性的。

该实验的硬件环境是Windows7 系统,i5-3230M CPU,4 GB RAM,500 GB硬盘,算法运行的软件环境为MATLAB 2010 版本。根据以上推导得分类决策的评分函数为:

由评分函数分布图( 见图2) 和上节推导过程可知,如果单分类器的分类性能一定时,调整相应类别的平均相关度时,可以改变评分函数的分布,进而改变FPR和TPR的上界值。这里给出不同区域的平均关联度的调整基准( 如表3 所示) :

基于改进的随机森林算法实现步骤:

Step1 采集数据。采用Bootstrap方法随机化乳腺肿瘤训练集S1,S2,…,Sk,将袋外数据( OOB) 作为测试集T 。

Step2 模型训练。设置参数: 决策树棵树k,随机选择属性的个数mtry 。

① 训练集Sk含有M个属性,随机抽取mtry个属性作为当前节点的分裂属性集,形成新的训练集Sn。② 利用CART算法训练数据集Sn构建决策树,完全成长不进行剪枝。

Step3 循环k次以上Step1 和Step2 步骤,构建k棵决策树,得到一个随机森林模型。

Step4 预测仿真。① 对测试集T每个样本X进行预测仿真,k棵决策树得到k个决策类别结果。② 计算评分函数score,根据评分结果得到最后样本X所属类别。

Step5 建立100 个随机森林模型,计算当前设置参数的随机森林模型的平均值Accuracy、FPR和TPR的值,确定最佳k和mtry的值。

Step6 通过调用[tpr,fpr,t] = ROC( score,target,Lp,Ln) 函数,分析不同阈值t的分类器的性能影响,绘制ROC曲线。根据仿真实验对比表3 的参考基准,调整不同区域的平均关联度,再次重复以上步骤。

为了验证改进算法的可行性,将实验分为两组: 第一组是UCI标准数据集上的实验; 第二组是详细分析IRFA在威斯康辛大学医学院整理的乳腺癌数据集上的实验应用。

4 实验结果及分析

4. 1 UCI数据集的实验分析

为了测试改进的算法的性能,首先选择UCI带标签的二类数据集进行实验,而且选择样本数分布严重不平衡和相对不平衡各两组数据集。四组数据集分布如表4 所示。

将上述数据集运用于RFA和IRFA的模型中进行验证,最终得到的ROC曲线结果如图4 所示。

由图4 的实验结果可得,IRFA相对RFA模型的分类性能明显有所提高。样本分布的不平衡性越高,可提高的幅度也就越大,虽然在负类样本与正类样本的不平衡比较低的情况下,TPR的值提高幅度较小,稳定性强,但是在靠近左上角的阈值点处,IRFA算法的TPR值都得到了很大提高,这也就为最大化正类样本的识别率提供了突破点。

4. 2 乳腺肿瘤数据集的应用实验结果详细分析

通过在UCI数据集上的验证,对此详细分析改进的随机森林算法IRFA在本文的乳腺肿瘤数据集上的实验,首先,分析建立决策树的数目。这里设置决策树的数目分别为51、75、101、151、201、251、301,得到不同的随机森林模型。为了减少随机性对随机森林的性能的影响,针对不同决策树棵树,建立100 个随机森林模型,然后取其平均值,作为当前的分类结果。经过多次训练,得到不同决策树数目下的随机森林模型的整体分类的准确率( Accuracy) 、查全率( TPR) 和误警率( FPR) 。记录的实验结果如表5 所示。

由表5 可得,当决策树小于201 时,随着决策树棵树的增加,Accuracy和TPR的值也在增大,而FPR的值在降低。当决策树大于201 时,随着决策树的数目增加,Accuracy的值保持不变,但是TPR和FPR的值一直在变化,当决策树等于201 时,Accuracy和TPR的值达到最大,而且FPR值也相对较小。很明显,在随机森林的训练中,这里选择决策树的数目为201 棵。

随机选择属性数量的分析: 对于“森林”中的CART树,一个重要特点是通过在每个分裂节点随机选择属性的方式引入了随机性,从M个属性中随机抽取mtry个属性作为当前节点的分裂属性集。为了评价分裂属性集的属性个数对分类性能的影响,在随机森林中的决策树数目为201 时,设置不同的mtry值分别为2、3、4、5、6 进行训练,构建随机森林模型。表6 记录了不同mtry所得到的Accuracy、TPR和FPR的值。

由表6 可得,mtry = 5 时,Accuracy和TPR的值都达到最大,故这里选取mtry为5。

ROC曲线的分析: 根据以上得到的结果,选择决策树数目为201,mtry为5。针对本文的乳腺肿瘤的诊断要求,改进随机森林算法,由评分函数阈值的取值范围为[- 1,1],分别将决策阈值设置为1、0. 8、0. 7、0. 5、0、- 0. 5、- 0. 8、- 1。在不同阈值下,对随机森林进行训练,得出分类结果的Accuracy、TPR和FPR的值,并将得到的TPR和FPR的值绘制成ROC曲线( 如图5 所示) 。

由图5 所得的八个点从左到右分别表示在决策阈值t为1、0. 8、0. 7、0. 5、0、- 0. 5、- 0. 8、- 1 的情况下,所得的TPR和FPR的值。随着决策阈值t的减小,TPR和FPR的值都在增大,当t = 0. 5 之后,TPR的值相差不大,几乎可以认为保持不变,但是FPR却一直在增加。根据ROC曲线原理,越靠近左上角的点,分类性能越好,此时也就是最好的阈值点。故根据实验结果应选择t = 0. 5。此时,在满足TPR最大时,FPR相对也比较小。

此时,RFA选择的决策树数目为201,mtry为5,决策阈值t为0. 5。根据表3 的基准调整RFA相应的平均关联度,得到的改进随机森林算法( IRFA) 用于再次训练。在同样条件下,利用单一分类器( CART决策树) 、Bagging算法和随机森林( RFA) 算法训练乳腺肿瘤数据集,得到的方法模型进行比较分析,统计Accuracy、FPR和TPR的值( 如表7 所示) 。

根据表7 记录的实验结果可得,随机森林算法相对上述的单一分类器( CART决策树) 及Bagging算法的诊断效果明显要更好。在RFA的基础上,IRFA整体诊断精度也略有提高,虽然提高的幅度不大,但是相对RFA,IRFA得到了较高的TPR值,而且提高了2. 853% 。实验表明,在保证整体诊断精度的前提下,IRFA明显提高了对恶性肿瘤的诊断精度。最后,为了更加直观地说明IRFA在RFA的基础上具有更好的诊断性能,将两种方法的ROC曲线绘制在一个坐标进行比较( 如图6 所示) 。

5 结语

本文综合考虑随机森林的决策树棵树和随机分裂属性的个数对乳腺肿瘤的诊断性能的影响,在随机森林的基础上,将正负类样本分开考虑,提出了改进的随机森林算法的乳腺肿瘤诊断模型。增加了决策阈值的参数,根据随机森林的泛化误差推导出了FPR和TPR的上界调整基准,绘制ROC曲线,进一步优化随机森林对恶性肿瘤的诊断性能。仿真结果证明了该方法模型相对随机森林算法有所改进,最重要的是根据需要,参数可调。在保证整体的诊断性能的前提下,针对代价敏感问题,可以优化特定类别样本的识别性能,为细胞核显微图像诊断识别乳腺肿瘤提供重要参考价值。

摘要:为了解决乳腺肿瘤诊断中误差代价敏感的不平衡分类问题,提出一种改进的随机森林算法的乳腺肿瘤诊断模型。首先,在随机森林算法的基础上,将良恶乳腺肿瘤样本的诊断性能分开考虑,利用随机森林的泛化误差上界相关因素推导出ROC曲线的查全率(TPR)和误警率(FPR)的上界值。给出针对特定类别优化分类性能的基准,绘制出不同决策阈值下的TPR和FPR值的ROC曲线,调整平均关联度,再次训练,依据ROC曲线性能,确定最优平均关联度的诊断模型。最后,将该改进的随机森林算法与传统方法的诊断性能进行对比。实验结果证明,提出的方法模型在保证整体的诊断性能的前提下,对于提高恶性肿瘤的识别能力具有可行性和有效性。

随机森林算法 篇5

糖尿病及其并发症现已成为世界范围内的重要公共健康问题,且糖尿病发病率非常高,几乎达到流行病的比例[1]。糖尿病并发视网膜病变,也称糖尿病眼病,是糖尿病性微血管病变中最重要的表现,也是糖尿病患者常见的并发症之一。糖尿病并发视网膜病变在10 年期以上的糖尿病患者中患病率高达80%[2],是全球中老年人视力丧失的主要原因[3],一项Meta分析结果[4]显示在中国糖尿病患者中糖尿病并发视网膜病变的患病率为23%。糖尿病并发视网膜病变是劳动年龄人口(20~64 岁)致盲的主要因素[5],有研究[6,7]提示40 岁以下患糖尿病的人群中视网膜病变的发病率为33.3%,是40 岁以上患病人群的2 倍(15.6%),具有早期隐蔽性、慢性进展性、不可逆性的特点,按照疾病的发展进程可以分为2 型6 期,其中1~3 期为单纯型视网膜病变,4~6 期为增殖型视网膜病变,因此针对糖尿病并发视网膜病变做好早期预防是很必要的。

近年来,大数据分析与数据挖掘逐渐引起关注,尤其是在医疗卫生领域,数据挖掘的运用极其广泛。本研究采用了基于机器学习理论的随机森林模型和基于流行病学研究设计的Logistic回归模型,分析2 型糖尿病并发视网膜病变的关联因素并建立风险预测模型,通过ROC曲线下的面积(Area Under Curve,AUC)比较两种风险预测模型的优劣,以期为内分泌科临床实践中糖尿病患者并发视网膜病变的风险评估提供数据指导,尽早发现病情,确定诊断方案,开展临床治疗。

1 方法

1.1 数据标准化与合并

选取中国人民解放军总医院内分泌科2011~2013 年住院患者的糖尿病诊断、糖化以及生化检查数据。其中3 种数据分属于独立的表格,并对其进行整合得到可用于统计分析的数据集。数据整合的步骤如下:① 根据首次诊断信息提取2 型糖尿病并发视网膜病变以及无视网膜病变的2型糖尿病患者信息;② 根据患者就诊ID以及诊断时间从糖化检查以及生化检查表中提取距离诊断时间最近的一次患者检查信息;③ 从糖化、生化实验室检查中的诊断信息中提取出合并症的信息,包括高血压、血脂异常、肾病、肿瘤、大血管病变、周围神经病变、心梗、脑梗、冠心病。有关提取的变量信息见表1。

1.2 随机森林模型

1.2.1 随机森林基本原理

随机森林由Breiman[8]在2001 年提出,它通过自助法(bootstrap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。其实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于一个独立抽取的样品,森林中的每棵树具有相同的分布,分类误差取决于每一棵树的分类能力和它们之间的相关性。特征选择采用随机的方法去分裂每一个节点,然后比较不同情况下产生的误差。能够检测到的内在估计误差、分类能力和相关性决定选择特征的数目。单棵树的分类能力可能很小,但在随机产生大量的决策树后,一个测试样品可以通过每一棵树的分类结果经统计后选择最可能的分类。

1.2.2 随机森林算法

随机森林中的每一棵分类树为二叉树,其生成遵循自顶向下的递归分裂原则,即从根节点开始依次对训练集进行划分;在二叉树中,根节点包含全部训练数据,按照节点不纯度最小原则,分裂为左节点和右节点,它们分别包含训练数据的一个子集,按照同样的规则节点继续分裂,直到满足分支停止规则而停止生长。若节点n上的分类数据全部来自于同一类别,点的不纯度I(n)=0。不纯度度量方法是Gini准则,即假设P(ωj) 是节点n上属于 ωj类样本个数占训练样本总数的频率,则Gini准则表示为:

具体算法过程如下:

(1)N表示原始训练集样本个数,mall用来表示变量的数目。

(2)应用bootstrap法有放回地随机抽取k个新的自助样本集,并由此构建k棵决策树,每次未被抽到的样本组成了k个袋外数据(Out-of-Bag,OOB)。

(3)每个自助样本集用于建立一棵决策树,在每一棵树的每个节点处随机抽取mtry个变量(mtry<mall),然后在中选择一个最具有分类能力的变量,变量分类的阈值通过检查每一个分类点确定。

(4)每棵树最大限度地生长,不做任何修剪。

(5)将生成的多棵分类树组成随机森林,用随机森林分类器对新的数据进行判别与分类,分类结果视树分类器的投票多少而定。

在随机森林构建过程中,自助样本集用于每一个树分类器的形成,每次抽样生成的OOB被用来预测分类的正确率,对每次预测结果进行汇总得到错误率的OOB估计,然后评估组合分类器判别的正确率。此外,在随机森林中,所应用的自助样本集从原始的训练样本集中随机选取,每一棵树所应用的变量也是从所有变量mall中随机选取,两次随机过程使得随机森林具有较稳定的错误率,同时应用袋外数据来衡量分类器的性能。

随机森林中最重要的参数是mtry,Svetnik等[9]通过试验证实是一种较好的选择。随机森林中另外两个重要的参数是构建分类树的个数ntree和叶节点nodesize的大小,本研究采用ntree=500 和nodesize=1 进行研究。

1.2.3 变量重要性评分

变量重要性评分用于评价变量对于结局发生的影响,变量的重要性评分越高,则表明该变量越有能力对结局变量进行分类。设原始样本含量为N,各影响因素变量分别为x1,x2,…,xm。应用bootstrap法有放回地随机抽取b个新的自助样本,并由此形成b个分类树,每次未被抽到的样本则组成b个袋外数据[10]。袋外数据作为测试样本可以用来评估各个变量在分类中的重要性,具体实现过程如下:

(1)用自助样本形成每一个树分类器,同时对相应的OOB进行分类,得到b个自助样本的OOB中每一个样品的投票分数,记为rate1,rate2,...,rateb。

(2)将变量xi的数值在b个OOB样本中的顺序随机改变,形成新的OOB测试样本,然后用已建立的随机森林对新的OOB进行分类,根据判别正确的样品数得到每一个样本的投票分数,所得结果用矩阵表示为

(3)用rate1,rate2,...,rateb与矩阵(2) 对应的第i行向量相减,求和平均后再除以标准误得变量xi的重要性评分,即

1.3 Logistic回归模型

基于大样本数据库应用流行病学研究设计,采用等样本量病例对照研究,将数据库中全部2 型糖尿病并发视网膜病变患者作为病例组,采用简单随机抽样法在全部非2型糖尿病并发视网膜病变患者中抽取与病例组等样本量的对照组。结合文献资料、专家经验和临床知识选取研究因素。采用SPSS 21 软件对数据进行统计学分析,利用卡方检验分析不同因素与2 型糖尿病并发视网膜病变的关联性,检验水准 α=0.05。应用Logistic回归分析法建立2 型糖尿病并发视网膜病变关联因素模型,自变量筛选采用以似然比检验为依据的前向步进法(Forward: LR),以P<0.05 为纳入标准,P>0.1 为剔除标准。

2 结果

2.1 随机森林模型结果

本研究应用随机森林方法对2 型糖尿病与2 型糖尿病并发视网膜病变进行分类预测,算法通过R软件实现。根据2 型糖尿病患者的基本信息(年龄、性别)以及实验室检查信息建立随机森林预测模型对2 型糖尿病与2 型糖尿病并发视网膜病变进行分类预测研究。糖尿病数据中的检查信息存在一些数值缺失,本研究利用随机森林方法内嵌的临近估计填补方法对其进行填补。

为了准确地评价随机森林分类模型的效果,本研究将经过预处理的样本分析数据随机分成两部分,其中3/4 为训练样本,1/4 为测试样本,按此方法随机组成100 个训练集和100 个测试集,分别利用训练集建立预测模型,然后利用测试集对模型进行效果评价。对模型的评估侧重于模型本身的精度、准确度、效果、效率等,主要采用错误率(Err.rate)、灵敏度(Sen)、特异度(Spe)和AUC 4 种评价指标,其中灵敏度和特异度是按照概率0.5 为判别阈值预测分类的评价结果,AUC是综合评价的结果。

在随机森林模型的建立过程中,随机森林方法能够给出模型中每个变量的重要性评分,结果见图1。可以看出糖尿病相关指标如Hb A1c、GLU_blood得分较高,肾功能检查指标如Urea、Cr、UA等也对分类起一定的作用,除此以外,年龄、合并冠心病以及肾病也对模型分类有一定贡献。

2.2 Logistic回归模型结果

最终纳入研究的样本共1566 例(病例组和对照组各783 例),其中女性占40.1%,平均年龄为(64.2±13.0)岁,其中60~74 岁的年轻老人占41.2%,血糖控制情况差或不理想者(糖化血红蛋白浓度>8%)占42.3%,血糖重度升高者(空腹血糖浓度≥ 11.1 mmol/L)占80.8%,高血压患者占23.6%,血脂异常者占3.7%,慢性肾病患者占12.6%,冠心病患者占13.2%,心梗患者占2.2%,脑梗患者占3.9%,癌症患者占2.0%,各分类变量基本情况及卡方检验结果见表2,其变量赋值可见表3。

注:横坐标是变量重要性评分,纵坐标为模型中的各个变量,坐标轴中从上往下排列的各个变量评分逐渐减小,评分越大表示对应的变量对模型的分类影响越大。

单因素分析结果显示,糖尿病并发视网膜病变的关联因素包括性别、年龄、血糖控制情况(糖化血红蛋白浓度)、高血压、慢性肾病、冠心病、心梗和癌症,见表2。其中,女性、90 岁以上老年人、血糖控制情况不理想(糖化血红蛋白浓度8%~9%)、未患高血压、患有慢性肾病、未患冠心病、未患心梗及未患癌症的糖尿病患者视网膜病变的发生率较高。

Logistic回归模型因变量及各自变量赋值,见表3。最终纳入Logistic回归模型的关联因素包括性别、血糖控制情况(糖化血红蛋白浓度)、慢性肾病、冠心病、心梗和癌症,见表4。其中,男性与女性相比,糖尿病并发视网膜病变风险减少29%(OR=0.71);血糖控制情况每恶化一个水平,糖尿病并发视网膜病变风险增加30%(OR=1.30);慢性肾病患者糖尿病并发视网膜病变风险增加4.48 倍(OR=5.48);冠心病患者、心梗患者和癌症患者的糖尿病并发视网膜病变风险则分别减少68%(OR=0.32)、63%(OR=0.37)和82%(OR=0.18)。

2.3 两种模型结果的比较

表5 中给出了随机森林模型与Logistic回归模型预测的结果,其中随机森林是对100 个测试数据集预测的结果,包括各评价指标的均值和标准差。可以看出随机森林模型在各个评价指标结果中都要优于Logistic回归模型。两种模型预测效果的ROC曲线见图2,在检验水平 α=0.05 下对两种模型作差异性检验,得P=0.0019,由此可见随机森林模型综合预测效果要优于Logistic回归模型。

3 讨论

在进行数据整理时发现数据本身存在着变量缺失和变量数据缺失的问题,如已知的2 型糖尿病并发视网膜病变重要风险因素糖尿病病程变量缺失,生化检查结果变量有较多的缺失数据,这些都造成了后续模型拟合时在准确度和精密度上存在一定误差[11,12]。

既往研究表明2 型糖尿病并发视网膜病变的发生发展与糖尿病病程、高血压、高血糖、血脂异常、慢性肾病及相关实验室检查指标等多种因素有关[13,14,15,16]。本文研究的Logistic分析结果显示,慢性肾病与糖化血红蛋白浓度是2型糖尿病并发视网膜病变的危险因素。慢性肾病与2 型糖尿病并发视网膜病变的关联性较为明确,临床上认为糖尿病并发视网膜病变与慢性肾病具有相似的病理基础,即微血管病变和微循环障碍,本研究中慢性肾病患者发生糖尿病并发视网膜病变的风险增加近5 倍,验证了慢性病肾病与糖尿病并发视网膜病变的关联性。许多研究进一步指出,反映慢性肾病程度的尿白蛋白是与糖尿病并发视网膜病变高度相关的独立危险因素[17,18]。血糖控制情况是糖尿病并发视网膜病变的另一重要影响因素。与多数研究结果相同,本研究中糖化血红蛋白浓度的升高增加了2 型糖尿病并发视网膜病变的风险,但空腹血糖值与2 型糖尿病并发视网膜病变在本次研究中未表现出关联性。其原因可能是空腹血糖值仅反映一次测量的血糖水平,而糖化血红蛋白可反映近3 个月的血糖水平,能更好地反映平时血糖控制情况,与2 型糖尿病并发视网膜病变的关联性更显著[19]。本研究中冠心病、心梗和癌症与2 型糖尿病并发视网膜病变也具有关联性,但其对2 型糖尿病并发视网膜病变的保护作用与临床机制和相关研究不符,可能的原因是研究资料中存在共线性,或样本中冠心病、心梗和癌症的病例数太少导致参数估计不可靠。本研究发现糖尿病并发视网膜病变的另一关联因素是性别,女性比男性糖尿病患者并发视网膜病变的风险大。性别在有关2 型糖尿病并发视网膜病变关联因素的现有研究中较少涉及,其关联程度和影响作用有待进一步的流行病学研究或大数据分析验证。此外,既往研究中2 型糖尿病并发视网膜病变传统的危险因素高血压和血脂异常在本研究中均未被纳入多因素模型,可能是样本中高血压和血脂异常的病例数太少导致(样本总量中高血压患者占23.6%,血脂异常仅占3.7%)。

本次研究,随机森林算法分析结果给出了各个因素指标的重要性评分,为2 型糖尿病并发视网膜病变的早期诊断以及优化诊断流程提供了一定的依据,但是在变量重要性评分中实验室检查结果变量的表现普遍优于诊断结果变量,产生此现象主要是由于诊断结果变量在数据集中出现频率较低,此种偏移在Logistic回归分析中也产生了不利的影响。随机森林算法分析结果筛选出了一些现在医学机制上尚无法解释的变量,这可为以后的研究提供方向,但值得注意的是这些无法解释的变量可能是由于数据集本身的样本量限制及自变量间的相关性导致[20,21]。与Logistic回归相比,随机森林算法通过大量随机选择样本的方法平衡了样本误差的影响,对由此产生的大量不同测试数据进行分类综合评价,较仅以单个测试样本进行拟合的Logistic回归的结果更为可靠,但其对影响因素的解释较为模糊,无法给出影响因素相对危险度的估计以及作用的方向性。

摘要:目的 应用随机森林算法和Logistic回归算法,分析2型糖尿病并发视网膜病变的关联因素并构建风险预测模型。方法 采用2011~2013年中国人民解放军总医院2型糖尿病住院患者的电子病历信息,主要利用其中的糖尿病诊断数据、糖尿病糖化数据以及糖尿病生化检查数据,应用Logistic回归和随机森林算法,根据ROC曲线下面积比较两种模型的预测效果。结果 在随机森林模型的39个变量重要性评分中,糖化血红蛋白、空腹血糖、尿素、肌酐、尿酸、年龄、冠心病和慢性肾病得分较高且具有临床意义,Logistic回归模型最终纳入性别、血糖控制情况(糖化血红蛋白浓度)、慢性肾病、冠心病、心梗和癌症6个因素,ROC曲线下面积提示随机森林模型预测效果优于Logistic回归模型。结论 本次研究随机森林算法分析结果给出了各个因素指标的重要性评分,为2型糖尿病并发视网膜病变的早期诊断以及优化诊断流程提供了一定的依据。

基于随机森林模型的房价预测 篇6

1.1 ARMA模型

ARMA即自回归滑动平均模型, 是研究时间序列的重要方法, 可以研究并预测房价随时间的变化, 由AR (Auto-Regressive) 和MA (Moving-Average) 两个部分组成, 若时间序列yt服从 (p, q) 阶的ARMA模型, 则其满足形式为:

其中εt是独立同分布随机变量序列, 且E (εt) =0, 一般的对序列要进行平稳性检验, 若序列不平稳, 则进行差分平稳化处理及白噪声检验[1,2]。

1.2多元线性回归模型

多元线性回归模型经常用来刻画一个变量受多个变量影响时的情况, 适用于自变量与因变量之间呈现密切的线性相关且自变量之间具有一定的互斥性的情形, 其基本模型如下:

其中β0为常数项, β0, β1, …, βk是回归系数, ε是误差项且ε~N (0, σ2) , 一般的还需要对回归方程和参数进行显著性检验。

2随机森林模型的建立

2.1随机森林建模的步骤

随机森林在建立模型及预测的流程如图1所示:

其基本思想是通过自助法重采样技术从原始训练样本集中抽取样本生成新的训练样本集合, 由此生成多棵决策树组成随机森林, 分类数采取投票方式、回归数利用均值来进行结果预测, 具体步骤为: (1) 确定生成一棵决策树时用到的特征变量个数m (<M) , M表示特征变量数目; (2) 应用bootstrap法有放回随机抽取k个新的自助样本集, 并由此构建K棵决策树, 每次未被抽到的样本组成k个袋外数据, 即out-of-bag (OOB) ; (3) 每个自助样本集生长为单棵决策树, 每个节点处按照节点不纯度最小原则选取特征进行充分生长, 不进行剪枝操作; (4) 根据生成的决策树分类器对预测集进行预测, 对每棵树的预测结果求均值即为最终预测结果[3]。

2.2模型的建立与优化

整合2012年襄阳房贷数据, 得到6354条有效数据, 其中特征变量有房子所在楼层、总楼层、所在区域、房子面积、交易时间等, 解释变量为每平方米单价 (千元) 。以总数据的75%作为训练集构造随机森林, 剩下的25%数据作为测试集用来检验模型。每次抽取若干数据和特征变量, 以信息增益或基尼指数作为衡量标准来选择节点处特征, 然后进行充分生长构建决策树。

随机森林中最重要的两个参数有树节点预选的特征变量个数、随机森林中决策树的个数。特征变量个数决定了每棵树的规模, 太多会导致每棵决策树差别不大, 产生过拟合现象;太少则不能从数据中有效学习模型。同理, 决策树数量太多会浪费很多时间进行计算, 太少则预测效果很差。

图2中a图是利用R语言计算的默认的特征变量个数为1时的绝对累积误差和, 可以发现当决策树的数量大于150以后, 模型累积误差趋于稳定;对特征变量的个数进行遍历, 可以发现预选个数为2时误差和最小, 如b图所示。

3预测结果的对比

根据整合的房贷数据, 由训练集建立模型, 利用测试集来对房价进行预测, 随机森林与传统的ARMA模型和多元线性回归模型预测的部分房价 (单位:千元/平方米) 数据如表1所示。

4结果分析

由预测结果可以看出, 随机森林模型取得了较好的预测效果, 基于OOB数据和测试集数据的绝对误差均值分别为大约0.08 (千元/平方米) 和0.2 (千元/平方米) , 相对误差分别只有1.6%和4%, 虽然上述预测结果相对于ARMA等传统模型优势并不明显, 这是由于文章采用的数据特征变量数较少所导致的。实际中影响房子价格的可能还有小区的停车位、环境、运动设施、物业管理费用, 周边的交通如公交线路、地铁线路的数量, 到医院、学校、银行、商场、菜市场、CBD的距离等因素[4], 随机森林的优势在当特征变量数增加时会更加明显, 其预测精度会进一步提升。

摘要:根据襄阳2012年的房贷数据, 考虑影响房价的各种特征变量, 尝试建立随机森林模型, 利用其优秀的集成学习能力和泛化能力对测试样本进行房价预测, 并与学者应用较多的ARMA模型及经典的多元线性回归模型预测的房价和实际房价进行对比, 取得了较好的效果。

关键词:随机森林,房价,ARMA模型,多元线性回归模型

参考文献

[1]常振海, 刘薇.基于非参数自回归模型的房价预测[J].天水师范学院学报, 2010, 3 (2) :56-58.

[2]刘忠璐.ARIMA模型在房价预测中的应用[J].决策与信息, 2011 (4) :3-4.

[3]黄文, 王正林.数据挖掘:R语言实战[M].电子工业出版社, 2014:220-241.

基于随机森林的乳腺肿瘤诊断研究 篇7

计算机辅助检测乳腺肿瘤的过程主要包括乳腺图像预处理、乳腺图像分割、提取乳腺图像特征、训练分类器和利用分类器进行分类识别。在机器分类学习算法中, 传统的分类器往往分类精度有限且容易出现过拟合情况, 随机森林以它自身固有的特点和优良的分类效果在众多的分类学习算法中脱颖而出, 因此论文将重点讨论基于随机森林思想的组合分类器的设计和乳腺肿瘤的分类测试以及算法性能的分析[1,2,3,4]。

1 随机森林模型

随机森林算法是由Leo Breiman和Adele Cutler提出, 结合了Breimans的Bootstrap aggregating思想和Ho的random subspace方法, 其实质是一个树型分类器的集合{h (x, βk) , k=1, 2, …, n}, 决策树的形成采用了随机的方法, 且树之间是没有关联的。

1.1 Bootstrap法重采样

Bootstrap的核心思想是设集合S中含有n个不同的样本{x1, x2, …, xn}, 若每次有放回地从集合S中抽取一个样本, 一共抽取n次, 形成新的集合S*, 则集合S*中不包含某个样本xi (i=1, 2, …, n) 的概率为

当n→∞时, 则

虽然新集合S*的样本总数与原集合S的样本总数相等 (都为n) , 但新集合S*中可能包含了重复的样本 (有放回抽取) , 若除去重复的样本, 新集合S*中仅包含了原集合S中约1-0.368×100%=63.2%的样本[5]。

1.2 随机森林算法流程

随机森林是基于Bootstrap方法重采样, 产生多个训练集。设样本的属性个数为M, m为大于零且小于M的整数。随机森林算法的流程如下:

1) 利用Bootstrap方法重采样, 随机产生T个训练集S1, S2, …, ST。

2) 利用每个训练集, 生成对应的决策树C1, C2, …, CT;在每个非叶子节点 (内部节点) 上选择属性前, 从M个属性中随机抽取m个属性作为当前节点的分裂属性集, 并以这m个属性中最好的分裂方式对该节点进行分裂, 在整个森林的生长过程中, m的值维持不变。

3) 每棵树都完整成长, 而不进行剪枝。对于测试集样本X, 利用每个决策树进行测试, 得到对应的类别C1 (X) , C2 (X) , …, CT (X) 。

4) 采用投票的方法, 将T个决策树中输出最多的类别作为测试集样本X所属类别[6]。

2 基于随机森林的乳腺肿瘤诊断

2.1 模型建立

基于随机森林的乳腺肿瘤的计算机自动诊断算法模型的设计思路为:将乳腺肿瘤病灶组织的细胞核显微图像的量化特征作为模型的输入, 良性乳腺肿瘤和恶性乳腺肿瘤作为模型的输出。用训练集数据进行随机森林分类器模型的创建, 然后对测试集数据进行仿真测试, 最后对测试结果进行分析。其主要功能模块包括数据采集、随机森林分类器创建、仿真测试和结果分析[7]。

乳腺肿瘤数据来源于美国威斯康辛大学医学院建立的乳腺肿瘤病灶组织的细胞核显微图像数据库。数据特征包含了细胞核图像的10个量化特征, 分别为细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度, 这些特征与肿瘤的性质有着密切的关系。建立算法数学模型的目的就是希望用数学模型来描述数据库中各个量化特征与肿瘤性质的关系, 从而根据细胞核显微图像的量化特征诊断乳腺肿瘤是良性还是恶性的。该数据库共包括569个病例数据, 其中, 良性为357例, 恶性为212例。

数据采集完成后, 利用随机森林工具箱函数classRF_train () 对基于训练集数据创建一个随机森林分类器。随机森林分类器创建好后, 利用随机森林工具箱函数class RF_predict () 对测试集数据进行仿真预测。最后, 通过对随机森林分类器的仿真结果进行分析, 可以得到乳腺肿瘤病例的分类准确率, 从而可以对该算法的可行性进行评价[8]。

2.2 随机森林工具箱

算法采用科罗拉多大学博尔德分校Abhishek Jaiantilal开发的randomforest-matlab开源随机森林工具箱, 主要函数有classRF_train () 和classRF_predict () 。其中classRF_train () 的调用格式为:model=classRF_train (X, Y, ntree, mtry, extra_options) 。其中X为训练集的输入样本矩阵, 每一列表示一个变量 (属性) , 其每一行表示一个样本;Y为训练集的输出样本向量, 其每一行表示X中对应的样本所属的类别;ntree为随机森林中决策树的个数 (默认为500) ;mtry为分裂属性集中的属性个数;extra_options为可选的参数;model为创建好的随机森林分类器。函数classRF_predict () 的调用格式为:[Y_hat votes]=classRF_predict (X, model, extra_options) 。其中, X为待预测样本的输入矩阵, 其每一列表示一个变量, 其每一行表示一个样本;model为创建好的随机森林分类器;extra_options为可选的参数;Y_hat为待预测样本对应的所属类别;votes为未格式化的待预测样本输出类别权重, 即将待预测样本预测为各个类别的决策树个数。

3 仿真实验结果及分析

3.1 仿真测试结果

系统采用MATLAB R2013a作为仿真测试平台, 并且从569个病例数据中随机选择500组数据作为训练数据集, 剩余69组作为测试数据集。某次随机测试的结果如表1所示。

从测试结果可以看出, 在测试集的69个样本中, 共有1个样本被预测错误 (1个恶性乳腺肿瘤样本被错分为良性乳腺肿瘤) , 平均确诊率为98.55%。为了比较随机森林分类器的性能, 分别用ELM、LVQ和决策树对上述数据集进行测试, 预测准确率分别为95.74%, 91.33%和89.85%) , 这表明采用随机森林模型对乳腺肿瘤进行分类识别具有较好的性能。

3.2 随机森林分类器性能分析

为了直观地对随机森林分类器的性能进行分析, 可以用图形的方式显示预测分类结果, 其中决策树的棵树为默认的500棵, 其运行结果如图1所示。

其中, 图的横坐标表示在随机森林的所有决策树中, 输出为类别1的决策树棵树, 纵坐标表示输出为类别2的决策树棵树。从理论上来说, 若被错误分类的样本靠近图的中心, 即直线y=x与x+y=500的交点P (250, 250) , 这时在整个随机森林中, 输出类别为1与类别2的决策树棵树相当, 在这种情况下, 样本被错分, 被认为是可以接受的, 也说明这时随机森林的泛化能力是可以接受的。反之, 若被错误分类的样本偏离图的中心, 如图2所示, 则表明在整个随机森林中, 输出为类别1与类别2的决策树棵树存在一定的差距, 但是, 样本被错误分类。这种情况认为是不合常理的, 这时的随机森林的泛化能力较差。

3.3 决策树棵树对随机森林性能的影响

随机森林中包含的决策树棵树的不同, 对算法的泛化性能具有一定的影响, 为了减少随机性的影响, 当决策树棵树确定后, 建立100个随机森林模型, 然后取其准确率的平均值作为当前决策树棵树下的分类准确率, 仿真结果如图3所示。从图中可以看出, 对乳腺肿瘤诊断数据集来说, 综合考虑随机森林中包含的决策树棵树与建模的速度, 选择随机森林中包含50~150棵决策树比较合理。对于其他数据集, 也可以采用类似的方法进行折中选择决策树的数量。

4 结束语

随机森林以其良好的泛化性能, 已被广泛应用到许多领域中。随机森林优点包括:1) 随机森林由若干决策树的集合组成, 运算本质上相同, 因此能有效处理大量的输入数据;2) 训练过程中, 会寻找合适的属性数量, 即使数据有数以千计的特征变量数都是可以接受的;3) 通过统计每个特征在森林中所有树上的使用率, 可间接估计特征在分类上的重要性;4) 随机森林通过计算错误率来达到最佳化, 对训练数据而产生的偏差可被限制, 因此, 对未知的数据能保持较强的识别力;5) 当数据有缺失时, 可适当抛弃部分决策树使随机森林能继续正常分类;6) 对于不平衡的分类数据集来说, 它可以平衡误差;7) 随机森林如同决策树, 对资料的分布和特征的相关性不需要有任何的前提假设。由于影响随机森林分类性能的主要因素为森林中单棵树的分类强度和树之间的相关度, 因此, 在这个方面, 可以对随机森林进一步深入研究。

摘要:采用人工智能方法对乳腺肿瘤进行自动诊断实质是对乳腺显微图像进行模式分类识别问题, 比传统的人工诊断方法具有更高的准确率和效率, 从而提高肿瘤治疗效果。基于随机森林的分类器具有良好的泛化性能, 首先讨论了随机森林模型的建立, 然后利用训练好的模型对乳腺肿瘤数据进行分类测试, 最后讨论了影响随机森林分类器性能的因素以及如何选择随机森林里的决策树的数量。仿真实验表明, 利用随机森林分类器对乳腺肿瘤进行分类识别比采用BP、LVQ神经网络、决策树方法可以获得更好的泛化性能。

关键词:随机森林,决策树,乳腺肿瘤,重采样

参考文献

[1]史忠植.神经网络[M].北京:高等教育出版社, 2009.

[2]杨景兵, 丁辉, 张树东.基于神经网络的图像弱边缘检测方法研究[J].电视技术, 2011, 35 (15) :54-56.

[3]KIM K H, BANG S W, KIM S R.Emotion recognition system using short-term monitoring of physiological signals[J].Medical Biology Engine Computer, 2004 (42) :419-427.

[4]洪燕珠.基于随机森林法的慢性疲劳证候要素特征病症的选择[J].中医杂志, 2010, 51 (1) :634-638.

[5]张洪强, 刘光远, 赖祥伟.随机森林算法在肌电的重要特征选择中的应用[J].计算机科学, 2013, 40 (1) :200-202.

[6]孙超, 周海英.面向语义的图像中主要对象的提取方法[J].电视技术, 2013, 37 (5) :45-48.

[7]STROBL C, BOULESTEIX A L, ZEILEIS A, et al.Bias in random forest variable importance measures:illustrations, sources and a solution[J].BMC Bioinfonnatics, 2007, 8 (25) :75-80.

上一篇:冗余的概念下一篇:恢复功能的康复治疗