代写计算机论文范本:基于重采样和集成学习的不平衡数据分类与推广探讨

发布时间:2023-07-22 07:45:55 论文编辑:vicky

本文是一篇计算机论文,本文首先介绍了该实验研究的背景和意义,并概述了不平衡数据的研究现状,包括采样层面和分类算法层面,对相关基础知识进行了归纳概括,并提出两种基于重采样和集成学习的不平衡数据分类方法:bCascade算法和bs-bC算法。

第一章引言

第一节研究背景及意义

计算机论文怎么写

在当今世界,互联网的发展速度越来越快,这其中的数据也越来越多。数据挖掘技术可以对互联网中的海量数据进行有效地删除冗余的信息,从而提炼出有用的信息。

分类(Classification)方法在实际应用中经常使用,这是由于它可以利用训练数据集构建出一个优秀的分类模型,还可以发现数据中所隐藏的价值,所以其被放在很多的应用领域。其中,很多分类方法一般只能用在数据集均衡的问题上[1]。

近年来,决策树算法、KNN算法、神经网络等算法在机器学习中得到了广泛的应用。已有的分类方法大多基于均衡的样本,并以总体的准确率为目标,在不均衡的样本下,其性能则表现不佳。在均衡的数据集中,各种类型的样本数目几乎相同,但是在不平衡的数据集当中,不同种类的样本数目之间却有着显著的差异。在分类模型的学习过程中,大部分所学习到的特征都是来自于多数类别,而少数类由于数量比较少,从而很可能会被忽略。此外,因为对总体的分类精度要求很高,分错负类数据比分错正类数据更严重,最终会造成对少数类样本的分类准确率的降低。

在机器学习中,不平衡数据集指的是各类的样本数不同,一种类型的样本数量远远超过另一种类型的样本数量,在实际生活中普遍存在,比如医疗方面的诊断、网络中的入侵检测、故障预测等[2]。由于错分少数类的代价通常较大,因此我们更关注于少数类,例如,在医疗诊断中,如果把重症病人误诊为健康的,可能对病人生命造成威胁。若利用不平衡分类技术那么医生就能更好地了解病人的临床症状和病历资料的相关性,然后依据相关数据对患者进行对应的诊断,以此减少医疗中的花销;又比如在信用卡欺诈或者电信欺诈等问题中[3],对于企业的交易往来,其中属于欺诈的是比较少的,检测会耗费大量的人力、物力和财力。

第二节国内外研究现状

对于非均衡分类问题,研究者们已经提出了许多种对应的方法,它们主要分为:数据层面的处理和对算法进行相应的改进。数据预处理方法与分类器没有直接联系,主要是重采样技术。该技术首先对数据集进行处理,使得样本在类别间的分布均衡,从而降低了不平衡比率,然后利用常规的分类器对其进行分类。算法改进方法旨在通过对已有算法进行修正,或针对非均衡数据提出能够更好地解决非均衡数据问题的新算法,其中有代价敏感方法[4]以及集成学习[5]方法。前者通过在少数类别样本中引入更高的误判代价,从而改善了分类器的性能;后者通过使用多个分类器来提升单一分类器的分类精度,同时也可以在此基础上引入重采样技术。

一、数据层面的研究现状

(一)重采样方面

重采样方面指的是对负类或正类样本数据进行重采样的操作,使得每一类的样本数量得到相对均衡的结果,因此可以提升算法对于正类样本的识别率。随机欠采样是最常用的对少数类样本操作的方法,它的优点是操作简单,缺点是容易丢失信息,从而不利于分类器的学习。为此有研究人员对于这些问题提出了对应的改进算法。Tomek links算法[6]提出:两个样本互相是对方的最近邻样本,而且它们属于不同的种类,通过移除Tomek Link就可以将类间的重叠样本清除,从而使这两个样本都属于同一个种类,从而能更好地进行分类;EditedNearest Neighbor算法[7]用最近邻规则编辑预分类的样本,去掉K个近邻点中有一半以上都不属于多数类的样本;NearMiss算法[8]分为三种类型,目的都是采用剔除信息量较少的负类样本,从而获得一些重要的负类样本,进而对随机欠采样进行改进。此外,有学者提出Easy Ensemble算法[9]来改善随机欠采样的缺点,生成多个平衡的子集,避免丢失信息。在此基础上,文献[10]在采样和算法层面对Easy Ensemble进行了改进,提升了其性能。

第二章相关研究基础

第一节不平衡数据分类方法

一、数据预处理层面

(一)欠采样方法

欠采样指的是依据相关方法对负类样本进行重新采样,采样后使得训练集中的两类样本数目趋于平衡。其中,在该方法中,随机欠采样是最先提出的,它是指随机地从数据集选取负类样本,来降低其个数以使数据集均衡。尽管该算法易于实现,但其随机程度很高,且容易损失多数类样本数据中的有用信息。

随着研究的发展与进步,有不少学者们提出了其他的欠采样方法,比如ENN算法。该算法的关键在于对噪声点进行检测,并将这些噪声点数据进行删除,避免这些数据对最后的分类效果产生影响。在对多数类样本点进行检测时,如果该样本附近的样本都是多数类样本,说明该样本点与计算结果有一定的偏差,就将这个样本点剔除,最后,在此基础上得到一个均衡的结果。

Tomek Link算法与上面的算法相似,都是通过减少类别中的多数类样本来实现数据的平衡。其思想主要是,如果在少数类样本中有多数类样本,或者相反的情况,那么这些距离非常接近的样本可以被看做Tomek对,然后将原始数据集中的多数类样本点看成是噪声,将其删除,以实现数据集均衡。

然而,这类方法也有其不足之处,在Tomek对中,无法确定到底是少数类样本中含有多数类样本,或者是相反的情况,即,这两个数据点都可能变成噪声,如果仅仅是为了将数据集由非均衡变为均衡,而将多数类样本去除的话,不但会忽视一些有用的信息,而且还可能会增大少数类样本的边界,从而降低分类性能。

第二节机器学习分类算法

一、KNN算法

KNN分类算法属于一种有监督学习,由于其工作机理很简单,所以其应用范围也很广,比如在下面的章节中所介绍的SMOTE算法,其中就涵盖了该算法,其主要流程如下:

(1)定义一个初始的数据集,其中的每类样本的类别是确定的。

(2)从集合中随机选取一个样本点,计算它与全部样本点的距离同时按照递增的顺序进行排序,这个距离通常是指欧氏距离,如式(2.3)所示:

(3)从集合中找出来与该样本有最近距离的K个样本,这些样本就作为该样本的K个近邻点。

(4)按照多数投票原则,在这K个数据中哪个类别的数量最多,就认为该数据属于这个类别。

KNN方法具有操作简便、准确率高、能同时作为分类和回归处理、也能同时处理线性和非线性问题等特点。但其不足之处在于其计算量比较大。由于KNN算法不具有学习过程,它是对样本集中的所有样本计算距离,因此算法的计算量比较大。在不平衡问题中,由于两种类别的样本数目相差较大,使得某一个样本点的K近邻全部为多数类样本,这将对KNN的分类性能造成很大的影响。不同的参数对分类器的性能也有很大的影响,一般通过交叉验证来选择最佳的参数值。此外,若不采取多数投票的规则,也可以采取加权投票的方式,例如把离测试样本点比较近的样本的权重设定为略大,除了根据数量和进行分类外,也可以依据权重和进行分类。

第三章基于重采样和集成学习的不平衡数据分类算法.........22

第一节Easy Ensemble算法..........................22

第二节Balance Cascade算法........................23

第三节bCascade算法...........................24

第四章实验设置及结果分析...............................32

第一节实验环境与实验设置......................32

第二节数据集描述及预处理.......................33

第五章总结与展望...........................46

第四章实验设置及结果分析

第一节实验环境与实验设置

计算机论文参考

本文采用spyder作为开发环境,操作系统为Windows10,CPU为Intel(R)Core(TM)i5-7200U CPU,内存为8GB。

为了方便,本文将bCascade算法简写为bBC,将Balance Cascade算法简写为BC。本文是在Balance Cascade算法的基础上进行了两个方向的改进,一是在数据层面的改进,加入了自助采样和Borderline-SMOTE过采样;二是在算法层面的改进,将Balance Cascade算法中的AdaBoost基学习器改为XGBoost算法。因此本文的实验设计旨在验证这两个方向的改进的有效性,同时将提出的两种算法与常用的不平衡数据分类算法进行比较。

实验总体设计如下:

为验证加入自助采样的有效性,将XBC(基分类器为XGBoost)与bBC比较,BC与AbBC(基分类器为AdaBoost)比较;

为验证加入Borderline-SMOTE过采样的有效性,将bBC与bs-bC比较,AbBC与bs-AbC(基分类器为AdaBoost)比较;

为验证加入XGBoost的有效性,将BC与XBC比较,bBC与AbBC比较,bs-bC与bs-AbC比较;

最后将所提的两种算法与经典算法EasyEnsemble,RUSBoost,BalanceCascade进行比较。

为了减小随机划分数据集造成的偏差且使得划分数据集后仍保持原本的不平衡比,本文所有实验均采取分层十折交叉验证的方式,即将整个数据集分成十份,对于训练而言,选用这十份中的九份,对于测试则采用剩下的那一份,最后的结果选择这十次训练的平均值作为参考。该方法能够比较准确的检查算法的有效性。

第五章总结与展望

类别不均衡的分类是一个需要长久解决的问题,虽然有很多的相关方法被提出来用于分类,但真实场景中的非均衡数据并不能使用一般的分类方法。比如在医疗诊断、金融欺诈等多个领域中,如果只看重分类器的精确率,并不能从小类数据中得到所需的信息,因此应该将注意力放在小类数据上。

本文首先介绍了该实验研究的背景和意义,并概述了不平衡数据的研究现状,包括采样层面和分类算法层面,对相关基础知识进行了归纳概括,并提出两种基于重采样和集成学习的不平衡数据分类方法:bCascade算法和bs-bC算法。bCascade算法在数据层面对小类数据进行Bootstrap采样,然后对大类数据沿用BC算法中的采样方式,以获得均衡的数据子集,其次对于基学习器,选取XGBoost算法用于训练,最后得到一个最终的分类器;bs-bC算法基于bCascade算法采取Borderline-SMOTE过采样操作,主要针对不平衡比较大的数据集。

在实验中,利用F1-measure、G-mean和AUC三个评估指标以对算法的总体效果进行评价,在5个公开的不平衡的医疗和金融领域相关的数据集上开展本文的实验,分别为改进方向和常用算法的对比实验,通过实验对比分析,所提的算法在三个指标上较其他分类算法有较大的提升,验证了算法的有效性,同时验证了可以提高对患病者和银行营销目标客户的识别。

参考文献(略)