一种基于数据分布的多集不平衡数据分类方法及装置

未命名 07-20 阅读:128 评论:0


1.本发明涉及机器学习和数据挖掘领域,具体涉及一种基于数据分布的多集不平衡数据分类方法及装置。


背景技术:

2.随着信息的爆炸式增长,如何有效利用海量数据、并从中提取有价值的信息成为关键,机器学习和数据挖掘是解决此问题的有效手段。分类问题是机器学习和数据挖掘中的一项重要任务,贝叶斯分类器、支持向量机等传统分类器已被广泛使用,但这些传统分类方法在应对不平衡分类问题时效果欠佳。所谓不平衡分类问题,是指数据集中各个类别的样本数目差距较大,且不同类别的样本错分代价不同,其中少数类错分代价更高。例如在信用卡欺诈检测问题中,仅有不到1%的数据为信用卡盗刷数据,在此类不平衡数据集上训练得到的传统分类器具有明显的偏向性,对少数类的识别准确率远低于多数类,但恰恰少数类才是问题的关键,即使分类器对多数类样本的分类准确率很高,若无法准确识别少数类数据,就无法达到欺诈检测的目的,这将对人们的财产安全造成威胁,对经济造成损失。不平衡分类问题在疾病检测、网络入侵检测、软件缺陷预测、危险行为预测等场景中也普遍存在,解决不平衡分类问题对人们的生产生活有重要意义,也因而获得了越来越多学者的关注。
3.针对不平衡数据分类问题,研究人员从多个角度进行了探索,目前主流的方法可以分为三类:第一类方法是基于数据层面,通过对数据进行重采样构造少数类与多数类数目平衡的数据集,包括过采样、欠采样和混合采样方法,其中过采样方法通过生成新的少数类样本来改善数据集的不平衡情况,易产生噪声、出现边界模糊、过拟合问题;欠采样方法通过删除部分多数类样本来改善数据集的不平衡情况,易丢失关键信息;混合采样方法是过采样方法与欠采样方法的结合,但采样比例的选择成为难点,另外,现有重采样方法往往忽略了数据分布信息,对分类性能造成不利影响。
4.第二类方法是基于特征选择层面,通过筛选出对类别区分更显著的特征来提高少数类的识别精度,该类方法同样存在易丢失关键信息的问题。
5.第三类方法基于算法层面,通过提出或改进机器学习算法,使少数类获得更多关注,主要可分为代价敏感分析和集成学习方法。其中代价敏感分析方法为少数类样本赋予更大的错分代价,以提高分类器对少数类样本的识别能力,但错分代价往往难以确认;集成学习方法通过训练多个弱分类器并进行组合获得强分类器,但在数据高度不平衡时,易出现训练的多个弱分类器差异性过大的情况,致使集成得到的强分类器性能不佳。


技术实现要素:

6.针对现有技术中存在的缺陷,本发明的目的在于提供一种基于数据分布的多集不平衡数据分类方法及装置,能够有效提高少数类样本的分类精度。
7.为达到以上目的,本发明提供的一种基于数据分布的多集不平衡数据分类方法,
具体包括以下步骤:
8.获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;
9.基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;
10.根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;
11.基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。
12.在上述技术方案的基础上,所述获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集,具体步骤包括:
13.获取不平衡数据集,所述不平衡数据集中多数类样本数大于少数类样本数;
14.将不平衡数据集划分为多数类样本集和少数类样本集
15.其中,xn表示多数类样本集,表示多数类样本,x
p
表示少数类样本集,表示少数类样本,nn表示多数类样本的数目,多数类样本为负样本,n
p
表示少数类样本的数目,少数类样本为正样本。
16.在上述技术方案的基础上,所述基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重,具体步骤包括:
17.使用k-means聚类算法将多数类样本集xn划分为k个类簇,表示为xn={c1…ck
},其中,ck表示划分后得到的第k个类簇;
18.根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间。
19.在上述技术方案的基础上,
20.以calinski-harabasz指标为判断依据,通过拐点法确定k的值;
21.所述calinski-harabasz指标的定义如下:
[0022][0023]
其中,s表示calinski-harabasz指标,tr表示矩阵的迹,bk表示类间协方差矩阵,wk表示类内协方差矩阵,n表示需要进行聚类操作的数据集的样本总数,k表示类簇的数目。
[0024]
在上述技术方案的基础上,所述根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间,具体的计算方式为:
[0025]
对于样本xi,获取样本xi和该样本所在类簇内的v个近邻样本的平均距离,即:
[0026][0027]
其中,d
ci
表示类簇中样本与近邻样本的平均距离,v表示近邻样本的数目,d
ij
表示
样本xi和样本xj之间的距离,xj表示样本xi在类簇内的近邻样本;
[0028]
计算样本xi与少数类样本集n
p
中v个近邻样本的平均距离,即:
[0029][0030]
其中,d
pi
表示类簇中样本与少数类样本集中近邻样本的平均距离,d
ik
表示样本xi和样本xk之间的距离,xk表示样本xi在少数类样本集中的近邻样本;
[0031]
对于样本xi,基于簇内与类间密度的采样权重定义为:
[0032][0033]
其中,wi表示采样权重,α表示平衡簇内密度和类间密度影响的参数,取值范围为[0,1];
[0034]
对于样本xi,采样区间定义为:
[0035][0036]
其中,si表示采样区间,n
cj
表示第j个类簇cj中的样本数目,θ
i-1
表示上一样本的采样区间边界,θi表示当前样本的采样区间边界,且θi=θ
i-1
+wi,θ0=0。
[0037]
在上述技术方案的基础上,所述根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建,具体为:
[0038]
计算各类簇的采样数目,每次采样时在区间[0,1]内生成随机数,根据计算得到的采样区间抽取对应的样本,构成新多数类样本集;
[0039]
将新多数类样本集与少数类样本集组合,共构建得到m个平衡子集。
[0040]
在上述技术方案的基础上,类簇的采样数目的计算方式为:
[0041][0042]
其中,qi表示采样数目,n
ci
表示类簇ci的样本数目。
[0043]
在上述技术方案的基础上,所述基于构建得到的多个平衡子集训练梯度提升分类模型,具体步骤包括:
[0044]
创建并初始化弱分类器f0(x),f0(x)的定义为:
[0045][0046]
其中,p(y=1|x)表示第一个平衡子集中正样本所占的比例;
[0047]
建立并训练m棵回归树,m为平衡子集的数目,每轮迭代后获得新的分类器,其中,损失函数采用对数损失函数,第m棵回归树hm(x)的损失函数负梯度为:
[0048][0049]
其中,r
m,i
表示第m棵回归树hm(x)的损失函数负梯度,f
m-1
(x)表示第m-1轮迭代后得到的分类器,xi表示第m个平衡子集中的样本,yi表示样本xi对应的标签,e表示自然常数,l(yi,f(xi)表示损失函数,表示求导符号,f(x)表示分类器,f(xi)表示用分类器对样本xi进行预测的结果;
[0050]
得到第m棵回归树用于训练的数据集为(xi,r
m,i
),第m轮迭代后得到的分类器为:
[0051]fm
(x)=f
m-1
(x)+ηρ
mhm
(x)
[0052]
其中,fm(x)表示第m轮迭代后得到的分类器,η表示学习率,ρm表示第m棵回归树的最优权重;
[0053]
经过m次迭代得到最终的强分类器fm(x)。
[0054]
在上述技术方案的基础上,所述采用训练完成的分类模型对测试集样本进行分类,具体步骤包括:
[0055]
采用得到的强分类器fm(x)对测试集样本进行预测;
[0056]
采用g-mean和f1-measure指标评价模型;
[0057]
其中,g-mean的定义为:
[0058][0059]
其中,tp表示预测值为正的正样本数目,tn表示预测值为负的负样本数目,fn表示预测值为负的正样本数目,fp表示预测值值为正的负样本数目,g-mean的数值越大表示分类器性能越好;
[0060]
其中,f1-measure的定义为:
[0061][0062]
其中,p表示精准率,即被正确分类的正样本占所有被预测为正样本的实例的比例,r表示召回率,即被正确分类的正样本占实际标签为正的样本的比例,f1-measure的数值越大表示分类器性能越好。
[0063]
本发明提供的一种基于数据分布的多集不平衡数据分类装置,包括:
[0064]
获取模块,其用于获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;
[0065]
划分模块,其用于基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;
[0066]
构建模块,其用于根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;
[0067]
执行模块,其用于基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。
[0068]
与现有技术相比,本发明的优点在于:
[0069]
(1)通过采用构建平衡子集的方式解决训练集数据类别不平衡的问题,结合梯度提升思想组合多个平衡子集上训练的弱分类器得到强分类器,进一步提升模型的泛化性能;
[0070]
(2)创新性的提出一种基于聚类和密度的平衡子集构造方式,使构建的平衡子集数据分布与原始数据集更接近,充分利用了数据分布信息;
[0071]
(3)提出的采样权重计算方式综合考虑了簇内和类间密度,提高了对边界样本的关注度,加强了分类边界。
附图说明
[0072]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0073]
图1为本发明实施例中一种基于数据分布的多集不平衡数据分类方法的流程图。
具体实施方式
[0074]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。
[0075]
本发明实施例提供一种基于数据分布的多集不平衡数据分类方法,结合重采样技术和集成学习方法,用于提高少数类样本的分类精度,该方法可用于生物医学、软件缺陷预测等领域。
[0076]
参见图1所示,本发明实施例提供的一种基于数据分布的多集不平衡数据分类方法,具体包括以下步骤:
[0077]
s1:获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;
[0078]
本发明中,获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集,具体步骤包括:
[0079]
s101:获取不平衡数据集,所述不平衡数据集中多数类样本数大于少数类样本数,在实际的应用过程中,不平衡数据集中多数类样本数远大于少数类样本数;
[0080]
s102:将不平衡数据集划分为多数类样本集和少数类样本集
[0081]
其中,xn表示多数类样本集,表示多数类样本,x
p
表示少数类样本集,表示少数类样本,nn表示多数类样本的数目,多数类样本为负样本,n
p
表示少数类样本的数目,少数类样本为正样本。
[0082]
s2:基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个
样本的采样权重;
[0083]
本发明中,基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重,具体步骤包括:
[0084]
s201:使用k-means聚类算法将多数类样本集xn划分为k个类簇,表示为xn={c1…ck
},其中,ck表示划分后得到的第k个类簇;
[0085]
具体的,以calinski-harabasz指标为判断依据,该指标数值越大表示聚类结果越好,通过拐点法确定k的值,在实际应用中,k的取值范围为[3,8];
[0086]
所述calinski-harabasz指标的定义如下:
[0087][0088]
其中,s表示calinski-harabasz指标,tr表示矩阵的迹,bk表示类间协方差矩阵,wk表示类内协方差矩阵,n表示需要进行聚类操作的数据集的样本总数,k表示类簇的数目。
[0089]
s202:根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间。
[0090]
本发明中,根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间,具体的计算方式为:
[0091]
s2021:对于样本xi,获取样本xi和该样本所在类簇内的v个近邻样本的平均距离,即:
[0092][0093]
其中,d
ci
表示类簇中样本与近邻样本的平均距离,v表示近邻样本的数目,d
ij
表示样本xi和样本xj之间的距离,xj表示样本xi在类簇内的近邻样本;
[0094]
s2022:计算样本xi与少数类样本集n
p
中v个近邻样本的平均距离,即:
[0095][0096]
其中,d
pi
表示类簇中样本与少数类样本集中近邻样本的平均距离,d
ik
表示样本xi和样本xk之间的距离,xk表示样本xi在少数类样本集中的近邻样本;
[0097]
s2023:对于样本xi,基于簇内与类间密度的采样权重定义为:
[0098][0099]
其中,wi表示采样权重,α表示平衡簇内密度和类间密度影响的参数,取值范围为[0,1];
[0100]
s2024:对于样本xi,采样区间定义为:
[0101][0102]
其中,si表示采样区间,n
cj
表示第j个类簇cj中的样本数目,θ
i-1
表示上一样本的采
样区间边界,θi表示当前样本的采样区间边界,且θi=θ
i-1
+wi,θ0=0。
[0103]
s3:根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;
[0104]
本发明中,根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建,具体为:
[0105]
s301:计算各类簇的采样数目,每次采样时在区间[0,1]内生成随机数,根据计算得到的采样区间抽取对应的样本,构成新多数类样本集;
[0106]
s302:将新多数类样本集与少数类样本集组合,共构建得到m个平衡子集。
[0107]
具体的,类簇的采样数目的计算方式为:
[0108][0109]
其中,qi表示采样数目,n
ci
表示类簇ci的样本数目。
[0110]
s4:基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。
[0111]
本发明中,基于构建得到的多个平衡子集训练梯度提升分类模型,具体步骤包括:
[0112]
s401:创建并初始化弱分类器f0(x),f0(x)的定义为:
[0113][0114]
其中,p(y=1|x)表示第一个平衡子集中正样本所占的比例;
[0115]
s402:建立并训练m棵回归树,m为平衡子集的数目,每轮迭代后获得新的分类器,其中,损失函数采用对数损失函数,第m棵回归树hm(x)的损失函数负梯度为:
[0116][0117]
其中,r
m,i
表示第m棵回归树hm(x)的损失函数负梯度,f
m-1
(x)表示第m-1轮迭代后得到的分类器,xi表示第m个平衡子集中的样本,yi表示样本xi对应的标签,e表示自然常数,l(yi,f(xi)表示损失函数,表示求导符号,f(x)表示分类器,f(xi)表示用分类器对样本xi进行预测的结果;
[0118]
s404:得到第m棵回归树用于训练的数据集为(xi,r
m,i
),第m轮迭代后得到的分类器为:
[0119]fm
(x)=f
m-1
(x)+ηρ
mhm
(x)
[0120]
其中,fm(x)表示第m轮迭代后得到的分类器,η表示学习率,ρm表示第m棵回归树的最优权重;
[0121]
s405:经过m次迭代得到最终的强分类器fm(x)。
[0122]
本发明中,采用训练完成的分类模型对测试集样本进行分类,具体步骤包括:
[0123]
s411:采用得到的强分类器fm(x)对测试集样本进行预测;
[0124]
s412:采用g-mean和f1-measure指标评价模型;
[0125]
其中,g-mean的定义为:
[0126][0127]
其中,tp表示预测值为正的正样本数目,tn表示预测值为负的负样本数目,fn表示预测值为负的正样本数目,fp表示预测值值为正的负样本数目,g-mean的数值越大表示分类器性能越好;
[0128]
其中,f1-measure的定义为:
[0129][0130]
其中,p表示精准率,即被正确分类的正样本占所有被预测为正样本的实例的比例,r表示召回率,即被正确分类的正样本占实际标签为正的样本的比例,f1-measure的数值越大表示分类器性能越好。
[0131]
以下结合实例对本发明的基于数据分布的多集不平衡数据分类方法进行具体说明。
[0132]
从uci、keel数据库中获取多个领域的不平衡数据集用于对比实验,包括软件缺陷预测数据集pc1,生物数据集ecoli3和医学数据集pima、haberman、cleveland。选择smote,borderline-smote(b-smote),randomundersampling(rus),nearmiss,rusboost等经典不平衡数据分类算法作为本发明的对比方法,baseline表示不对原始数据集做任何处理直接进行分类,在上述数据集上进行五折交叉检验,下述表1为以f1-measure作为评价指标的实验结果,表2为以g-mean作为评价指标的实验结果。
[0133]
表1各算法在各数据集上的f1-measure指标
[0134] pc1ecoli3pimahabermanclevelandbaseline0.35400.42540.55270.37920.3943smote0.28710.26790.55030.39580.2371b-smote0.31480.42090.55580.41160.2371rus0.28030.47290.58070.46580.2225nearmiss0.20670.31430.55810.41940.2615rusboost0.27360.41560.61920.45120.2353本发明0.37180.58940.64920.51350.4301
[0135]
表2各算法在各数据集上的g-mean指标
[0136] pc1ecoli3pimahabermanclevelandbaseline0.58750.60130.64850.53850.6384smote0.57640.46560.64660.55350.4425b-smote0.60410.63990.65130.57450.4425rus0.68400.76750.66670.61670.7022nearmiss0.56830.59080.65050.55710.6199rusboost0.68450.78690.68820.60510.6029
本发明0.78950.87090.72520.65390.8296
[0137]
由上述表1和表2可知,相比于传统不平衡数据分类方法,本发明在多个领域的多个数据集上都取得了更高的f1-measure和g-mean值,有效证明了本发明所述方法能够提高少数类的分类精度,具有一定的先进性和优越性,有效解决了不平衡数据分类问题。
[0138]
本发明实施例的基于数据分布的多集不平衡数据分类方法,充分提取和利用了数据分布信息,使得构建的平衡子集与原始数据集分布尽可能相似,结合梯度提升与集成学习思想进一步增强了模型的泛化能力;此外,本发明提出的基于簇内和类间密度的采样权重计算方式,提高了对边界样本的关注度,有效解决边界模糊问题;本发明可广泛应用于多种现实不平衡数据分类场景,有效提升少数类样本的分类精度,在一定程度上弥补了现有不平衡数据分类技术的局限性。
[0139]
在一种可能的实施方式中,本发明实施例还提供一种可读存储介质,可读存储介质位于plc(programmablelogiccontroller,可编程逻辑控制器)控制器中,可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下所述基于数据分布的多集不平衡数据分类方法的步骤:
[0140]
获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;
[0141]
基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;
[0142]
根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;
[0143]
基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。
[0144]
存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0145]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0146]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还
包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0147]
本发明实施例提供的一种基于数据分布的多集不平衡数据分类装置,包括获取模块、划分模块、构建模块和执行模块。
[0148]
获取模块用于获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;划分模块用于基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;构建模块用于根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;执行模块用于基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。
[0149]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
[0150]
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

技术特征:
1.一种基于数据分布的多集不平衡数据分类方法,其特征在于,具体包括以下步骤:获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。2.如权利要求1所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集,具体步骤包括:获取不平衡数据集,所述不平衡数据集中多数类样本数大于少数类样本数;将不平衡数据集划分为多数类样本集和少数类样本集其中,x
n
表示多数类样本集,表示多数类样本,x
p
表示少数类样本集,表示少数类样本,n
n
表示多数类样本的数目,多数类样本为负样本,n
p
表示少数类样本的数目,少数类样本为正样本。3.如权利要求2所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重,具体步骤包括:使用k-means聚类算法将多数类样本集x
n
划分为k个类簇,表示为x
n
={c1…
c
k
},其中,c
k
表示划分后得到的第k个类簇;根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间。4.如权利要求3所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于:以calinski-harabasz指标为判断依据,通过拐点法确定k的值;所述calinski-harabasz指标的定义如下:其中,s表示calinski-harabasz指标,tr表示矩阵的迹,b
k
表示类间协方差矩阵,w
k
表示类内协方差矩阵,n表示需要进行聚类操作的数据集的样本总数,k表示类簇的数目。5.如权利要求3所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述根据簇内与类间密度,计算类簇中每个样本的采样权重及采样区间,具体的计算方式为:对于样本x
i
,获取样本x
i
和该样本所在类簇内的v个近邻样本的平均距离,即:
其中,d
ci
表示类簇中样本与近邻样本的平均距离,v表示近邻样本的数目,d
ij
表示样本x
i
和样本x
j
之间的距离,x
j
表示样本x
i
在类簇内的近邻样本;计算样本x
i
与少数类样本集n
p
中v个近邻样本的平均距离,即:其中,d
pi
表示类簇中样本与少数类样本集中近邻样本的平均距离,d
ik
表示样本x
i
和样本x
k
之间的距离,x
k
表示样本x
i
在少数类样本集中的近邻样本;对于样本x
i
,基于簇内与类间密度的采样权重定义为:其中,w
i
表示采样权重,α表示平衡簇内密度和类间密度影响的参数,取值范围为[0,1];对于样本x
i
,采样区间定义为:其中,s
i
表示采样区间,n
cj
表示第j个类簇c
j
中的样本数目,θ
i-1
表示上一样本的采样区间边界,θ
i
表示当前样本的采样区间边界,且θ
i
=θ
i-1
+w
i
,θ0=0。6.如权利要求5所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建,具体为:计算各类簇的采样数目,每次采样时在区间[0,1]内生成随机数,根据计算得到的采样区间抽取对应的样本,构成新多数类样本集;将新多数类样本集与少数类样本集组合,共构建得到m个平衡子集。7.如权利要求6所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,类簇的采样数目的计算方式为:其中,q
i
表示采样数目,n
ci
表示类簇c
i
的样本数目。8.如权利要求5所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述基于构建得到的多个平衡子集训练梯度提升分类模型,具体步骤包括:创建并初始化弱分类器f0(x),f0(x)的定义为:
其中,p(y=1|x)表示第一个平衡子集中正样本所占的比例;建立并训练m棵回归树,m为平衡子集的数目,每轮迭代后获得新的分类器,其中,损失函数采用对数损失函数,第m棵回归树h
m
(x)的损失函数负梯度为:其中,r
m,i
表示第m棵回归树h
m
(x)的损失函数负梯度,f
m-1
(x)表示第m-1轮迭代后得到的分类器,x
i
表示第m个平衡子集中的样本,y
i
表示样本x
i
对应的标签,e表示自然常数,l(y
i
,f(x
i
)表示损失函数,表示求导符号,f(x)表示分类器,f(x
i
)表示用分类器对样本x
i
进行预测的结果;得到第m棵回归树用于训练的数据集为(x
i
,r
m,i
),第m轮迭代后得到的分类器为:f
m
(x)=f
m-1
(x)+ηρ
m
h
m
(x)其中,f
m
(x)表示第m轮迭代后得到的分类器,η表示学习率,ρ
m
表示第m棵回归树的最优权重;经过m次迭代得到最终的强分类器f
m
(x)。9.如权利要求8所述的一种基于数据分布的多集不平衡数据分类方法,其特征在于,所述采用训练完成的分类模型对测试集样本进行分类,具体步骤包括:采用得到的强分类器f
m
(x)对测试集样本进行预测;采用g-mean和f1-measure指标评价模型;其中,g-mean的定义为:其中,tp表示预测值为正的正样本数目,tn表示预测值为负的负样本数目,fn表示预测值为负的正样本数目,fp表示预测值值为正的负样本数目,g-mean的数值越大表示分类器性能越好;其中,f1-measure的定义为:其中,p表示精准率,即被正确分类的正样本占所有被预测为正样本的实例的比例,r表示召回率,即被正确分类的正样本占实际标签为正的样本的比例,f1-measure的数值越大表示分类器性能越好。10.一种基于数据分布的多集不平衡数据分类装置,其特征在于,包括:获取模块,其用于获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;划分模块,其用于基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;构建模块,其用于根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类
样本,并与少数类样本集组合进行平衡子集构建;执行模块,其用于基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。

技术总结
本发明公开了一种基于数据分布的多集不平衡数据分类方法及装置,涉及机器学习和数据挖掘领域,该方法包括获取不平衡数据集,并将获取得到的不平衡数据集划分为多数类样本集和少数类样本集;基于聚类将多数类样本集划分为多个类簇,并基于簇内与类间密度计算每个样本的采样权重;根据各类簇中样本数占多数类样本总数的比例从类簇中抽取多数类样本,并与少数类样本集组合进行平衡子集构建;基于构建得到的多个平衡子集训练梯度提升分类模型,并采用训练完成的分类模型对测试集样本进行分类。本发明能够有效提高少数类样本的分类精度。本发明能够有效提高少数类样本的分类精度。本发明能够有效提高少数类样本的分类精度。


技术研发人员:荆晓远 窦习文 陈林君
受保护的技术使用者:武汉大学
技术研发日:2023.03.01
技术公布日:2023/7/19
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐