论文部分内容阅读
分类是机器学习的重要任务之一,传统的分类方法有一个默认的假设,就是数据集中各类别所包含的样本是均衡的,故传统的分类方法都是以提高数据集的总体准确率为目标的。但是在现实生活中,经常会存在这样的数据,即某一类别所包含的样本的数量远远小于其他类别所包含的样本数量,我们称这样的数据为类别不平衡数据。在这些数据集中,人们主要关注的是小类样本的信息(少数类),但是传统的分类方法由于追求总体的准确率,很容易将全部样本判别为多数类,使得分类器在少数类样本上的效果变得很差。这样误分的代价是巨大的。类别不平衡问题由于其广泛的存在和自身的特殊性,已经成为机器学习和模式识别领域的焦点,是对传统分类方法的重大挑战。目前国际上对类别不平衡数据的研究主要集中在两个个层面:对数据集的处理和对分类算法的改进。对数据集的处理主要是用重采样的方法对数据集重构,改变原始数据集的分布,缩减其不平衡程度,主要方法有欠取样和过取样;对分类算法的改进主要是修改传统分类算法,使之适应类别不平衡数据分类,如代价敏感学习及基于Boosting的方法等。近几年也有学者提出将重构数据集和改进分类算法结合起来使用。对上述诸方法的研究已经取得瞩目的成就,在很大程度上改善了不平衡数据的分类现状,但是依然存在过度拟合、信息丢失等问题,影响了分类结果的可靠性和稳定性。因此,在不影响多数类分类精度的前提下提高少数类的识别率是一个很重要的研究课题。本文针对类别不平衡数据这一课题,从对数据集的处理以及分类算法的改进两方面展开研究,提出几种适合处理类别不平衡问题的新方法。本文的主要创新成果有:1.对数据集的处理:受级联结构的启示,提出了一种针对不平衡数据集分类的新方法,基于级联结构的Bagging分类方法(CasBagging)。该方法通过在每一级剔除一部分多数类样本的方式使数据集逐步趋于平衡,并应用欠取样技术得到训练集,用Bagging算法训练分类器,最后把每一级训练到的分类器集成为一个新的分类器。在weka平台上实现该算法,在10个UCI数据集上的实验结果表明,该方法优于原始Bagging和AdaBoost。2.对分类算法的改进:当用神经网络处理类别不平衡问题时,存在一个既定的事实,即少数类对误差函数的贡献要远远小于多数类的贡献,故训练出来的网络更倾向于识别多数类样本。针对这个问题,提出一种改进的反向传播算法WNN,在该算法中,首先根据样本所属的类别对其加权,少数类赋予较大权重,多数类赋予较小权重,然后重新定义了误差函数,使其在计算样本误差时考虑该样本的权重。在20个UCI数据集上的实验结果表明,该算法提高了少数类样本的识别率。3.提出一种不同于SMOTE方法的新型过取样算法NNSMOTE。采用非线性插值的思想,用神经网络为少数类合成新样本:对于每个少数类,首先找到它的k个近邻,然后用这些近邻作为神经网络的输入,训练出一个最大拟合这些近邻的新样本,作为人工合成样本参与到分类器的训练中。