基于不平衡数据集的改进随机森林算法研究
- 格式:pdf
- 大小:936.17 KB
- 文档页数:5
随机森林算法优化研究随机森林算法优化研究随机森林(Random Forest)算法是一种集成学习方法,通过构建多个决策树并进行组合来进行分类或回归预测。
随机森林算法在机器学习领域中广泛应用,因其在处理大规模数据集、高维特征和复杂问题时表现出的优势而备受研究者的关注。
然而,随机森林算法在实际应用中仍然存在一些问题,如训练时间长、模型过拟合等。
为了解决这些问题,研究者们提出了一系列优化方法。
首先,针对随机森林算法的训练时间长的问题,研究者们提出了一些加速训练的技术。
其中之一是使用并行化方法,在多个处理单元上同时训练多棵决策树。
这样可以显著减少总体训练时间。
另外,还可以使用一些遗传算法或模拟退火算法来优化决策树的构建过程,从而减少训练时间并提高模型的预测性能。
其次,模型过拟合是随机森林算法面临的另一个挑战。
为了解决这个问题,研究者们提出了一些改进的随机森林算法。
例如,引入了正则化项来限制模型的复杂度,避免过拟合。
另外,还可以通过自助采样(bootstrap sampling)的方式来生成多个不同的训练集,然后平均这些训练集上得到的决策树,从而降低过拟合的风险。
此外,还可以使用特征选择方法来选择最相关的特征,减少输入特征的维度,提高模型的泛化能力。
此外,随机森林算法还可以通过调整一些参数来优化模型的性能。
例如,决策树的深度、决策树的数量以及叶子节点的最小样本数等。
通过调整这些参数,可以在模型的准确性和训练时间之间找到一个平衡点,从而获得更好的性能。
进一步地,研究者们还提出了一些针对特定问题的随机森林算法改进方法。
例如,在处理不平衡数据集时,可以使用加权随机森林算法来考虑不同类别的样本权重,从而提高少数类别的预测准确率。
此外,还可以使用随机森林算法进行特征选择,从而在高维数据集上提取最相关的特征,并降低模型复杂度。
总的来说,随机森林算法优化的研究在不断进行中,研究者们通过改进算法、优化参数和引入新的技术等方式不断提高随机森林算法的性能。
《随机森林算法优化研究》篇一一、引言随机森林(Random Forest)是一种以决策树为基础的集成学习算法,由于其优秀的性能和稳健的表现,被广泛应用于机器学习和数据挖掘领域。
然而,随机森林算法在处理复杂问题时仍存在过拟合、效率低下等问题。
本文旨在研究随机森林算法的优化方法,提高其准确性和效率。
二、随机森林算法概述随机森林算法通过构建多个决策树来对数据进行训练和预测,每个决策树都使用随机选择的一部分特征进行训练。
最终,随机森林对各个决策树的预测结果进行集成,以得到更为准确的预测结果。
随机森林算法具有抗过拟合能力强、训练效率高、易实现等优点。
三、随机森林算法存在的问题虽然随机森林算法在很多领域取得了显著的效果,但仍然存在一些问题:1. 过拟合问题:当数据集较大或特征维度较高时,随机森林算法容易产生过拟合现象。
2. 计算效率问题:随着数据集规模的扩大,随机森林算法的计算效率会逐渐降低。
3. 特征选择问题:在构建决策树时,如何选择合适的特征是一个关键问题。
四、随机森林算法优化方法针对上述问题,本文提出以下优化方法:1. 引入集成学习技术:通过集成多个随机森林模型,可以有效提高模型的泛化能力和抗过拟合能力。
例如,可以使用Bagging、Boosting等集成学习技术来构建多个随机森林模型,并对它们的预测结果进行集成。
2. 优化决策树构建过程:在构建决策树时,可以采用特征选择方法、剪枝技术等来提高决策树的准确性和泛化能力。
此外,还可以通过调整决策树的深度、叶子节点数量等参数来优化模型性能。
3. 特征重要性评估与选择:在构建随机森林时,可以利用特征重要性评估方法来识别对模型预测结果贡献较大的特征。
然后,根据实际需求和业务背景,选择合适的特征进行建模。
这样可以减少噪声特征对模型的影响,提高模型的准确性和效率。
4. 优化模型参数:针对不同的问题和数据集,可以通过交叉验证等方法来调整随机森林算法的参数,如决策树的数量、每个决策树所使用的特征数量等。
《随机森林算法优化研究》篇一摘要:本文以随机森林算法作为研究对象,探讨其优化方法和效果。
随机森林作为一种集成学习算法,虽然已经取得了较好的效果,但仍有进一步优化的空间。
本文从数据预处理、特征选择、模型参数调整和集成策略等多个方面,对随机森林算法进行了优化研究,旨在提高其分类和回归任务的准确性和泛化能力。
一、引言随着大数据时代的到来,机器学习算法在众多领域得到了广泛的应用。
其中,随机森林算法因其简单高效的特点备受关注。
随机森林通过构建多个决策树,并利用这些树的投票或加权平均结果,提高模型的准确性和稳定性。
然而,随机森林算法在实际应用中仍存在一些问题和挑战,如过拟合、计算复杂度等。
因此,对随机森林算法进行优化研究具有重要的理论和实践意义。
二、数据预处理与特征选择在应用随机森林算法之前,数据预处理和特征选择是两个重要的步骤。
数据预处理包括数据清洗、缺失值处理、异常值处理等,可以有效提高数据的质量和模型的泛化能力。
特征选择则是从原始特征中选择出对分类或回归任务最重要的特征,降低模型的计算复杂度。
在数据预处理方面,可以采用基于统计的方法、基于机器学习的方法或基于深度学习的方法进行特征提取和转换。
在特征选择方面,可以利用基尼不纯度、信息增益等指标进行特征重要性的评估,并采用贪心算法、序列前向选择等方法进行特征选择。
三、模型参数调整模型参数的调整是优化随机森林算法的关键步骤。
通过调整决策树的数目、每个树的最大深度、叶子节点最小样本数等参数,可以平衡模型的复杂度和泛化能力。
此外,还可以采用交叉验证、网格搜索等方法对参数进行优化。
在参数调整过程中,需要关注过拟合和欠拟合的问题。
过拟合会导致模型在训练集上表现很好,但在测试集上表现较差;而欠拟合则会导致模型无法充分学习数据的特征,导致准确率较低。
因此,需要通过调整参数和验证集的划分来平衡这两个问题。
四、集成策略优化随机森林算法通过集成多个决策树的结果来提高模型的准确性和稳定性。
改进随机森林算法的效率和准确性随机森林是一种集成学习算法,通过组合多个决策树来进行分类和回归任务。
它是一种非常强大的算法,因为它能够减少决策树的过拟合问题,并且能够处理大量的特征。
然而,随机森林算法也存在一些问题,如效率低下和准确性不高。
因此,如何改进随机森林算法的效率和准确性成为了研究人员关注的焦点。
首先,我们来讨论如何改进随机森林算法的效率。
传统的随机森林算法在构建每个决策树时都需要遍历所有特征,并选择最佳分割点。
这种方法在处理大量特征时会变得非常耗时。
为了提高效率,我们可以使用一些技术来减少特征数量。
一种方法是使用主成分分析(PCA)来降维。
PCA可以将原始特征空间转换为新的低维空间,并保留最重要的特征信息。
通过降维,我们可以显著减少特征数量,并且可以提高训练速度。
另一种方法是使用特征选择算法来选择最重要的特征。
特征选择算法可以根据特征的重要性对其进行排序,并选择最重要的特征。
通过仅使用最重要的特征,我们可以减少训练时间,并且可以提高模型的泛化能力。
除了减少特征数量,我们还可以通过并行计算来提高随机森林算法的效率。
随机森林算法中的每个决策树都是独立构建的,因此我们可以使用并行计算来加速决策树的构建过程。
通过利用多核处理器或分布式计算系统,我们可以同时构建多个决策树,从而大大缩短训练时间。
除了改进效率,提高随机森林算法的准确性也是非常重要的。
在传统随机森林中,每个决策树都是基于完整数据集进行训练的。
然而,在处理大型数据集时,完整数据集可能会导致过拟合问题,并且可能会导致模型泛化能力下降。
为了解决这个问题,我们可以使用自助采样技术来改进随机森林算法。
自助采样技术通过对原始数据集进行有放回抽样来生成多个不同的训练集。
每个决策树都是基于不同的训练集进行训练的,从而可以减少过拟合问题,并提高模型的泛化能力。
另一种方法是使用特征随机化技术来改进随机森林算法。
特征随机化技术通过对特征进行随机排序来构建决策树。
随机森林算法改进综述发布时间:2021-01-13T10:23:33.577Z 来源:《科学与技术》2020年第27期作者:张可昂[导读] 随机森林是当前一种常用的机器学习算法,张可昂云南财经大学国际工商学院云南昆明 650221摘要:随机森林是当前一种常用的机器学习算法,其是Bagging算法和决策树算法的一种结合。
本文就基于随机森林的相关性质及其原理,对它的改进发展过程给予了讨论。
1、引言当前,随机森林算法得到了快速的发展,并应用于各个领域。
随着研究环境等的变化,且基于随机森林良好的可改进性,学者们对随机森林的算法改进越来越多。
2、随机森林的原理随机森林是一种集成的学习模型,它通过对样本集进行随机取样,同时对于属性也随机选取,构建大量决策树,然后对每一棵决策树进行训练,在决策树中得到许多个结果,最后对所有的决策树的结果进行投票选择最终的结果。
3、随机森林算法改进随机森林的算法最早由Breiman[1]提出,其是由未经修剪树的集合,而这些树是通过随机特征选择并组成训练集而形成的,最终通过汇总投票进行预测。
随机森林的应用范围很广,其可以用来降水量预测[2]、气温预测[3]、价格预测[4]、故障诊断[5]等许多方面。
但是,根据研究对象、数据等不同,随机森林也有许多改进。
例如为了解决在高维数据中很大一部分特征往往不能说明对象的类别的问题,Ye et al.提出了一种分层随机森林来为具有高维数据的随机森林选择特征子空间[6]。
Wang为了解决对高位数据进行分类的问题,提出了一种基于子空间特征采样方法和特征值搜索的新随机森林方法,可以显著降低预测的误差[7]。
尤东方等在研究存在混杂因素时高维数据中随机森林时,实验得出基于广义线性模型残差的方法能有效校正混杂效应[8]。
并且许多学者为了处理不平衡数据问题,对随机森林算法进行了一系列的改进。
为了解决在特征维度高且不平衡的数据下,随机森林的分类效果会大打折扣的问题,王诚和高蕊结合权重排序和递归特征筛选的思想提出了一种改进的随机森林算法,其可以有效的对特征子集进行精简,减轻了冗余特征的影响[9]。
基于随机森林的改进算法
作为一种强大的机器学习算法,随机森林经常被用于解决众多的
分类和回归问题。
它是由多个决策树组成的集成学习模型,这些决策
树在彼此之间独立地进行学习,再通过投票方式进行整合,从而产生
更加准确和稳定的预测结果。
然而,在实际应用中,随即森林面临着一些问题和挑战,尤其是
对于数据集不平衡和噪声数据的情况,其效果可能会受到严重的影响。
为了克服这些问题,有许多针对随机森林的改进算法被提出。
其中,一种比较成功的改进算法是基于代价敏感的随机森林。
这
种算法主要是通过引入代价矩阵来对每个样本进行加权,以便更加关
注错误分类的样本。
同时,还可以设置不同的误分类代价,以应对数
据不平衡的情况。
另外,还有一种改进算法是基于自适应重采样的随机森林。
这种
算法可以根据数据分布的情况,动态地调整样本的权重和分布,从而
使得模型更加关注少数类别,从而提升整体的分类性能。
除此之外,还有一些其他的改进算法,例如基于随机森林的特征
选择方法、基于奇异值分解的随机森林等等。
这些算法都是为了提高
随机森林的性能和适应性,同时兼顾了算法的效率和计算复杂度。
总之,基于随机森林的改进算法在处理复杂数据集和应对数据不
平衡问题上具有很大的优势,是值得研究和应用的。
未来,随着机器
学习技术的不断发展,我们相信随机森林和其改进算法将会在更多的领域得到应用和发挥作用。
基于随机森林的文本分类算法改进与性能评估随机森林(Random Forest)是一种常用的机器学习算法,被广泛应用于文本分类任务中。
本文将介绍基于随机森林的文本分类算法的改进方式,并对其性能进行评估。
首先,我们需要了解随机森林算法的基本原理。
随机森林是一种集成学习方法,通过组合多个决策树来进行分类。
每个决策树在训练时使用随机选择的特征子集进行训练,以增加模型的多样性。
最终的分类结果由多个决策树投票得到。
在改进随机森林的文本分类算法时,我们可以考虑以下几个方面:1. 特征选择:文本分类的性能很大程度上依赖于选择合适的特征。
传统的方法是使用词袋模型表示文本,并计算词频、TF-IDF 等特征。
然而,这些方法忽略了单词之间的关系。
我们可以考虑使用词嵌入(word embedding)技术来表示文本,将单词映射到低维向量空间中,从而保留了单词之间的语义信息。
2. 数据预处理:文本分类算法通常需要对原始文本进行一些预处理操作,例如分词、去除停用词、大小写转换等。
这些操作有助于提取文本的有用信息,同时减少噪声干扰。
此外,还可以考虑使用词形还原(lemmatization)和词性标注(part-of-speech tagging)等技术,进一步提高分类效果。
3. 参数调优:随机森林算法中的一些参数可以对分类性能产生重要影响。
例如,决策树数量、特征子集大小等。
我们可以使用交叉验证等技术来选择最佳参数组合,以提高算法的性能。
4. 集成策略:随机森林算法通常使用简单的多数投票策略来决定最终的分类结果。
然而,对于不平衡的数据集或某些特定的类别,这种策略可能会导致性能下降。
因此,我们可以考虑使用加权投票或基于置信度的投票策略,以提高分类准确率。
在对基于随机森林的文本分类算法进行性能评估时,我们可以采用以下指标:1. 准确率(Accuracy):分类模型的预测结果与实际标签的一致性程度。
2. 查准率(Precision):真正例(True Positive)占预测正例(Predicted Positive)的比例。
机器学习中的数据不平衡问题处理方法研究在机器学习中,数据不平衡问题是一个普遍存在的挑战。
数据不平衡指的是训练数据集中不同类别的样本数量差异很大,可能导致模型对于少数类别的样本预测能力较差。
解决数据不平衡问题对于构建准确且鲁棒的机器学习模型至关重要。
本文将介绍一些常用的数据不平衡问题处理方法,并评估它们的优缺点。
一、欠采样方法欠采样方法是通过减少多数类别的样本数量来平衡数据集。
其中一种常见的欠采样方法是随机欠采样,即随机删除多数类别的样本,使得多数类别和少数类别的样本数量接近。
然而,随机欠采样可能会导致信息丢失,因为删除了许多原始数据中的有用信息。
为了克服信息丢失的问题,可使用更复杂的欠采样方法,如Tomek 链接和CNN。
Tomek链接通过删除多数类别和少数类别之间的Tomek 链接样本来进行欠采样。
Tomek链接指的是某两个不同类别样本之间的最近邻,而这两个样本的标签不同。
CNN是一种基于聚类的欠采样方法,它通过聚类多数类别样本并删除每个簇中距离簇中心最远的样本来进行欠采样。
优点:欠采样方法简单易懂,易于实施。
缺点:欠采样可能会导致信息丢失,且在处理大规模数据集时计算开销较大。
二、过采样方法过采样方法是通过增加少数类别的样本数量来平衡数据集。
其中一种常见的过采样方法是随机过采样,即通过复制少数类别的样本来增加其数量。
然而,随机过采样可能导致模型对于少数类别的样本过于拟合,从而降低模型的泛化能力。
为了解决过拟合问题,可以使用更复杂的过采样方法,如SMOTE 和ADASYN。
SMOTE通过合成新的少数类别样本来进行过采样,具体方法是对于每个少数类别样本,选择其k个最近邻样本,并在其与这些最近邻样本之间的线段上随机插入新样本。
ADASYN是SMOTE的扩展,它根据样本类别的不平衡程度对每个少数类别样本分配不同的采样权重。
优点:过采样方法能够增加数据集中少数类别的样本数量,提高模型对于少数类别的预测能力。
改进SMOTE的非平衡数据集分类算法研究赵清华;张艺豪;马建芬;段倩倩【摘要】针对随机森林和SMOTE组合算法在处理不平衡数据集上存在数据集边缘化分布以及计算复杂度大等问题,提出了基于SMOTE的改进算法TSMOTE(triangle SMOTE)和MDSMOTE(Max Distance SMOTE),其核心思想是将新样本的产生限制在一定区域,使得样本集分布趋于中心化,用更少的正类样本点人为构造样本,从而达到限制样本区域、降低算法复杂度的目的.在6种不平衡数据集上的大量实验表明,改进算法与传统算法相比,算法消耗时间大幅减少,取得更高的G-mean值、F-value值和AUC值.【期刊名称】《计算机工程与应用》【年(卷),期】2018(054)018【总页数】6页(P168-173)【关键词】随机森林;SMOTE算法;不平衡数据集【作者】赵清华;张艺豪;马建芬;段倩倩【作者单位】太原理工大学信息工程学院&新型传感器和智能控制教育部(山西)重点实验室微纳系统研究中心,太原 030600;太原理工大学信息工程学院&新型传感器和智能控制教育部(山西)重点实验室微纳系统研究中心,太原 030600;太原理工大学信息工程学院&新型传感器和智能控制教育部(山西)重点实验室微纳系统研究中心,太原 030600;太原理工大学信息工程学院&新型传感器和智能控制教育部(山西)重点实验室微纳系统研究中心,太原 030600【正文语种】中文【中图分类】TP3911 引言随机森林通过自助采样[1]获得数据子集构建决策树得到很好的分类预测效果,被广泛应用于数据挖掘各个领域中。
在数据挖掘实际应用中,数据采集后的数据集样本通常是不平衡的。
所谓不平衡样本数据集是指某一类的样本数量明显少于另一类样本数量,在二分类问题中,数量占优势的类别通常称为负类或多数类,数量稀少的分类通常称为正类或少数类。
Weiss通过大量实验总结了不平衡数据集异常点、噪声和某一类样本数量稀少等问题[2],得出了随机森林分类器在分类预测不平衡数据集时,结果倾向于多数类,造成很大的预测误差。
随机森林的改进和应用研究随机森林是一种常用的机器学习算法,它通过集成多个决策树来进行分类和回归任务。
随机森林的改进和应用研究一直是学术界和工业界的热点领域。
本文将从改进随机森林算法的角度出发,探讨其在不同领域的应用,并讨论当前研究中存在的问题和未来发展方向。
一、随机森林算法改进1.1 随机特征选择在传统的决策树算法中,特征选择通常是根据信息增益或基尼系数来进行。
然而,这种方法容易导致过拟合问题。
为了解决这个问题,研究者们提出了随机特征选择方法。
该方法通过在每个节点上随机选择一部分特征进行划分,从而减少了过拟合风险,并提高了模型的泛化能力。
1.2 随机样本选择传统决策树算法通常使用全部样本进行训练,在每个节点上选取最佳划分样本。
然而,在处理大规模数据集时,这种方法效率低下且计算复杂度高。
为了解决这个问题,随机森林引入了随机样本选择方法。
该方法通过随机选择一部分样本进行训练,从而加快了训练速度,同时保持了模型的准确性。
1.3 随机森林的并行化随机森林是一种天然的并行算法,因为每个决策树可以独立地训练。
研究者们通过并行化算法来加速随机森林的训练过程。
例如,可以使用多线程或分布式计算来同时训练多个决策树。
这种并行化方法不仅提高了算法的效率,还为处理大规模数据集提供了可能。
二、随机森林在分类任务中的应用研究2.1 文本分类文本分类是自然语言处理中一个重要的任务。
传统方法通常使用词袋模型和TF-IDF等特征表示方法,并结合支持向量机或朴素贝叶斯等分类器进行分类。
然而,这些方法在处理高维稀疏特征时存在一定困难。
近年来,研究者们利用随机森林算法进行文本分类,并取得了不错的效果。
随机森林通过集成多个决策树对文本进行分类,能够有效地处理高维稀疏特征,提高分类准确率。
2.2 图像分类图像分类是计算机视觉中一个重要的任务。
传统方法通常使用手工设计的特征提取器和支持向量机或卷积神经网络等分类器进行分类。
然而,这些方法在处理大规模图像数据时存在计算复杂度高和特征表示能力有限的问题。
收稿日期:2018-07-21 修回日期:2018-11-14 网络出版时间:2019-03-06基金项目:中央高校基本科研业务费专项资金项目(2017ZYXS09)作者简介:刘耀杰(1992-),男,硕士研究生,研究方向为机器学习㊁数据挖掘㊁深度学习;刘独玉,博士,副教授,研究方向为数据挖掘㊁鲁棒稳定性控制㊂网络出版地址: /kcms /detail /61.1450.TP.20190306.0952.068.html基于不平衡数据集的改进随机森林算法研究刘耀杰,刘独玉(西南民族大学电气信息工程学院,四川成都610041)摘 要:随机森林算法在多种应用场景与数据集中都实现了良好的模型分类效果,但该算法在应用于不平衡二分类数据集时,受限于样本数据量本身的好坏比倾斜与决策子树叶节点投票机制,对样本量占相对少数的小类属样本不能很好地对分类进行表决㊂对此,文中对原有随机森林算法的节点分类规则进行改进㊂在模型训练过程中,综合考虑度量节点样本分类占比与节点深度,增加有利于少量类样本分类信息,从而提高了少数样本类的分类准确率㊂通过在不同数据集上进行随机森林改进算法的效果测试,证明改进算法相对于传统算法在不平衡数据集上有更好的模型表现,大样本条件下少量类样本分类准确率有显著提升㊂关键词:不平衡数据集;随机森林;决策树;节点分裂;分类准确率中图分类号:TP301.6 文献标识码:A 文章编号:1673-629X (2019)06-0100-05doi:10.3969/j.issn.1673-629X.2019.06.021Research on Improved Random Forest Algorithm Based onUnbalanced DatasetsLIU Yao -jie ,LIU Du -yu(School of Electrical and Information Engineering ,Southwest Minzu University ,Chengdu 610041,China )Abstract :Random forest algorithm has achieved a great classification effect in a variety of scenarios and datasets ,but when applied in the unbalanced binary classification datasets ,it is restricted to the imbalance of sample data itself and the leaf node voting mechanism ,the sample which size of relatively few samples can ’t vote on classification very well.For this ,we improve the node classification rules of o⁃riginal random forest algorithm.In model training ,by considering sample classification proportion and the depth of the measurement nodes comprehensively ,and increasing classified information in favor for the small amount of samples ,the accuracy of the few sample classification can be raised.After testing on different datasets ,it proves that the improved algorithm on unbalanced dataset has better per⁃formance than the traditional algorithm ,and that the few sample classification accuracy has been increased significantly under the condition of large amount of dataset.Key words :imbalance data ;random forest ;decision tree ;node split ;classification accuracy0 引 言随机森林算法(random forest ,RF )是一种集成机器学习方法,利用随机重采样技术Bootstrap 和节点随机分裂技术构建多棵决策树,通过投票得到最终分类结果[1]㊂RF 算法在含有缺失值和噪声的数据集上表现出良好的鲁棒性,并且可以利用并行计算方式加快学习速度,目前广泛应用于分类问题中㊂分类是数据挖掘中最常见的任务,利用数据挖掘的方法充分发掘数据潜在信息应用于分类预测中,建立预测模型,可以对待解决问题进行有效预测[2]㊂在现实场景中,大量的分类问题数据集分布并不均衡,而且每个分类的重要程度也不尽相同㊂然而大量的实践经历和研究表明,随机森林算法在样本数量不均衡的情况下,由于算法追求全部样本集分类精度最大化,导致对少类样本分类和预测的准确率远低于对多类样本分类和预测的准确率,即算法偏向于多类[3-4]㊂国内第29卷 第6期2019年6月 计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT Vol.29 No.6June 2019外研究人员已经做了大量的工作和尝试,主要从两个方面来解决不平衡分类问题,分别为数据预处理的方法[5-6]和算法级改进的方法[7-8]㊂但这些方法都存在一些不足之处,例如数据预处理方法可能造成数据的完整性缺失或者数据冗余,算法级改进可能造成模型的局部过拟合或加大计算资源开销等㊂文中针对这一问题,对原有随机森林算法的节点分类规则进行改进:在模型训练过程中,综合考虑度量节点样本分类占比与节点深度,增加有利于少量类样本分类信息,从而提高少数样本类的分类准确率㊂1 随机森林算法1.1 算法简介随机森林算法由Leo Breiman(2001)[9]提出,通过自助法(Bootstrap)重采样技术,从原始数据集N中有放回重复随机抽取b个样本生成新的训练样本集合,通常抽样个数b等于数据集样本数,因为是有放回抽样,所以有些样本会被重复抽取,同时随机漏掉一部分样本,经过采样后的训练集样本大小通常为原始样本大小的三分之二;之后根据每个训练集分别建立决策树,将训练好的多个决策树分类器通过Bagging[10]方法集成,形成 森林”,通过投票的方法集成多个决策树的分类结果,输出最终结果㊂随机森林算法中的决策树在进行训练生长过程中,不进行优化剪枝,生长条件仅限制于最大深度和叶节点相关属性等生长控制条件,能有效防止决策树过拟合;另外在训练决策树过程中,对特征集也进行了随机抽样,通过无放回抽样,每次使用特征集中的一部分进行决策树构建,通过特征集与样本集的双重随机机制,构成随机森林算法的算法基本思想㊂随机森林算法步骤如下:输入:训练集S={(x i,y i),i=1,2, ,n},(X,Y)∈R d×R,待测样本xt∈R d;For i=1,2, ,N tree;1.对原始训练集S进行Bootstrap抽样,生成训练集S i;2.使用S i生成一棵不剪枝的树h i:(1)从d个特征中随机选取M try个特征;(2)在每个节点上从各特征中依据Gini指标选取最优特征;(3)节点分裂直到达到生长上限㊂End输出:树的集合{h i,i=1,2, ,N tree};对待测样本x t,决策树h i输出h i(x t)㊂1.2 算法优势随机森林算法具有如下一些优点:(1)随机森林算法可以处理高维数据,并且不用做特征选择㊂随机森林算法可以对特征的重要程度进行自排序和筛选,也可以对样本特征进行打分㊂(2)模型泛化能力强,不容易过拟合㊂创建随机森林的时候,对generalization error使用的是无偏估计,通过多重随机,算法具有良好的泛化能力㊂(3)训练速度快,可以并行计算㊂由于每个基分类器都是独立的,所以在内存允许的条件下可以进行并行计算,大大提高了算法效率㊂(4)对样本缺失值不敏感,甚至在缺失值较多的情况下也可以获得较好的训练精度㊂1.3 算法缺陷在实际应用中,随机森林算法会有如下不足: (1)对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的㊂(2)随机森林算法在某些噪声较大的分类或回归问题上存在过拟合㊂(3)对于不平衡数据集,虽然算法有一定的平衡效果,但由于分类结果倾向于最大分类正确率,少量类样本分类结果依然不理想㊂2 不平衡分类问题研究现状现实中针对不平衡数据集分类问题,国内外研究人员已经做了大量的工作和尝试,主要从数据层面[5-6]和算法层面[7-8]来解决不平衡分类问题㊂数据层面主要通过调整正负样本比例来平衡数据集㊂算法层面主要通过改进传统算法或设计新算法来适应不平衡数据集㊂2.1 数据层面改进数据层面的改进通常较简单,主要有三种方法:少量类样本过采样㊁大量类样本欠采样和混合采用㊂通过平衡数据集,有效改善传统分类器对少量类样本的辨识精度[3]㊂文献[6]提出了一种基于模糊样本修剪和非监督型的数据集欠采样解决方法,通过K-means 模糊样本修剪技术处理样本集内部噪声数据和边界点,再利用非监督方法对大量类样本集进行欠采样,在缩小样本间数量差异的同时尽量降低数据集的信息损失㊂然而过采样会增大数据集规模,一方面使训练时间增长,另一方面容易使模型过拟合㊂欠采样则会造成整体数据集信息缺失㊂2.2 算法层面改进对于算法层面的研究主要是改进传统算法来更好地适应不平衡分类数据集,或者研究出新的算法让分类的规则更加适应不平衡分类数据集㊂传统算法一般追求整体分类精度最优,如果训练集是不平衡分类数据集,则分类器会提升整体准确率来进行建模,从而导致正样本的分类精度较低,负样本的分类精度较高㊂㊃101㊃ 第6期 刘耀杰等:基于不平衡数据集的改进随机森林算法研究文献[7]提出一种基于代价敏感机制的GBDT算法,针对样本分类间的不平衡性及重要程度引入代价敏感指标权重,在构建GBDT算法模型过程中加大了少量类样本在梯度提升过程中的权重,对于少量类样本分类精度的提升取得了一定效果㊂文献[8]在随机森林算法模型构建过程中对决策子树引入了权重指标,通过模型二次训练,在第一次训练给出决策子树权重的基础上提升二次训练模型的准确率,通过给出集成学习模型中不同子分类器的权重提升模型效果,但这种方法弱化了随机森林算法在充分随机化下的抗干扰能力,一定程度上增加了过拟合风险㊂3 基于叶节点分裂规则改进的随机森林优化算法3.1 算法思路随机森林算法在训练过程中,为获得优良的泛化能力,通常会限制树的深度和参与训练的特征集大小,这意味着部分有用信息被随机性丢弃了㊂每次节点分裂都是利用当前可用特征所蕴含的信息,将节点划分为两个 纯度”更高的节点,也就是说会分裂出一个大量类样本占比相对父节点更高的子节点和另一个少量类样本占比相对父节点更高的子节点,即 诱导”森林中已经 生长”到条件限制深度的决策树偏向少量类节点继续 生长”㊂随机森林中每个决策树的叶节点构成了分类预测打分的基础结构[11],在对测试样本进行分类决策的过程中,每棵决策树都参与投票,在决策树进行分类过程中到达的叶节点中正负样本的比例构成了投票的基本打分[12],然而由于数据集的不平衡性,叶节点中大量类样本占比通常占优势,这种状态下必然导致少量类样本误分率偏高㊂原有算法针对不平衡数据集未做单独处理,文中针对不平衡数据集做了相应改进,提出了一种针对不平衡数据集的节点再分裂规则,对于少量类占比高于某一阈值的节点,进行再次分裂㊂由于随机森林算法的 诱导生长”过程依然存在一定的随机性[13],并且在节点分裂过程中备选特征集依赖于随机森林算法中的特征随机化,所以改进算法在增加决策树最大深度的同时尽量减小了模型过拟合风险,通过这种方法可以进一步发掘蕴含少量类样本分类的有效信息,增加最终分类决策中少量类样本的投票权重㊂算法为了充分利用少量类样本的信息,尝试在决策树的每个节点中都刻画出少量类样本所占比例,通过该比例说明对少量类样本的利用情况㊂为此,引入了一个新的定义,当前节点少量类样本数D L在当前节点样本总数D中的占比为当前节点纯度P(P= DLD)㊂P值越大,说明当前节点少量类样本占比越大,当前节点信息熵值越高,代表该节点在进一步分裂时可能产生效果较好的划分㊂设训练集样本总数为N,训练集少量类样本数为NL,则二分类训练集偏斜程度B Rate=NLN㊂在算法实践的过程中发现,以B Rate值作为进一步分裂节点参考的阈值存在这样一个问题:在某些数据集上,尤其是B Rate 值很小的数据集上,容易使大量节点满足分裂条件而导致决策子树规模明显变大,使模型复杂度快速提升,从而引发模型过拟合效应;经过实践发现,采用B Rate 值的开平方作为阈值较为理想,开平方函数在0-1范围内属于单调递增凸函数,相当于对自变量进行了 平滑”处理,例如当B Rate=0.05时,B Rate=0.224,经过开平方函数处理后B Rate值扩大4.48倍,而当B Rate= 0.5时,B Rate=0.707,B Rate值仅扩大1.414倍,经过开平方函数处理后,削弱了极端值对整个算法稳定性的影响㊂3.2 算法描述算法流程如图1所示㊂算法步骤如下:(1)计算样本集少量类样本数占比;(2)根据设定随机森林决策树数目进行样本与属性的双重抽样,同时记录每个抽样样本集备选属性集;(3)构造决策树,依据设定决策树深度及最小叶节点规模利用抽样后的样本集进行模型训练,在决策树达到当前生长条件准备构造叶节点时,判断当前节点P值是否大于设定阈值,若满足条件,则加入备选属性集循环分裂节点直到节点深度达到特征值数量上限或当前节点P值小于设定阈值,构造叶节点; (4)利用不同抽样样本集以步骤3构造多个决策树模型;(5)使用测试集样本进行验证,利用已经构建的多棵决策树对每一个测试样本综合输出分类结果,其中每一个决策树模型单独输出一个分类概率,最终输出分类结果为多决策树模型输出结果的加权平均值㊂4 实 验4.1 实验描述实验硬件平台为Intel Core i7-4700MQ型号CPU 和8GB内存的PC;代码执行平台为QT5,算法实现语言采用C++;实验数据来源为标准数据集UCI上的不同数量级㊁不同属性个数㊁样本分布均衡程度不同的五个二分类数据集,数据集的数据分布情况见表1㊂㊃201㊃ 计算机技术与发展 第29卷图1 算法流程表1 样本集数据分布编号数据名称样本个数属性个数正类样本占比1data_banknote_authentication137150.4452credit_card_clients30000230.221 3spambase4600570.394 4ionosphere350340.360 5census-income299283410.062 为了说明算法改进效果,实验在相同条件下分别验证标准随机森林算法与改进算法的分类结果㊂实验过程采用五折交叉验证,通过实验结果比对分析算法改进效果及性能㊂分类结果评价指标为误分率㊁召回率(TPR)㊁真负率(TNR)㊂定义样本数据经过模型分类后的四种结果为:TP:预测为正,实际为正;FP:预测为正,实际为负;TN:预测为负,实际为负;FN:预测为负,实际为正㊂定义TPR=TPTP+FN,表示分类器识别出的正类数占测试集正类数比重㊂定义TNR= TNFP+TN,表示分类器识别出的负类数占测试集负类数比重㊂4.2 实验结果及分析实验结果多指标对比见表2㊂㊃301㊃ 第6期 刘耀杰等:基于不平衡数据集的改进随机森林算法研究表2 实验结果多指标对比编号数据名称算法误分率TPR TNR 1data_banknote_authentication标准算法0.0920.8660.94改进算法0.0970.8880.914 2credit_card_clients标准算法0.1850.3350.952改进算法0.1870.4370.92 3spambase标准算法0.0490.9170.973改进算法0.0700.9570.913 4ionosphere标准算法0.0850.9260.892改进算法0.1620.9850.568 5census-income标准算法0.0500.2670.995改进算法0.0480.3560.991 通过实验结果对比发现:改进算法相对原标准算法TPR指标均有不同程度的提高,一般情况下训练样本越大,样本集的信息越丰富,也越能够反映真实情况下样本的分布情况;实验中样本集规模较大㊁特征丰富的样本集TPR指标提升效果最为明显,同时虽然TNR 指标和整体误分率指标有轻微下降,但下降幅度相对TPR指标提升效果不明显;参与测试的六个样本集中有四个误分率指标变化控制在5‰以内,TNR指标变化控制在5‰左右,其中样本数量最大的两个样本集(2号样本集样本量为30000,5号样本集为300000)的误分率指标变化都为2‰,TNR变化值分别为3.2%和0.4%,而TPR提升值分别为10.2%和8.9%㊂结果表明:在样本类分布不均衡的5个实验样本中运用改进的随机森林算法,少量类样本分类准确率都有所提高,同时样本集整体误分率㊁TNR指标波动相比TPR指标并没有产生明显的下降;改进的随机森林算法在大样本,高维度的不平衡数据集上效果明显,在取得良好的TPR指标提升效果的同时,数据集误分率与TNR指标下降波动低于TPR增加幅度一个数量级以上㊂5摇结束语文中提出一种基于不平衡数据集的节点分裂规则改进随机森林分类器,用于解决样本不平衡对随机森林分类效果的不良影响㊂该算法在构建子树的过程中针对节点分裂机制引入样本类占比,针对训练样本集原有样本类占比值直接作为节点分裂参考指标产生的不稳定性,引入开平方函数,利用该函数一阶导数递减性,弱化样本类占比值直接作为阈值指标带来的潜在不稳定性,有针对性地引入一定比例的备选特征集应用于对于增加少量类样本分类权重有明显价值的少数节点,在挖掘少量类样本潜在信息的同时避免了决策子树深度增加带来的叶节点指数增长,从而降低了过拟合风险㊂在样本失衡比例不同的多个UCI数据集上的实验结果表明,相对于原有随机森林算法,该算法提高了少量类的分类准确率,样本量越大,特征空间维数越高,算法表现越好㊂但是算法在少量类低维样本数据集上的表现不稳定,效果相对较差,还有待进一步完善㊂参考文献:[1] 姚登举,杨 静,詹晓娟.基于随机森林的特征选择算法[J].吉林大学学报:工学版,2014,44(1):137-141. [2] 董跃华,刘 力.基于均衡系数的决策树优化算法[J].计算机应用与软件,2016,33(7):266-272.[3] 连克强.基于Boosting的集成树算法研究与分析[D].北京:中国地质大学(北京),2018.[4] 王日升,谢红薇,安建成.基于分类精度和相关性的随机森林算法改进[J].科学技术与工程,2017,17(20):67-72.[5] 徐少成.基于随机森林的高维不平衡数据分类方法研究[D].太原:太原理工大学,2018.[6] ANIS M.基于邻近重采样和分类器排序的信用卡欺诈检测中不平衡数据研究[D].成都:电子科技大学,2018.[7] 王天华.基于改进的GBDT算法的乘客出行预测研究[D].大连:大连理工大学,2016.[8] 叶 枫,丁 锋.不平衡数据分类研究及其应用[J].计算机应用与软件,2018,35(1):132-136.[9] BREIMAN L.Randomforest[J].Machine Learning,2001,45(1):5-32.[10]BREIMAN L.Baggingpredictors[J].Machine Learning,1996,24(2):123-140.[11]唐耀先,余青松.消除属性间依赖的C4.5决策树改进算法[J].计算机应用与软件,2018,35(3):262-265. [12]黄小猛.异构代价敏感决策树与随机森林核心技术[D].桂林:广西师范大学,2013.[13]张 亮,宁 芊.CART决策树的两种改进及应用[J].计算机工程与设计,2015,36(5):1209-1213.㊃401㊃ 计算机技术与发展 第29卷。