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

一种基于三角质心权重的过采样方法与流程

2021-12-15 01:53:00 来源:中国专利 TAG:


1.本发明属于数据挖掘与机器学习数据处理技术领域,涉及一种基于三角质心权重的过采样方法。


背景技术:

2.随着大数据时代的到来,纷繁多样的数据信息涌入我们的生活,不平衡数据是其中一个典型代表。不平衡数据是指数据样本在不同数据类别之间的不平衡分布,其分类问题已经在人工智能,数据挖掘领域普遍存在。在这些受到不平衡问题影响的二分类或多分类问题中,我们把样本较多的类别称之为多数类或正类,把样本较少的类别称之为少数类或负类。在分类时,传统的分类算法主要面向数据分布较为平衡的数据样本,但在处理不平衡数据时,分类器会变得低效,难以识别集合中的少数类样本。因此,对不平衡样本进行处理,分类器的分类性能就变得至关重要了。
3.由于不平衡数据广泛存在于各类领域,因此该发明可以应用到各类领域当中的不平衡数据中去。在现实世界当中,针对疾病诊治,信用评估等方面的问题,往往需要对其准确分类,这时,样本的不平衡性往往使得对该类数据分类非常困难。例如在新冠肺炎病人的判断中,会涉及到海量的人员数据,每个人员的性别,年龄,体重,血压,肺部信息等一系列特征构成了该人员样本,而由若干人员则构成这个数据集,他们的类别就是患病者与非患病者。显而易见的是,可能在1000人当中,只有10人患病,即在这之中患病者总是占有很少一部分,即少数类;非患病者即为多数类,如果误把患病者分类到非患病者中去,其结果将会是灾难性的。同样的,在银行信用评估中,评估人员的年龄,收入,购买力等同样可以作为一个人员样本的特征,继而判断其信用度如何,是否向其发放贷款,在这之中,信用度较低的人总是占少数,由此产生的数据不平衡问题就需要被很好的解决。
4.在对不平衡样本进行处理的方法中,采样技术得到了广泛的应用。如欠采样,过采样,混合采样等。其中,过采样方法通过增加样本中的少数类样本来使得两类样本数量达到平衡,从而改善分类效能。但是,传统的随机过采样思想是对于少数类样本进行随机的重复抽样,但这只是对于原有样本的简单复刻,对于少数类样本的信息提取少之又少,模型学习到的信息过于,不够泛化,特别容易产生过拟合问题。因此,在此基础上研究人员逐步提出了smote,borderline

smote等经典过采样方法。
5.smote是基于随机过采样算法的一种改进方案,如图2,它基于少数类样本计算出它的k近邻,根据样本不平衡比例设置一个采样比例来确定采样倍率,对于每一个少数类样本选择合适的近邻,根据下面的公式合成一个新的样本,处于直线上的样本将被认定为是具有少数类特征的新样本继而添加在训练集中。
6.x
new
=x rand(0,1)*(x
′‑
x)
ꢀꢀꢀ
(1)
7.在式(1)中,在这之中,x
new
表示最终合成的一个样本,x表示输入的一个少数类样本,x’表示被选中的x的一个近邻样本,rand(0,1)是0~1之间的一个随机数。经过该式计算,就可以根据采样率合成新样本了。
8.但是smote算法仍然存在着一些问题:一方面,我们需要选择合适的近邻数,也就是k值,然后按照随机的方式选择近邻,这就使得这一参数无法得到有效的确定,往往需要反复试验论证;另一方面,数据在集合中的分布是固定的,容易产生数据边缘化的问题,即一部分少数类样本会处于负类样本的边缘,这使得合成样本逐渐向边缘靠拢,模糊了正负类样本的边界,反而加大了分类难度。为了解决这一问题,人们又提出了borderline

smote算法。
9.borderline

smote算法是基于smote算法改进的,目前被分为borderline

smote1和borderline

smote2。该算法将训练集的多数类和少数类划分开来,并对每一个少数类样本搜索k近邻,得到该样本附近的多数类个数m(k≥m≥0)。如果m=k,说明该负类样本附近都是正类,该样本将被认定为噪音(noise),停止操作;如果m的值为k的一半及以上,那么认为该负类样本是容易被误分类的样本,称其为危险(danger);如果m的值不到k的一半,那么认为该负类样本是安全的(safe),停止操作。其中,border

smote1对danger中的样本进行操作,找出每一个danger样本在负类样本集合中的近邻k’,然后随机选择k’中的近邻按照上面的公式进行新样本的合成,一直到达到采样倍数的要求。


技术实现要素:

10.本发明的目的是提供一种基于三角质心权重的过采样方法,解决了现有技术中存在的传统方法中采用两点间直线的方法,新合成样本空间被局限在两个点之间,对样本的信息提取较少问题。
11.本发明所采用的技术方案是:
12.一种基于三角质心权重的过采样方法,应用了borderline

smote方法的初始操作,将数据分为噪音(noise),危险(danger),以及安全(safe)三部分,然后对danger类样本选择其同类近邻,再根据权重与权重系数确定新样本最终的位置,以加强相关样本特征,具体步骤为:
13.步骤1,将待处理样本量化为数值,计算量化后样本的特征权重;
14.步骤2,对量化后的样本进行danger类样本提取;
15.步骤3,搜索danger类样本的近邻样本;
16.步骤4,对于每个danger样本的近邻样本中,随机找出两个近邻样本,计算三个点的三角质心坐标,得到质心样本;
17.步骤5,质心样本中对质心坐标的每一个特征分别乘以步骤1得到的特征权重,得到偏移质心,所有偏移质心组成质心偏移样本;
18.步骤6:根据遗传算法确定质心偏移样本的权重系数,权重系数乘以偏移质心,最终得到新样本。
19.本发明的特点还在于,
20.步骤1中通过relief方法来计算特征权重。
21.danger类样本的提取方法为:应用borderline

smote方法思想将待处理样本中的多数类和少数类划分开来,并对每一个少数类样本搜索k近邻,得到该样本附近的多数类个数m(k≥m≥0)。如果m=k,说明该负类样本附近都是正类,该样本将被认定为噪音(noise),停止操作;如果m的值为k的一半及以上,那么认为该负类样本是容易被误分类的样本,称其
为危险(danger),即需要获取的安全类样本;如果m的值不到k的一半,那么认为该负类样本是安全的(safe),停止操作。
22.三角质心坐标的计算方式为:
23.centroid=(d(a) d(b) d(c))/3
ꢀꢀꢀ
(3)
24.式(3)中,centroid是三角质心坐标,d(a)是danger样本的中心点坐标,d(b)与d(c)为danger样本的两个近邻样本。
25.新样本的合成方法为:
26.newsample=centroid*featrue weight*weightcoefficient
ꢀꢀꢀ
(4)
27.其中,centroid是三角质心坐标,featrue weight为特征权重,weight cofficient为权重系数。
28.权重系数通过遗传算法来确定,在0

1之间生成初始种群,通过对十进制数转化成的二进制字符串权重系数的不断地进行遗传算法中的选择,交叉,变异,种群保留,在进行了设定的迭代次数后终止,获得最佳权重系数与分类结果,其中定初始种群数为10,迭代20代,采用锦标赛选择方法进行选择,采用两点交叉的方式,0.7的交叉概率,染色体长度分之一来作为变异概率。
29.本发明的有益效果是:
30.一、本发明应用了borderline

smote方法的初始操作,将数据分为噪音(noise),危险(danger),以及安全(safe)三部分,然后对danger类样本选择其同类近邻,再根据权重与权重系数确定新样本最终的位置,以加强相关样本特征。
31.二、本发明方法分别在决策树(gini)以及knn两个分类器上,以准确率和roc曲线下面积auc值作为评价指标得到对比结果,最终得到本发明比borderline

smote1有更好的分类效果。
附图说明
32.图1是本发明一种基于三角质心权重的过采样方法的流程图;
33.图2是smote过采样方法的示意图。
34.图3是本发明一种基于三角质心权重的过采样方法中获取权重系数方法的流程图;
35.图4使用决策树分类器以auc值作为评价标准的对比;
36.图5使用knn分类器以auc值作为评价标准的对比;
37.图6使用决策树分类器以准确率作为评价标准的对比;
38.图7使用knn分类器以准确率作为评价标准的对比。
具体实施方式
39.下面结合附图和具体实施方式对本发明进行详细说明。
40.本发明一种基于三角质心权重的过采样方法,如图1,应用了borderline

smote方法的初始操作,将数据分为噪音(noise),危险(danger),以及安全(safe)三部分,然后对danger类样本选择其同类近邻,再根据权重与权重系数确定新样本最终的位置,以加强相关样本特征,具体步骤为:
41.步骤1,将待处理样本量化为数值,计算量化后样本的特征权重;
42.步骤2,对量化后的样本进行danger类样本提取;
43.步骤3,搜索danger类样本的近邻样本;
44.步骤4,对于每个danger样本的近邻样本中,随机找出两个近邻样本,计算三个点的三角质心坐标,得到质心样本;
45.步骤5,质心样本中对质心坐标的每一个特征分别乘以步骤1得到的特征权重,得到偏移质心,所有偏移质心组成质心偏移样本;
46.步骤6:根据遗传算法确定质心偏移样本的权重系数,权重系数乘以偏移质心,最终得到新样本。
47.步骤1中:
48.量化数值的操作是在欧几里得空间中完成的;
49.其中特征权重通过relief方法来计算:
50.relief方法能够根据特征的类别和相关性赋予特征不同的权重,根据设定的阈值最后可以得到一个以该阈值为中心的各个特征的权重集合。算法从训练集中随机选择一个样本b,然后从b同类的样本中寻找最近邻样本h,称为hit,与m不同类的样本中寻找最近邻样本m,称为miss。如果b和hit在某个特征上的距离小于b到miss上的距离,则说明该特征对分类是有益的,则增加该特征的权重;反之,如果b和hit在某个特征的距离大于b和miss上的距离,说明该特征对分类起负面作用,则降低该特征的权重。
51.我们设置初始权重为1,按照如下公式计算权重:
52.w(a)=w(a)

diff(a,b,h)/m diff(a,b,m)/m
ꢀꢀꢀ
(2)
53.在式(2)中,a是每个特征的权重,m是进行的次数,两个diff分别是该样本与hit和miss的欧式距离,将特征a从1~n循环计算,得到第一代权重值。接着,将以上过程重复m次,最后得到各特征的平均权重。
54.考虑到受初始权重的设置影响,我们按照百分比的方式对输出的平均权重重新计算,使得各个特征权重均小于1,同时相互之间的大小关系不会改变。
55.步骤2中:
56.danger类样本的提取方法为:应用borderline

smote方法思想将待处理样本中的多数类和少数类划分开来,并对每一个少数类样本搜索k近邻,得到该样本附近的多数类个数m(k≥m≥0)。如果m=k,说明该负类样本附近都是正类,该样本将被认定为噪音(noise),停止操作;如果m的值为k的一半及以上,那么认为该负类样本是容易被误分类的样本,称其为危险(danger),即需要获取的安全类样本;如果m的值不到k的一半,那么认为该负类样本是安全的(safe),停止操作。
57.步骤3中:
58.danger样本被提取出之后,需要找到其近邻。寻找danger样本在原来的训练集少数样本中的近邻,作为后续合成新样本的父样本。这种算法既可以找到需要关注的样本点,也让这些点的取法更贴近那些具有趋势但是不容易被分辨出来的少数类样本点,在这里k=5。
59.在基于三角质心权重的过采样方法中,同样应用了这类思想,即在少数类之中搜索danger样本的近邻。
60.步骤4中:
61.三角质心坐标的计算方式为:
62.centroid=(d(a) d(b) d(c))/3
ꢀꢀꢀ
(3)
63.式(3)中,centroid是三角质心坐标,d(a)是danger样本的中心点坐标,d(b)与d(c)为danger样本的两个近邻样本。
64.步骤5中:在步骤4得到质心后,根据步骤1输出的特征权重乘以质心,这样就使得我们的新生成样本不局限在一个固定的位置,而是根据每一个特征的重要性在合理范围内发生一定的偏移。
65.我们根据输入的采样率来确定合成多少新少数类样本,在本算法的目的是使得不平衡样本达到平衡,因此,合成的新样本的数量应该是训练集中少数样本与多数样本之差,在未合成这个数量的样本之前,将会一直循环合成danger类样本。
66.步骤6中:
67.其中引入权重系数这个概念,原因是在步骤1优化得到的特征权重仍然不能够准确的指引质心偏移到合适的位置,因此,设置一个0

1之间的权重系数,前开后闭,通过权重系数乘以偏移质心,最终得到新样本,新样本能够有效的到达最合适的位置。
68.如图3,权重系数通过遗传算法来确定,在0

1之间生成初始种群,通过对十进制数转化成的二进制字符串权重系数的不断地进行遗传算法中的选择,交叉,变异,能够使得本发明在获得最佳评价指标的种群保留,在进行了设定的迭代次数后终止,此时获得最佳权重系数与分类结果。这其中设定初始种群数为10,迭代20代,采用锦标赛选择方法进行选择,采用两点交叉的方式,0.7交叉概率,染色体长度分之一来作为变异概率,如表1所示。
69.表1遗传算法参数设置
[0070][0071]
新样本的合成方法为:
[0072]
newsample=centroid*featrue weight*weightcoefficient
ꢀꢀꢀ
(4)
[0073]
其中,centroid是三角质心坐标,featrue weight是各个特征的权重,weight cofficient则是权重系数。
[0074]
对于本发明方法使用了10折交叉验证的方法分别在决策树(dt)和knn作为分类器,评估该情况下对7个数据集的分类准确率(accuracy)和roc曲线下面积(auc)。k

折交叉验证将所选数据集合平分为k组,将其中的1折数据作为测试集,其他k

1折作为训练集,以此类推,一共可以得到k个训练模型与测试模型,不论是准确率还是auc值都取这几次验证的平均值作为最终的结果。在本发明中,采用10折交叉验证方法,在此之上,将每一次10折交叉验证再进行10次验证,取这100次评估的结果作为最终结果。
[0075]
准确率(accuracy)与接受者操作特性曲线(roc)下面积(auc)是不平衡数据分类中常用到的分类器评价指标。
[0076]
准确率是最常用的分类器评价指标,其计算方法如下所示:
[0077][0078]
其中,
[0079]
tp(ture positive)表示实际为正例且被分类器划分为正例的实例数。
[0080]
tn(ture negative)表示实际为负例且被分类器划分为负例的实例数。
[0081]
fp(false positive)表示实际是负例但被分类器划分为正例的实例数。
[0082]
fn(false negative)表示实际是正例但被分类器划分为负例的实例数。
[0083]
接受者操作特性曲线(roc)是在不同的分类阈值下,以虚报概率为横坐标,击中概率为纵坐标得到的一条曲线,在横纵长度为1的坐标轴第一象限内,一般认为这条线越接近左上角,分类器的分类性能越好。但为了避免曲线交叉带来的不直观评判,采用了roc曲线下面积auc作为评价指标,auc值越大,分类性能越好。
[0084]
其中,
[0085][0086][0087]
为了验证本发明的有效性,采用keel数据集作为待处理样本,对keel数据集的描述如表2,dataset是数据集的名称,instances是该数据集中的样本容量,features是该数据集的特征数,classes是该数据集的类数。
[0088]
本发明对8个数据集的每一个数据集都使用本方法进行验证,其中使用两个分类算法是决策树和knn。经过试验,本发明提出的基于三角质心权重的过采样方法在8个数据集的分类上相较于borderline

smote1得到了更高的准确率和auc值。
[0089]
表2 keel数据集描述
[0090][0091]
表3是分类准确率作为评价标准的两种方法对比表,表4是auc作为评价标准的两种方法对比表。两表中my method即为本发明所提出方法,dt表示基础分类算法使用决策树,knn表示基础分类算法使用k近邻分类算法。
[0092]
表3准确率作为评价标准下的分类对比(%)
[0093][0094]
表4auc值作为评价标准下的分类对比
[0095][0096]
说明书中的图4~图7是使用两种算法进行过采样在不同评价指标上的分类的实验对比图。左侧是borderline

smote1算法,右侧是本发明提出的方法。
[0097]
图4是两个算法使用dt作为基础分类算法在auc值上的对比柱形图,实验表明本发明提出的过采样算法在8个数据集上使用决策树分类的准确率均高于borderline

smote1算法。
[0098]
图5是两个算法使用knn作为基础分类算法在auc值上的对比柱形图,实验表明本发明提出的过采样算法在8个数据集上使用决策树分类的准确率均高于borderline

smote1算法。
[0099]
图6是两个算法使用dt作为基础分类算法在准确率上的对比柱形图,实验表明本发明提出的过采样算法在8个数据集上使用决策树分类的准确率均高于borderline

smote1算法。
[0100]
图7是两个算法使用knn作为基础分类算法在准确率上的对比柱形图,实验表明本发明提出的过采样算法在8个数据集上使用决策树分类的准确率均高于borderline

smote1算法。
再多了解一些

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

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

相关文献