时间:2024-05-04
胡宏章 邱云飞 郭蕾
摘 要: 针对非均衡数据带来的分类器对少数类样本学习不充分的问题,提出融合条件熵和TF-IDF的过采样方法。该方法首先指定参数,组合数据特征,然后计算每种组合方式下的条件熵,判断每种组合条件下类的不确定性,同时为了避免低词频带来的噪音数据,将条件熵结果乘上1/TF-IDF因子,再将结果按升序排序,最后结合参数选定过采样依据的特征组合,用以构造新数据,使正负样本平衡。将所提方法在7个不均衡数据集上进行实验仿真,结果表明,所提方法比其他方法在F-measure、G-mean和AUC等评价指标上均有一定提高。
关键词: 非均衡数据; 条件熵; TF-IDF; 过采样
中图分类号:TP301.6 文献标识码:A 文章编号:1006-8228(2023)06-48-06
Oversampling method combining conditional entropy and TF-IDF
Hu Hongzhang, Qiu Yunfei, Guo Lei
(College of Software, Liaoning Technical University, Huludao, Liaoning 125105, China)
Abstract: In order to solve the problem that the classifier does not learn enough from a small number of samples caused by unbalanced data, an oversampling technology combining conditional entropy and TF-IDF is proposed. Firstly, parameters are specified to combine data features. Then the conditional entropy under each combination mode is calculated to judge the uncertainty of classes under each combination condition. At the same time, the conditional entropy results are multiplied by factor in order to avoid noisy data caused by low word frequency, and then the results are sorted in ascending order. Finally, the feature combination based on oversampling is selected combined with parameters to construct new data, which balances the positive and negative samples. The proposed method is simulated on seven unbalanced data sets, and the results show that it has certain improvement compared with other methods in F-measure, G-mean, AUC and other evaluation indicators.
Key words: unbalanced data; conditional entropy; TF-IDF; oversampling
0 引言
非均衡数据指各类别标签数量相差悬殊的数据,由此带来的问题被称为非均衡问题。以SVM(支持向量机)为例,由于数据不平衡特性而导致的大规模协方差矩阵和有偏支持向量的计算已被证实是一个棘手问题[1] 。忽视样本的不均衡分布或牺牲少数类样本都是不可取的。
目前解决非均衡问题的方向主要有:采样方法的研究、集成算法的改进、降维方案的选择和选择合适的评价指标等。采样方法会改变原始样本分布,该方法的关键是既要保留原始数据特点,又要避免增加噪声数据。集成算法则是均衡不同模型的优缺点,结合多个模型的处理方案使正负样本具有较高的分类精度,其模型的优化以及参数的选择具有一定難度。
针对不平衡的文本数据,G.Sun[2] 等提出了一种非平衡文本数据流的集成分类算法。首先,采用改进的重采样方法建立平衡数据子集;其次,利用主题模型对平衡数据子集进行主题建模,建立文档主题训练子集;最后,利用集成分类模型构造集成分类器。而对于高维不平衡数据,W.Pei[3] 等提出一种新的遗传规划方法,但是该方法更适合于具有轻微不平衡数据的分类。另外在采样方式上更多优化的是过采样方法。如C.Tian[4] 等提出了一种基于NC-Link的层次聚类方法,从少量样本中合成不同的样本,从而优化聚类效果。
目前过采样算法中使用更为广泛的是SMOTE,它通过对原始实例的插值来人工生成新的实例。张忠林[5] 等提出了BSL采样对其改进,将少数类样本分为安全样本、噪声样本、边界样本,只对边界样本进行SMOTE插值,再利用Tomek link清洗数据,使数据集基本达到均衡的同时减少噪声样本的数量。X.Li[6]等提出了一种改进的抽样算法TDSMOTE,将少量样本分为三个区域:稠密区域、边界区域和稀疏区域。不同地区的样品采用不同的采样方法,BSL采样和TDSMOTE算法能显著提高非平衡数据的分类指标,但其划分区域需要达到一定的数据量。
本文针对现有方法的不足,同时考虑样本数量和不平衡数据比例,提出一种依据统计学的过采样方法,基于条件熵和IFIDF来生成新的人工实例,可以避免产生较多的伪样本。最后将本文提出的方法与SMOTE、ADASYN、SCF-ADASYN、BSMOTE、SMOTE+ENN和SVMOM算法在7个数据集上进行实验对比,结果表明所提方法在F-measure、G-mean和AUC上均有一定提高。
1 相关研究
1.1 条件熵
信息熵的提出解决了对信息的量化度量问题。假设现有两个独立不相关的事件x和y,则x和y同时发生所携带的信息I(x,y)为各自携带信息的和,即:
[Ix,y=Ix+Iy] ⑴
x和y同时发生的概率P(x,y)为各自概率的乘积,即:
[Px,y=PxPy] ⑵
由式⑴和式⑵可以得出:I(x)与P(x)的对数有关,因此事件x其概率分布P(x)的自信息为:
[Ix=-logPx] ⑶
假设有随机变量X(X=x1,x2,x3,...,xn),其信息熵H(X)是对随机变量X不确定的度量,是对所有可能发生的事件产生信息量的期望,即I(X)关于概率分布P(x)的期望:
[HX=-PxilogPxi] ⑷
信息熵表示随机变量的不确定度,条件熵则表示在某一个条件下,随机变量的不确定度。条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性,由式⑷可得条件熵H(Y|X)的计算方式为X在给定条件下Y的条件概率分布的熵对X的数学期望,即:
[HY|X=x∈XPxHY|x]
[=-x∈XPx(y∈YPy|xlogP(y|x))]
[=-x∈Xy∈YP(x,y)logP(y|x)] ⑸
此时先按一个新变量的每个值x对原变量进行分类,然后在每一个小类y里都计算一个小熵,每一个小熵乘以各个类别的概率,再求和。每个y的小熵越小,说明在x的这种取值下,y的值越收敛,不确定性越小,条件熵越小,说明在X的各种取值下,Y的值都非常收敛,整体不确定性小。在不均衡样本中过采样生成的少数类样本要尽可能的准确,这时就可以计算特征组合的情况下标签的不确定性,因此,在过采样时融入条件熵,以提升新增少数类样本的准确率。
1.2 TF-IDF技术
TF-IDF(term frequency-inverse document frequen-cy)是一种用于信息检索与数据挖掘的常用加权技术。TF(Term Frequency)是词频,表示词条在文档中出现的频率,IDF(Inverse Document Frequency)是逆文本频率指数,是一个词语普遍重要性的度量。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中一份文件的重要程度,对于在某一特定文件里的词语来说,它的重要性可表示为:
[TF-IDF=TF×IDF] ⑹
[TF=某个词在文章中出现的次数文章的总词数] ⑺
[IDF=log语料库的文档总数包含该词的文档数+1] ⑻
TF-IDF的主要思想是如果某个词或短语在一篇文章中出现的频率TF高且在其他文章中很少出现,则认为该词或短语具有很好的类别区分能力,适合用来分类。TF-IDF倾向于过滤掉常见的词语,保留重要的词语。因此,在过采样时需要考虑TF-IDF的值,保留数据特点,使采样生成的数据更符合真实特征。
2 基于条件熵和TF-IDF的非均衡数据集过采样算法
2.1 算法的思想
过采样的目标是从不均衡数据集中模仿少数类样本特征,制造新的样本集。一个可行方案是,采用信息论的方法,计算每种随机变量X情况下Y的条件熵,再融合TF-IDF值,保留数据特点的同时得到信息量的大小,再根据得到的值创建新的样本集。
为了解决正负样本不均衡分布造成的分类边界偏移,训练模型对少数类样本学习不充分的问题,本文提出了融合条件熵和TF-IDF的过采样方法-HTTE(Oversampling technology based on heat function and TF-IDF)。HTTE算法首先指定数据属性的区间大小,划分区间段,对每一区间段计算信息熵H(X),再计算已知随机变量X条件下随机变量Y的不确定性,即X给定条件下,Y的条件概率分布的熵对X的数学期望。由于低词频对于信息的影响很多,一个词如果频次不夠多,又主要出现在某个类别里,那么就会出现较低的条件熵,从而给筛选带来噪音。为了避免出现这种情况,可先用条件熵的结果乘上1/TF-IDF因子,从而将特征频率与特征分布考虑进去;然后再按照结果值大小进行排序。本文提出的HTTE算法可以让特征更明显,计算复杂,适用于小规模数据集。
2.2 算法的构建
构建HTTE算法需先指定参数,接着将连续型数据列划分为区域块,取区域块中值替换原数据,再统计替换后的数据组合种类,计算其条件熵,最后判断该组合条件下结果类的不确定性。
其中取多数类数量为0的特征组合,即该特征为少数类的特征,要将条件熵乘上1/TF-IDF因子,结果按升序排序,再根据参数取排序后的数量,随机取一个安全样本,将连续数据恢复区间块,取区间块内的任意值,构成新样本。具体步骤如下。
Step1 对数据的每个特征进行预处理。需要将连续型数据离散化,对离散数据进行独热编码,进行分段标记处理。
连续型数据分段标记的描述如下:
Step2 拼接数据样本中多维特征,得到组合方式X,计算每种组合方式的数量sumi,标签类别Y。
Step3 按照式⑸计算条件熵。
计算条件熵的描述如下:
[方法:计算条件熵 输入:组合方式X,数量SUM,标签类别Y 输出:H(Y/X) (1) for X do (2) for Y do (3) [H(yj|xi)=-P(yj|xi)×logP(Yj|xi)] (4) end for (5) end for (6) 得到每种特征组合条件下的信息熵 ]
Step4 对于每种组合对应的标签仅为少数类标签的组合,按照式⑹⑺⑻计算其TF-IDF值,融合条件熵值和TF-IDF值,得到筛选后的组合方式X_new和新的数据选择指标value=条件熵/TF-IDF。
计算数据选择指标value的描述如下:
[方法:计算数据选择指标value 输入:组合方式X,标签类别Y,条件熵H_Y_X 输出:组合方式X_new和value值 (1) for X do (2) 计算X下每种标签Y的数量 (3) if 多数类标签的数量 == 0 (4) TF = ∑xi在少数类出现/∑少数类 (5) IDF = log(∑X/∑(xi+1)) (6) value=xi条件下的信息熵/(TF×IDF) (7) X_new = X (8) end for (9) 得到新的数据选择指标:组合方式X_new和value值 ]
Step5 对value值进行升序排序,根据输入的参数split_num和多数类样本与少数类样本的数量差diff进行计算,如果经过Step4得到的组合方式X_new的数量[X_new
Step6 创建少数类样本。随机取一个安全样本,将连续数据恢复区间块,取区间块内的任意值,生成新少数类样本。
3 实验结果与分析
3.1 数据集描述
从国际机器学习标准库UCI中选取七个不均衡数据集ThoraricSurgery、Pima、Haberman、Transfusion、credit、German、Ionosphere进行对比实验,各数据集的属性和类别信息见表1。
3.2 数据集划分和评价指标
本实验将在上述7个数据集上进行对比实验。将正负样本进行分层采样,按7:3的比例划分训练集和测试集,表2为划分后的数据量情况。
由于少数类数据的分类评价在不均衡数据分类评价中十分重要,本文使用F-measure、G-mean、AUC作为评价指标,来衡量分类结果,式⑼为F-measure的计算公式,式⑽为总体性能指标G-Mean的计算公式。
[F-measure=(β2+1)×Precision×Recallβ2×Precision+Recall] ⑼
其中,Precision为精确率,Recall为召回率;β为调和参数值。在数据集分布不均匀的二分类问题中,一般取β=1,当精确率和召回率同时上升时,F-measure才会提升。
[G-mean=Precision×Recall] ⑽
G-Mean数值越大说明精确率和召回率越高,效果越好。ROC曲线以假正率为横坐标,以真正率为纵坐标,在数据极其不均衡的情况下,ROC曲线下面积具有很好的鲁棒性,故以其曲线下的AUC值作为评价指标。
此外由于提出的算法需要调参,当着重少数样本的正确率时,PR曲线会因为Precision的存在而不断地将FP的影响显现出来,因此本文以F-measure、G-mean和AUC(ROC曲线)来评价分类器的性能,以AUC(PR曲线)来选择参数。
3.3 算法性能比较
在实验环境上,选择Windows 10操作系统,编程语言使用Python 3.6,深度学习框架选择Pytorch 1.0。但由于计算资源有限,结合使用的糖尿病数据集的数据量,BERT的模型参数选择使用基准模型参数。分类阶段均采用集成算法中准确率和时间效率相对较好的RF算法,数据处理阶段采用SMOTE算法[7] 、ADASYN算法[8] 、SCF-ADASYN算法[9] 、SMOTE结合不同的降维方法(BSMOTE[10] 、SMOTE_ENN[11] 、SVMOM[12] ),分别与数据预处理阶段算法HTTE进行对比。使用F-measure、G-mean、AUC作为评价指标,取5次结果的平均值作为最终结果。表3为几种方法得到的实验结果,为了可以清楚地对比各方法得到的结果,以数据预处理阶段采用的算法为横坐标,评价指标值为纵坐标,不同颜色表示使用的不同数据集,得到实验结果对比如图1所示。
综合图1中的三个评价指标图可以看出本文提出的采样方法HTTE在数据集D1和D3上均明显优于其他算法,在D4、D5、D6和D7上优于其他算法,在D2数据集上仅次于SCF-ADASYN。因此,HTTE算法在不同比例的不均衡数据集上均具有较好的分类效果。
以ThoraricSurgery数据集为例,该数據集共三个连续型数值的属性,需要给出四个参数,自定义每个参数的取值范围为[1,10],得到参数组合共104种,每个参数从取值范围的最大值开始递减取值,为避免产生过拟合,以PR曲线的AUC值作为评价指标,当每种参数组合大于当前最大的AUC值时,则记录到表4中。
由表4可以发现选择不同的参数得到的AUC(PR)在[0.4735,0.9002]范围之间,相差较大,所以算法对于参数的选择很关键,实验中各数据集的最优参数配置如表5所示。
另外为了对比各算法的时间性能,表6记录了各算法采样的时间,从表6中可以发现HTTE所耗费的时间略优于SMOTE、ADASYN和SCF-ADASYN,优于BSMOTE、SMOTE+ENN和SVMOM,所以HTTE在时间上具有一定的优势。
4 结束语
本文针对非均衡数据带来的分类器对少数类样本学习不充分问题,提出了一种基于条件熵和TF-IDF的过采样方法(HTTE)。HTTE首先指定参数组合数据特征,然后计算每种组合的条件熵,判断每种组合条件下类的不确定性,为了避免低词频带来的噪音,再将条件熵结果乘上1/TF-IDF因子,结果按升序排序,最后结合参数选定过采样依据的特征组合,用以构造新数据,使正负样本平衡。对比实验表明提出的方法适用于大多数不均衡数据集,可以尽可能多地保留原数据特征,从F-measure、G-mean和AUC评价方式出发,该算法在不同比例的数据集上都可以取得很好的效果,但是,此算法比较依赖于参数的选择,连续型属性越多的数据需要配置的参数越多,因此优化参数是后续研究的重点。
参考文献(References):
[1] C. Wang, J. Zhou, H. Huang and H. Shen, "Classification
Algorithms for Unbalanced High-Dimensional Data with Hyperbox Vertex Over-Sampling Iterative Support Vector Machine Approach," 2020 Chinese Control And Decision Conference (CCDC), Hefei, China,2020:2294-2299
[2] G. Sun, J. Liu, W. Mengxue, W. Zhongxin, Z. Jia and G.
Xiaowen, "An Ensemble Classification Algorithm for Imbalanced Text Data Streams,"2020 IEEE International Conference on Artificial Intelligence and Computer Applications (ICAICA), Dalian, China,2020:1073-1076
[3] W. Pei, B. Xue, L. Shang and M. Zhang, "A Threshold-
free Classification Mechanism in Genetic Programming for High-dimensional Unbalanced Classification," 2020 IEEE Congress on Evolutionary Computation (CEC), Glasgow, United Kingdom,2020:1-8
[4] C. Tian, L. Zhou, S. Zhang and Y. Zhao, "A New Majority
Weighted Minority Oversampling Technique for Classification of Imbalanced Datasets," 2020 International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering (ICBAIE), Fuzhou, China,2020:154-157
[5] 张忠林,曹婷婷.基于重采样与特征选择的不均衡数据分类
算法[J].小型微型计算机系统,2020,41(6):1327-1333
[6] X. Li and Q. Zhou, "Research on Improving SMOTE
Algorithms for Unbalanced Data Set Classification," 2019 International Conference on Electronic Engineering and Informatics (EEI), Nanjing, China,2019:476-480
[7] Chawla N V, Bowyer K W, Hall L O, et al. SMOTE:
synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research,2002,16(1):321-357
[8] He H, Bai Y, Garcia E A, et al. ADASYN: Adaptive
synthetic sampling approach for imbalanced learning [C]. International Joint Conference on Neural Network,2008:1322-1328
[9] 刘金平,周嘉铭,贺俊宾,等.面向不均衡数据的融合谱聚类的
自适应过采样法[J].智能系统学报,2020:1-8
[10] BunkhumpornpatC,SinapiromsaranK,LursinsapC,etal.
DBSMOTE:Density-BasedSynthetic Minority Over-sampling TEchnique[J]. Applied Intelligence, 2012,36(3):664-684
[11] Batista G E, Prati R C, Monard M C, et al. A study of the
behavior of several methods for balancing machine learning training data[J]. Sigkdd Explorations,2004,6(1):20-29
[12] 張忠林,冯宜邦,赵中恺.一种基于SVM的非均衡数据集过
采样方法[J].计算机工程与应用,2020:1-10
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!