一种改进的随机森林在医疗诊断中的应用
2020-12-24庞泰吾胡春燕尹钟
庞泰吾 胡春燕 尹钟
摘 要: 快速地建立预测模型并且完成准确的分类在某些特殊的医疗诊断场合下具有重要的意义。从连续特征离散化入手,本文提出了一种改进的随机森林算法。之后使用改进的算法建立了分类模型,并在三个常用的医疗数据集上进行了实验。实验结果表明改进的随机森林算法不仅运行时间显著缩减,同时预测精度也得到了提升。更进一步的,初始的连续特征经过离散化之后变得简洁明了,这可以方便研究人员的理解。
关键词: 随机森林;连续特征离散化;决策树;算法改进;医疗诊断;分类算法
中图分类号: TP301.6 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.032
本文著錄格式:庞泰吾,胡春燕,尹钟. 一种改进的随机森林在医疗诊断中的应用[J]. 软件,2020,41(07):159-163
An Improved Random Forest for Medical Diagnosis
PANG Tai-wu, HU Chun-yan, YIN Zhong
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
【Abstract】: The rapid building of predictive models and accurate classification is of great significance in some special medical diagnosis situations. Based on the discretization of continuous features, an improved random forest algorithm was proposed in this paper. Then the classification model was built by using the improved algorithm and experiments were carried out on three widely used medical data sets. Experimental results show that the improved random forest algorithm not only reduces the running time significantly, but also improves the prediction accuracy. Furthermore, discretization makes the initial continuous feature concise, which is convenient for researchers to understand.
【Key words】: Random forest; Discretization of continuous features; Decision tree; Algorithm improvement; Medical diagnosis; Classification algorithm
0 引言
机器学习可谓当下最炙手可热的人工智能技术。如何将它与传统行业相结合成为了许多企业所面临的新课题。机器学习可以看作一个通过挖掘数据中存在的潜在规律来构建学习器的过程。学习器通常可以分为浅层网络与深层网络两种。前者是由一些传统的机器学习方法构建的,如逻辑回归、支持向量机等。它们虽然结构简单,训练省时,且针对小样本数据也有不错的预测精度,但却普遍存在着过拟合的问题[1]。深层网络包括结构各异的人工神经网络(Artificial Neural Network,ANN),如卷积神经网络、循环神经网络等。ANN相较于传统学习器更能挖掘出数据背后的本质规律,从而达到更好的学习效果。但是ANN具有众多的超参数。实现对这些参数的精确调控需要大量的数据作为支撑。而获得大量的标记样本往往并不是一件容易的事。
为了解决数据样本较少和浅层网络存在的过拟合问题,集成学习是一个不错的选择。它是一种将多个弱学习器进行整合从而得到更好预测效果的方法[2]。其主要包括三种构造思想:bagging[3]、boosting[4]和stacking[5]。随机森林(Random Forest,RF)作为bagging方法的代表,已经在软件工程[6]、机械设计制造[7]、模式识别[8]、金融科技[9]等诸多领域取得了广泛的应用。因为医疗数据采集比较困难且涉及患者隐私,所以样本规模通常不大。这便给RF提供了广泛的应用前景[10-11]。但RF构建了多个学习器,所以它的运行效率显著低于单个浅层网络。而在一些特殊的情况下,时间是最重要的评估因素。同时,RF的预测精度还有进一步提升的空间。据此,本文提出一种基于连续属性离散化的改进方法,力求在保证模型预测精度的同时,使模型的训练时间尽可能地缩短。更进一步的,离散化也可以为连续数据提供一个简明的概括,从而方便研究人员的理解。
1 算法研究
随机森林是多个决策树集成的产物。因为每棵树的特性各不相同,即针对测试集的表现各有千秋。所以将它们进行结合可以显著地降低结果方差,从使模型的整体预测精度得到提升。据此,本文首先对决策树的有关概念进行阐述。
1.1 决策树
决策树是一种经典的学习器,它由根节点、叶子节点、中间节点及各节点之间的路径组成。其中节点表示若干样本的集合,而路径表示某种分类的规则。根据节点分裂方法的不同,现在广泛使用的决策树包括C4.5和CART(Classification And Regression Tree)两种。本文中的随机森林是使用CART构建的。该种树采取Gini系数作为节点分裂的指标。CART的生成过程如下。
计算当前节点中样本的Gini系数可表示为。
式中Sr表示节点的样本集,n表示类标的种数,Pi表示类标为i的样本占总样本的比例。之后分别计算每种划分情况下的Gini系数,下式以一个二元属性x为例。
式中|Sx1|表示x属性值为1的样本个数。接着选择Gini系数最小的属性作为节点划分的依据。需要说明的是,针对连续属性,CART会先将其离散化之后再按照离散变量处理。最终以递归的形式重复上述步骤直到决策树的完全构建。
观察上述过程不难看出,决策树每一步的分裂都依据了贪婪的思想,这便使其很容易陷入到局部最优中。同时从根节点到叶子节点的路径往往非常复杂,这使得决策树对噪声很敏感,且容易出现过拟合现象。为了解决这一问题,随机森林应运而生。
1.2 随机森林
1.2.1 随机森林简述
随机森林是一种基于决策树的集成学习方法。它的具体工作流程如下图所示。
现有大量实验证明,相较于决策树,随机森林的泛化误差得到了显著的降低[12-13]。这与它的随机特性是密切相关的。随机森林的随机性主要表现在两个方面:①训练集的随机性,即采用一种有放回的抽样法获取多个不尽相同的样本集;②属性的随机性,即仅使用样本集中部分的特征变量来训练决策树。有了上述随机性的保证,随机森林便不会像单个决策树那样产生严重的过拟合现象了。下文中的定理2充分说明了这一点。
1.2.2 随机森林的数学描述[14]
定义1 随机森林的本质为一个集成分类器,为了对其置信度进行度量,引入边缘函数(Marginal Function)的定义是十分必要的。设随机森林是由Nt棵决策树构成的,且基分类器表示为h(X,θk),其中X表示輸入向量,θk是一个用来刻画第k棵决策树构造过程的随机向量。
式中:Y为正确的预测类标;avg为求平均的函数;I为示性函数;k为从1~Nt的整数;j为某一个不正确的类标。根据上式可以看出,函数mf表示了正确分类的平均得票数超过最大的错误分类平均得票数的程度。显然,mf函数的输出值越大,分类器的置信度便越高。
定义2 根据边缘函数的定义,随机森林的泛化误差可以表示为。
式中:P表示错误分类的概率,其下标刻画了该式中的概率空间。根据上述两个定义和大数定理,可以得到定理1。
定理1 当随机森林中基分类器的个数增加时,其泛化误差均收敛于。
定理1 说明了随着树数目的增加,森林的泛化误差会趋向某一个上界。这表明了随机森林相较于决策树具有很好的抗过拟合能力。
定理2 泛化误差的上界可表示为。
式中:表示森林中决策树的平均相关度;s2表示决策树强度的平均值。根据式(6)可以看出,降低随机森林的泛化误差主要有两种方法:增加单棵树的预测能力;降低森林中各棵树之间的相关性。在前文中已经提到,上述的两点正是由随机森林的随机性保证的。
1.2.3 随机森林的缺陷
纵使随机森林在很大程度上解决了决策树面临的过拟合问题,但它所使用的bagging算法也增加了计算成本。而使RF运行效率降低的另一个主要因素便是CART对连续特征的处理方法,即逐一针对每个分裂点进行二分处理,之后根据GINI系数选择划分方案。显然,这样的处理方法具有一定的盲目性。同时,随机森林模型的预测精度也有进一步提升的空间。
1.3 算法改进
如前文所介绍的,本文主要通过引入一种连续特征离散化的方法来改进随机森林的算法的性能[15]。当前,连续特征离散化存在着众多方法。依据划分起点的不同,它们可以分为自底向上的和自顶向下的两种。当连续属性的取值个数远大于目标划分区间的种数时,后者的运行效率显然会高于前者。所以本文决定选择CACC(Class-Attribute Contingency Coe?cient)算法作为连续属性离散化的方法[16]。不同于CART以GINI系数作为划分的依据,CACC算法引入了一个新的指标cacc。其计算过程如下。
式中:M表示数据集中样本的总个数;qir表示类标为i且在第r个特征划分(dr-1,dr]内的样本的个数;S表示类标的种数;n表示特征划分的种数;Mi+为类标为i的样本的总个数;M+r为在特征划分(dr-1,dr]内的样本的总个数;log表示求自然对数的函数。之后CACC算法以分治和贪心的思想[17]逐步递归便可以完成连续属性的离散化了。
2 实验
2.1 数据集及实验环境
本文实验中所使用的数据集均源于UCI机器学习数据库。它们分别是关于如下三种疾病的数据:糖尿病、心脏病和癌症。数据集的具体信息如表1所示。
在对数据进行了预处理之后,实验在一台6核16G的计算机上进行。其操作系统为Windows 10;程序设计语言为Python 3.7。
2.2 参数配置
不同于神经网络,随机森林算法仅涉及两个超参数的配置[18]。它们是森林中树的棵数Nt和构造单个决策树时选用特征的个数Nf。由定理1可以看出,Nt的增加并不会导致森林出现严重的过拟合。但是随着树数目的增多,模型所花费的时间成本与空间成本都会上升。而且边际效用递减法则同样适用于此[14]。Nf如果取值过小,则单棵决策树的强度无法得到保证;但随着Nf的增大,森林中树间的相关度有可能也会增大。经过上述分析我们不难发现Nt和Nf的设置对于模型性能的影响是很大的。经过大量实验,本文对随机森林的两个超参数的设置如表2所示。
2.3 评估指标
对于类标为两种的医疗诊断问题,结果通常可分为以下四种:患者本身没病但被诊断为有病(False Positive,FP);患者本身有病但被诊断为没病(False Negative,FP);患者有病且被诊断为有病(True Positive,TP);患者没病且被诊断为没病(True Negative,TN)。本文选用医学中最常用的三个指标作为模型评估的依据。它们是:特异性(Specificity)、灵敏度(Sensitivity)和准确性(Accuracy)。其可通过如下的公式计算得出。
2.4 结果及分析
考虑到一次实验可能存在着偶然性,本文将每组实验重复50次,之后取各个评估指标的平均值作为最终的结果。需要说明的是,实验中训练集与测试集的比例为4∶1。同时,本文将引入CACC算法的RF记为IRF(Improved Random Forest)。
2.4.1 模型训练速度
为了测试改进的随机森林算法的运行效率,本文使用传统的随机森林算法建立了模型以与其形成对比。上述两种算法运行的具体时间如下表所示。
通过上表我们可以看出,IRF在三个数据集上的表现均要优于RF。其中运行时间缩短幅度最大可以达到24.48%;平均的缩减幅度可以达到12.11%。这说明IRF的运行效率相较于RF得到了提升,而随着数据集规模的增大,前者的优势也将得到扩大。
2.4.2 模型预测精度
为了检测CACC对IRF算法性能所造成的影响,实验使用RF与IRF構建了分类模型,之后将三个数据集分别代入其中完成了模型的训练与预测。RF和IRF模型的诊断结果如表4、表5所示。
从表4、表5可以看出,相较于RF模型,IRF模型的预测准确性在糖尿病样本集上保持稳定,而在另两个数据集上均略有提升。同时特异性和灵敏度也均稳步提升。这一结果与引入的连续特征离散化的方法是密切相关的。CACC算法对相依系数的概念进行拓展[16],从而使得生成的规则更加符合样本间的内在联系。这与预期的结果是相符的。
3 结束语
本文从连续变量离散化入手,对随机森林算法进行了改进。通过实验证明,改进的随机森林算法在运行时间上显著缩短,且预测精度也有所提升。更进一步的,连续特征离散化后变得更加简洁明了,这无疑可以方便研究人员的理解。纵使IRF相较于RF展现出了一定的优越性,但仍存在着很大的改进空间。本文提出的算法仅是针对处理连续特征的方法进行了优化,如若对特殊的数据集采取相应的预处理,抑或对节点的分裂算法进行改进,想必都可以使算法的性能得到提升。当下知识更新迅速,新的技术与算法层出不穷,只有不断地学习,完善自身才是正道。
参考文献
-
Larasati A, DeYong C, Slevitch L. The Application of Neural Network and Logistics Regression Models on Predicting Customer Satisfaction in a Student-Operated Restaurant[J]. Procedia-Social and Behavioral Sciences, 2012, (65): 94-99.
-
Nath A, Sahu G K. Exploiting ensemble learning to improve prediction of phospholipidosis inducing potential[J]. Journal of Theoretical Biology, 2019, (479): 37-47.
-
张春霞,郭高. Out-of-bag样本的应用研究[J]. 软件, 2011, 32(3): 1-4.
-
Pooja S B, Balan S R V, Anisha M, et al. Techniques Tanimoto correlated feature selection system and hybridization of clustering and boosting ensemble classification of remote se?n?sed big data for weather forecasting[J]. Computer Commun?i?c?ations, 2020, (151): 266-274.
-
李昆明, 厉文婕. 基于利用BP神经网络进行Stacking模型融合算法的电力非节假日负荷预测研究[J]. 软件, 2019, 40(9): 176-181.
-
张洋. 一种基于Logicboost的软件缺陷预测方法[J]. 软件, 2019, 40(8): 79-83.
-
Tao Hongfei, Chen Ran, Xuan Jianping, et al. Prioritization analysis and compensation of geometric errors for ultra- pre?cision lathe based on the random forest methodology[J]. Precision Engineering, 2020, (61): 23-40.
-
全雪峰. 基于奇异熵和随机森林的人脸识别[J]. 软件, 2016, 37(2): 35-38.
-
Gupta D, Pierdzioch C, Vivian A J, et al. The predictive value of inequality measures for stock returns: An analysis of long- span UK data using quantile random[J]. Finance Research Letters, 2019, (29): 315-322.
-
张雨琦, 林勇. 基于机器学习的肿瘤免疫治疗应答预测研究[J]. 软件, 2019, 40(1): 97-102.
-
全雪峰. 基于随机森林的乳腺癌计算机辅助诊断[J]. 软件, 2017, 38(3): 57-59.
-
Fratello M, Tagliaferri R. Decision Trees and Random For?ests[J]. Encyclopedia of Bioinformatics and Computational Biology, 2019, (1): 374-383.
-
Akhoondzadeh M. Decision Tree, Bagging and Random For?est methods detect TEC seismo-ionospheric anomalies around the time of the Chile, (Mw=8.8) earthquake of 27 February 2010[J]. Advances in Space Research, 2016, 57(12): 374-383.
-
Breiman L. Random Forests[J]. Machine Learning, 2001, 45(1): 44-51.
-
沈学华, 周志华, 吴建鑫, 等. Boosting和Bagging综述[J]. 计算机工程与应用, 2000, 36(12): 31-32, 40.
-
Tsai C J, Lee C I, Yang Weipang. A discretization algorithm based on Class-Attribute Contingency Coefficient[J]. Neuro?biology of Aging, 2008, 178(3): 180-191.
-
Cormen T H, Leiserson C E, Rivest R L, et al. Introduction to Algorithms[M]. Beijing: China Machine Press, 2012: 16-19, 242-244 (in Chinese).
-
方匡南, 吴见彬, 朱建平, 等. 随机森林方法研究综述[J]. 统计与信息论坛, 2011, 26(3): 32-38.