一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种不平衡数据的二阶段重采样方法与流程

2022-02-24 12:38:58 来源:中国专利 TAG:


1.本发明属于机器学习中不平衡数据集的分类方法技术领域,涉及一种基于条件生成对抗网络和smoteenn的不平衡数据分类预处理方法。


背景技术:

2.机器学习作为人工智能领域的核心技术,被广泛应用于大数据分析,通过对海量复杂数据建立分类或回归模型,从中学到有价值的信息和规律。传统分类方法通常建立在一个基本假设之下,即数据集中各类别样本数一致或相当且错分代价等同。然而,在实际应用场景中能够采集到的数据往往存在数据不平衡问题,在数据不平衡条件下,以整体分类精度作为优化目标的传统分类学习方法会使学习出的模型对多数类样本产生偏向性,容易将少数类样本误判为多数类,故而难以保证少数类样本的分类精度。事实上,在多数情况下,少数类所包含的信息更受关注,误判的代价也更大。
3.目前,国内外学者主要从数据预处理、算法改进、或两者结合的途径来解决分类中的数据不平衡问题。数据预处理主要通过扩增少数类样本或缩减多数类样本来降低或消除类别间的数据不平衡性;算法改进主要通过在传统分类模型中引入代价敏感系数进行加权来降低模型对多数类的偏向性,达到提高少数类识别精度的目的。数据预处理与算法改进结合是将两种途径混合起来使用。
4.鉴于数据预处理途径解决数据不平衡问题具有对分类模型的广泛适用性,本发明主要关注相关数据预处理方法。在数据预处理方面,现有的方法大多是基于随机采样和smote方法的相关改进方法,这些数据预处理方法虽然都考虑了从少数类样本邻域出发进行过采样,确保新生成样本跟原始少数类样本的相似性,但并没有从数据中充分挖掘分布信息,使得生成的新样本不能很好还原少数类的分布特性,不利于分类,而且依然难以避免样本重叠问题。
5.近年来,机器学习方法为挖掘数据分布信息构造更有价值的新样本提供了新的途径。其中,goodfellow等人于2014年提出的生成对抗网络(generative adversarial networks,gan)尤其引人关注。生成对抗网络能够在不依赖任何先验假设的情况下实现对复杂数据分布信息的学习,生成能还原原始数据分布的高质量样本,对不平衡数据的处理十分有利。
6.但由于gan模型过于自由,在训练过程中难以达到稳定,容易出现梯度消失和模型崩溃的问题,并且gan模型一次只能学习一类数据的分布信息,对于含有多个类别的不平衡数据集,需要依次对不同类别的数据进行训练学习。条件生成对抗网络(conditional generative adversarial networks,cgan)在gan的基础上增加一个外部标签信息用以指导生成网络生成指定类别的数据,在一定程度上解决了gan存在的问题。
7.然而,基于cgan处理不平衡数据也存在明显不足,主要反映在cgan在博弈训练的过程中需要带标签的样本达到一定数量才能有效学习数据分布特性。所以,对于少数类样本数量较少或者不平衡率较高的不平衡数据集,条件生成对抗网络将很难学习到少数类样
本的分布特征,从而造成过采样生成的少数类样本质量欠佳。


技术实现要素:

8.本发明的目的是:针对传统采样方法在构建平衡数据集时往往会产生较多的重叠样本,而处理不平衡数据更具优势的cgan时常会因为正类样本数量的限制不能充分学习其分布特征难以生成高质量的合成样本,提出了一种不平衡数据的二阶段重采样方法。
9.本发明的目的可以通过采取如下技术方法达到:
10.一种不平衡数据的二阶段重采样方法,包括以下步骤:
11.步骤1:将数据归一化处理后的不平衡数据集s划分为训练集strain和stest,记训练集中少数类与多数类样本的数量为s0、s1,生成样本的数量add_num=s1-s0;
12.步骤2:采用smoteenn方法过采样处理原始不平衡数据集s,并记采样后的正类样本集为s2,正类样本标签为y0;
13.步骤3:基于正类样本集s2训练cgan模型;
14.步骤4:保存生成网络模型,随机生成add_num个服从高斯分布pg,维度dz=100的噪声集合z1,并将噪声集合z1和样本标签一同作为生成网络的输入即可生成类似原始数据分布的add_num个正类样本;
15.步骤5:将生成的add_num个正类样本与原始训练集strain合并即可得到平衡训练集sn;
16.步骤6:基于平衡训练集训练分类器,并在测试集stest上进行测试,得出样本集处理后的分类结果。
17.所述步骤1中数据进行归一化处理为将原始数据集中的数据按照比例缩放,使数据取值范围为[0,1]内,不平衡数据集s中的80%为训练集,20%为测试集。
[0018]
所述步骤2中的smoteenn方法为smote方法的改进,具体步骤为:
[0019]
步骤2.1,对于每个少数类样本xi,根据欧式距离搜索每个少数类样本的k近邻;
[0020]
步骤2.2,设置过采样率n,在k近邻样本中随机选择一个样本xj;生成一个0到1之间的随机数ε,在xi和xj之间随机线性插值合成新样本xnew=xi ε*(xj-xi);
[0021]
步骤2.3,根据采样率n重复步骤2.1和2.2生成指定数量合成样本xnew,并将其加入原始样本中;
[0022]
步骤2.4:采用enn算法对新样本集中的每个样本按照k近邻规则进行分类,若不能被正确分类,则将该样本从样本集中删除,待所有样本被分类完毕得到新的样本集。
[0023]
所述步骤3中的基于正类样本集s2训练cgan模型的具体过程为:
[0024]
步骤3.1,随机生成batch size个服从高斯分布pg,维度dz=100的噪声集合z;
[0025]
步骤3.2,从样本集s2中抽取batch size个正类样本x;
[0026]
步骤3.3,基于噪声z、真实样本x和标签y0分别训练判别网络和生成网络,并根据优化目标计算二者的损失;
[0027]
步骤3.4,循环训练判别网络和生成网络,直至判别网络的输出概率为0.5或者达到训练次数结束训练。
[0028]
所述batch size=32,条件生成对抗网络的目标优化函数为:
[0029]
[0030]
式中:x为真实样本输出;pr为真实数据分布;pz为输入噪声分布;e为数据期望;
[0031]
g(z|y)表示生成网络的输出,d(x|y)为输入数据x为真实数据的概率,d(g(z|y))为输入数据g(z|y)为真实数据的概率。
[0032]
进一步,所述生成网络和对抗网络的结构均采用全连接神经网络,隐含层神经元个数分别为128、256、512、1024,生成网络的各层级之间使用droupout,判别网络各层级之间采用批标准化(batch normalization,bn)使梯度传播层次更深,加速模型收敛并减缓过拟合。
[0033]
本发明的有益效果是:首先使用smoteenn合成少数类样本得到平衡数据集,然后基于平衡数据集中的正类样本及标签变量训练cgan,以保证cgan能充分学习到正类样本的分布特征,从而提高生成网络生成样本的质量。将本发明和其他经典采样方法同时应用于多个不平衡数据集进行分类实验,结果表明:在合成样本的分布特征方面,采用本发明合成的样本中几乎没有重叠样本,而样本分布在还原原始样本分布的同时也丰富了数据的多样性;从各项评价指标的取值看,本发明对原始不平衡样本处理后再用svm进行分类,各项分类性能指标得到显著提升。
附图说明
[0034]
图1是本发明一种不平衡数据的二阶段重采样方法流程图;
[0035]
图2是本发明方法中cgan的生成网络和对抗网络结构图;
[0036]
图3是本发明方法和其他采样方法在ecoli1公开数据集中roc曲线对比图,其中本发明方法(enncgan)为红色部分曲线;
[0037]
图4是本发明方法和其他采样方法以svm为分类器对ecoli1数据集中少数类样本的合成分布图。
具体实施方式
[0038]
下面结合附图和具体实施方式对本发明进行详细说明。
[0039]
本发明采用的技术方案为一种不平衡数据的二阶段重采样方法,本发明整体流程如图1所示,该发明的具体步骤及相关伪代码如算法1所示。
[0040]
算法1:基于cgan和smoteenn的不平衡数据分类预处理方法
[0041]
输入:归一化处理后的原始不平衡数据集s;
[0042]
输出:样本集处理后的分类结果
[0043]
步骤1:将数据归一化处理后的不平衡数据集s划分为训练集strain和stest,记训练集中正负类样本的数量为s0、s1,生成样本的数量add_num=s1-s0
[0044]
步骤2:采用smoteenn方法过采样处理原始不平衡数据集s,并记采样后的正类样本集为s2,正类样本标签为y0。
[0045]
步骤3:基于正类样本集s2训练cgan模型
[0046]
for训练总次数epoch do随机生成batch size个服从高斯分布pg,维度dz=100的噪声集合z。从样本集s2中抽取batch size个正类样本x基于噪声z、真实样本x和标签y0分别训练判别网络和生成网络,并根据优化目标计算二者的损失。
[0047]
步骤4:保存生成网络模型,随机生成add_num个服从高斯分布pg,维度dz=100的
噪声集合z1,并将噪声集合z1和样本标签一同作为生成网络的输入即可生成类似原始数据分布的add_num个正类样本。
[0048]
步骤5:将生成的add_num个正类样本与原始训练集strain合并即可得到平衡训练集sn
[0049]
步骤6:基于平衡训练集训练分类器,并在测试集stest上进行测试,得出样本集处理后的分类结果。
[0050]
步骤1中数据进行归一化处理为将原始数据集中的数据按照比例缩放,使数据取值范围为[0,1]内,不平衡数据集s中的80%为训练集,20%为测试集。
[0051]
所述步骤2中的smoteenn方法为smote方法的改进,具体步骤为:
[0052]
步骤2.1,对于每个少数类样本xi,根据欧式距离搜索每个少数类样本的k近邻;
[0053]
步骤2.2,设置过采样率n,在k近邻样本中随机选择一个样本xj;生成一个0到1之间的随机数ε,在xi和xj之间随机线性插值合成新样本xnew=xi ε*(xj-xi);
[0054]
步骤2.3,根据采样率n重复步骤2.1和2.2生成指定数量合成样本xnew,并将其加入原始样本中;
[0055]
步骤2.4:采用enn算法对新样本集中的每个样本按照k近邻规则进行分类,若不能被正确分类,则将该样本从样本集中删除,待所有样本被分类完毕得到新的样本集;
[0056]
步骤3中的基于正类样本集s2训练cgan模型的具体过程为:
[0057]
步骤3.1,随机生成batch size个服从高斯分布pg,维度dz=100的噪声集合z;
[0058]
步骤3.2,从样本集s2中抽取batch size个正类样本x;
[0059]
步骤3.3,基于噪声z、真实样本x和标签y0分别训练判别网络和生成网络,并根据优化目标计算二者的损失。
[0060]
步骤3.4,循环训练判别网络和生成网络,直至判别网络的输出概率为0.5或者达到训练次数结束训练。
[0061]
步骤3.1中batch size=32,条件生成对抗网络的目标优化函数为:
[0062][0063]
式中:x为真实样本输出;pr为真实数据分布;pz为输入噪声分布;e为数据期望;g(z|y)表示生成网络的输出,d(x|y)为输入数据x为真实数据的概率,d(g(z|y))为输入数据g(z|y)为真实数据的概率。
[0064]
生成网络和对抗网络的结构均采用全连接神经网络,隐含层神经元个数分别为128、256、512、1024。生成网络的各层级之间使用droupout,判别网络各层级之间采用批标准化(batch normalization,bn)使梯度传播层次更深,加速模型收敛并减缓过拟合。
[0065]
本发明对不平衡数据处理后采用支持向量机进行实验验证,并用f1值recall、auc和g-mean这四个指标评价不平衡数据集分类的整体分类性能。
[0066]
召回率(recall),描述模型对正类样本的敏感度。
[0067][0068]
精确率(precision),描述被识别的正类样本中实际为正类样本的比例。
[0069][0070]
f1得分,精确率和召回率的调和平均,是不平衡数据集分类评价中最常见的标准。
[0071][0072]
g-mean,用于度量分类器在两类数据上的平均性能。
[0073][0074]
auc,roc曲线下方的面积,是从总体上评价分类器性能更便利的一种方法,其中,m和n分别表示数据集中正类样本和负类样本的个数。
[0075][0076]
本发明的数据从keel和uci数据库中选取了8组不平衡率在2到10之间的标准不平衡数据集进行实验验证,表1给出了8组数据集的具体信息。
[0077][0078][0079]
表1是本发明方法不平衡数据集特性描述
[0080]
为了验证本发明提出方法的有效性,首先选取以不平衡数据相关研究中使用频率较高的ecoli1数据集为例对本发明记性验证与分析,基于svm分类器绘制不同采样方法所得到的roc曲线,综合图3中不同采样方法的roc曲线和auc值可以看出,使用本发明方法预处理后的数据在svm分类器上进行分类实验所得到结果优于其他采样方法所得到的分类结果。
[0081]
为了更直观的体现出文中方法在不平衡数据分类预处理方面所表现出的优越性,首先划分出ecoli1不平衡数据集中的训练样本和测试样本,选择其中的训练样本并分别采用smote、adasyn、borderlinesmote、smoteenn、cgan和本发明方法enncgan生成一定数量的少数类样本使训练集趋于平衡,并从训练集中选取两个特征对真实样本和生成样本进行可视化展示。
[0082]
由图4不同采样方法采样结果分布图可以看出,使用本发明(enncgan)所生成的样本基本都在原始正类样本的分布区域中,说明通过smoteenn对原始样本进行扩增后可以使cgan充分学习到原始样本的分布特征,生成与原始样本差异更大、所提供信息更多的生成样本。
[0083]
仅凭直观的可视化展示还不足以证明本发明在不平衡数据分类预处理方面的优
越性,将基于上述评价指标对不同采方法进行更为详细的比较。
[0084]
采用svm分类器评估本发明方法的数据平衡化性能,以随机过采样,smote,adasyn,smoteenn,smotetome,bordeline-smote重采样后的数据作为比较对象,为了更清晰的比较各种采样方法,本发明把原始数据(or)和直接使用cgan重采样后的数据也作为比较对象。
[0085]
为保证实验结果不受随机因素的干扰与影响,首先将归一化处理后的原始样本划分为训练集和测试集,然后使用不同采样方法平衡训练集并基于svm和knn分类器做分类实验,最后在测试集上进行测试并得出recall、f-measure、g-mean和auc的值。如此重复50次并取测试结果的平均值作为最终的实验结果。将每个评价指标下的最大值用粗体标出,所得结果如表2所示,并可以得出如下结论。
[0086][0087][0088]
表2是本发明方法是以svm为分类器的不同指标结果
[0089]
从表2可以看出,采用svm本发明对不平数据的分类效果有较大的提升且优于其他几种采样方法。尤其是在f1、auc、g-mean这三个综合评价指标上表现突出,在多个数据集上
的分类结果都达到了最优值,虽然在小部分数据集中的分类测试中没有达到最好的效果,但差距也在可接受的范围内
[0090]
观察另一个指标recall,本发明方法也表现出一定的优势,在部分数据集上所得出的recall值略低于smoteenn和adasyn方法所得出的recall值。这可能是由于smoteenn和adasyn方法在对原始样本采样时容易生成较多的重叠样本,导致分类器在训练时对少数类样本较为敏感,从而表现出较高的召回率。而本发明方法在提高数据多样性的同时可能会引入少量的噪声,所以在recall指标上没有表现出明显的优势。
[0091]
综上,本发明方法在召回率和精确率之间较好的得到了平衡,在召回率取得不错表现的同时也在f1、auc、和g-mean这三个综合性指标上都有着明显的优势,可以说本发明方法对不平衡数据分类性能的提升优于其他方法。
[0092]
需要注意的是,具体实施方式仅仅是别发明的优选实施例而已,并不用于限制本发明,凡根据本发明权利要求和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献