周一至周五 | 9:00—22:00

一种基于属性加权补集的朴素贝叶斯文本分类算法

作者:未知

  摘 要:针对文本训练集中各个类别的样本分布不均衡时,少数类别的特征会被多数类别的特征淹没的问题,提出一种属性加权补集的朴素贝叶斯文本分类算法,该算法使用属性加权改进补集朴素贝叶斯算法,使用TFIDF算法计算特征词在当前文档中的权重;利用当前类别补集的特征表示当前类别的特征并结合特征词在文档中的权重,解决分类器容易倾向大类别而忽略小类别的问题。与传统的朴素贝叶斯及补集朴素贝叶斯算法进行对比实验,结果表明:在样本集分布不均衡时,改进算法的性能表现最优,分类准确率、召回率及Gmean性能分别可达82.92%、84.6%、88.76%。
  关键词:属性加权;文本分类;朴素贝叶斯;不均衡数据集
  DOI:10.15938/j.jhust.2018.04.013
  中图分类号: TP391
  文献标志码: A
  文章编号: 1007-2683(2018)04-0069-06
  Abstract:When training samples of each class are distributed unevenly and sparsely, the features of smaller class cannot be adequately expressed and submerged by lager class, to solve this problem, a new method TFWCNB(TFIDF weighted complementary Nave Bayes) algorithm was proposed for unbalanced problem. TFWCNB used weighted features to improve the complement nave Bayes and TFIDF algorithm to calculate the feature word’s weight in the current document; in additional, it used features of current class’s complementary set to represent the features of current class,combining the feature word’s weight, it can solve the problem that the classifier tends to larger class and ignores the smaller class. The experimental results comparing with the traditional Nave Bayes and the complement Nave Bayes show that the TFWCNB algorithm has the best performance when the sample set is unevenly distributed, its classification precision, recall and gmean value can relatively reach 82.92%, 84.6% and 88.76%.
  Keywords:feature weight; text classification; naive Bayes; unbalanced dataset
  0 引 言
  大多�档幕�器学习分类算法都是基于平衡数据集的假设,然而当数据集的各类别的样本分布不均匀时,分类器常常会倾向样本中多数类。究其原因,不均衡或是倾斜的训练样本集常会带来特征淹没的问题,从大多数类提取的特征相对丰富准确,但由少数类提取的特征相对匮乏,使其不均匀时,分类器常常会倾向样本中多数类。究其原因,不均衡或是倾斜的训练样本集常会带来特征淹没的问题,从大多数类提取的特征相对丰富准确,但由少数类提取的特征相对匮乏,使其分类能力也随之下降。
  对于不平衡数据集分类问题,目前的解决办法主要有基于样本空间的改进和基于分类算法的改进两个方面。其中,基于样本空间改进的研究中,Yen S J提出基于簇的欠抽样[1],将多数类进行聚类后在抽样,使多数类抽样后所携带的信息量与多数类抽样前携带的信息量相差无几,解决随机欠抽样过程中被丢弃的文本是随机的问题;Chawla N 和 Bowyer K提出了SMOTE算法,在少数类中人为的加入随机高斯噪声形成新的文件,扩充少数类的规模,降低随机过抽样方法中过分拟合的风险[2]。王超等人提出SSMOTE算法改进SMOTE算法合成少数类新样本的不足[3]。基于分类算法改进的研究中,Mccallum A提出MNB多项式朴素贝叶斯文本分类算法,考虑特征词在文档中的词频信息,且在对实例预测试时只考虑特征词出现的概率并不考虑特征词不出现的概率,MNB算法在大量数据集上表现较好,且在分类精度上比BNB伯努利朴素贝叶斯高27%左右[4]。Rennie J D M提出CNB加权补集朴素贝叶斯文本分类算法,CNB模型在计算概率时采用补集的思想改进MNB模型,计算待测样本不属于各个类别的概率,选择具有最小概率的类别作为待预测样本的类标记[5]。LIANGXIAO JIANG提出实例加权朴素贝叶斯算法,通过修改训练集样本的权重降低朴素贝叶斯特征词之间相互独立的假设,通过不断迭代使用估计损失的误差修改训练样本的权重[6]。Liangxiao Jiang提出局部加权朴素贝叶斯算法,采用局部加权的学习方法,削弱属性条件独立假设[7],YANJUN LI提出卡方统计加权多项式朴素贝叶斯算法,使用卡方方法计算特征词与类别之间的权重,通过属性加权的方式,削弱属性条件独立假设[8]。   在算法改进上,现有的研究利用朴素贝叶斯方法解决该问题的效果很好,为此针对不平衡文本数据集,本文提出了一种基于属性加权与加权补集的朴素贝叶斯文本分类算法,该算法使用TFIDF算法计算特征词在当前文档中的权重;利用当前类别补集的特征来表示当前类别的特征并结合特征词在文档中的权重,解决训练集中各个类别的样本分布不均匀时,分类器容易倾向于大类别而忽略小类别的问题。
  4 实验及结果分析
  4.1 实验环境及数据
  实验的物理环境在浪潮AS300N服务器上进行,系统主要参数为Ubuntu 12.04.3 LTS,Linux 3.8.029generic (x86_64),4x Intel(R) Xeon(R) CPU E5502 @ 1.87GHz,内存16GB,硬盘ATA Hitachi HTS54501 150GB。
  为了验证改进的TFWCNB文本分类算法的性能,采用加州大学欧文分校提供的用于机器学习的UCI数据库,该数据库中目前包含335个常用的标准测试数据集,从中选择7组数据集作为仿真实验语料,分别为Page_blocks、Soybean、Glass、Pima_diabetes、Spambase、Iris、Seeds数据集,其中,Page_blocks、Soybean、Glass、Pima_diabetes、Spambase为不平衡数据集,Iris、Seeds为平衡数据集,主要目的是为了对比算法在平衡和不平衡数据集上的分类性能。
  所采用的每个数据集的名称、样本总数、特征维数、类别数及样本的不平衡度(少数类样本数与多数类样本数的比值)可描述如表2所示。
  对于以上7组标准数据集,分别从其每个类中随机抽取1/4的样本作为测试样本,其余3/4的样本作为训练样本,对每个数据集分别进行50次重复实验,以最终计算的各评价指标的平均值对算法性能进行评价。
  4.2 数据预处理
  1)缺失值处理
  本文获取的数据集中有一部分包含缺失值,为防止系统丢失有用信息或者由于数据缺失而扰乱分类造成不可靠的输出,必须对不完整数据集进行缺失值处理。
  仿真实验时采用填充法用于消除缺失值对样本分类的影响,具体由weka.fiters.unsupervised.attribute.ReplaceMissingValues实现。
  2)数据标准化
  标准化即给定数据集中所有数值属性的值到一个0均值和单位方差的正态分布。WEKA中可由类weka.filters.unsupervised. attribute.Standardize实现。
  3)数据规范化
  规范化给定数据集中的所有数值属性值(类属性除外),用消除属性间量纲对分类结果的影响。结果值默认在区间[0,1]范围内,WEKA中可由类weka.fiters.unsupervised.attribute.Normalize实现。
  4)数据离散化
  WEKA中提供了两种基本方法:一种是在训练集类属性未知的情况下,对每个属性离散化,即无监督离散化,可由WEKA中的weka.filters.unsupervised.attribute.Discretize��现;另一种是在创建分隔时即考虑实例的类属性,即有监督实例化,由WEKA中的weka.filters.unsupervised.attribute.Discretize实现。
  4.3 分类器性能的评价
  在处理不平衡数据集时,通常将少数类样本称为正类样本,反之将多数类样本称为负类样本,而常用的文本分类器评价指标主要有精确度(Accuracy)、准确率(Precision)、召回率(Recall)、F度量(Fmeasure)、几何平均准则(Gmean)、ROC曲线等,以上评价指标均基于二类分类问题的混淆矩阵进行计算,如表3所示。
  其中:TP为分类器正确分类的文本数;FN为不是当前类别的文本错分类到当前类别的文本数;FP为将当前类别的文本分类到其它类别的文本数。
  1)准确率(Precision)
  一个文本分类器的分类准确率反映了分类器能够正确分类的正类样本数目与所有被分为正类样本数的比值,衡量了分类结果的精确性,其数学定义为:
  precision=TPTP+FP(17)
  2)召回率(Recall)
  一个文本分类器的分类召回率反映了分类器能够正确分类的负类样本数目与所有正类样本数目的比值,衡量了分类结果完整性,其数学定义为:
  recall=TPTP+FN(18)
  3)几何平均准则(Gmean)
  一个文本分类器的几何平均准则反映了分类算
  法对不平衡数据集中正负两类样本分类性能的均衡程度,可避免多数类的过度拟合,能够较为全面地衡量不平衡数据集分类器的分类性能,是不平衡数据分类性能评价时的常用指标,其数学定义为
  Gmean=TPTP+FN×TNTN+FP(19)
  4.4 实验结果与分析
  在经过预处理的7组标准数据集上,采用改进的TFWCNB文本分类算法进行文本分类训练,得到对应的文本分类模型后,使用相应的测试样本集进行10折交叉验证,仿真实验的程序在WEKA中通过Java语言实现。
  表4为NB、CNB、TFWCNB三种算法在Page_blocks、Soybean、Glass、Pima_diabetes、Spambase、Iris、Seeds数据集上的分类准确率(precison)、召回率(recall)及Gmean性能,三种算法Gmean性能评价指标的对比如图1所示。   从分类准确率上来看,改进的TFWCNB算法的表现最优,均值为82.92%,与CNB算法相比,TFWCNB算法分类准确率最高可提升5.73%,平均提升2.8%;与NB算法相比,TFWCNB算法分类准确率最高可提升14.07%,平均提升8.96%。
  从分类召回率上来看,改进的TFWCNB算法的表现最优,均值为84.6%,与CNB算法相比,TFWCNB算法分类召回率最高可提升11.29%,平均提升5.99%,与NB算法相比,TFWCNB算法分类召回率最高可提升22.22%,平均提升11.59%。
  综合来说,改进的TFWCNB算法的Gmean性能表现最优,均值达88.76%,与CNB算法相比,TFWCNB算法的Gmean性能最高可提升6.8%,平均提升3.29%,与NB算法相比,TFWCNB算法的Gmean性能最高可提升11.64%,平均提升6.89%。
  由以上实验结果,可得出以下结论:
  1)三种算法在不同的数据集上的分类性能指标具有较大的差异,进一步说明了样本数据的分布对算法分类效果具有较大影响;
  2)在Page_blocks、Soybean、Glass、Pima_diabetes、Spambase这5个不平衡数据集,改进的TFWCNB算法的分类准确率及召回率均高于传统的NB算法及CNB算法,在Iris、Seeds这2个平衡数据集上,三种算法的分类准确率及召回率相近,且高于各算法在不平衡数据集上的表现。
  3)除了Iris数据集之外,改进的TFWCNB算法的Gmean性能均为最优,三种算法在Iris平衡数据集上的表现差异不大,说明没有任何一种算法可以在任一数据集上都具有最好的表现。
  综上所述,在不平衡数据集上,改进的TFWCNB算法均具有最优的分类性能,且TFWCNB算法在两组平衡数据集上的分类结果与NB、CNB算法的分类结果基本相同,说明TFWCNB算法并未降低对平衡数据集的分类精度。
  但是,与平衡数据集相比,三种分类算法在不平衡数据集上的分类性能均有所下降,进一步说明了数据分布会显著影响文本分类算法的分类性能。
  通过仿真实验可知,与CNB及NB文本分类算法相比,改进的TFWCNB算法具有明显的优势。
  5 结 论
  本文针对不平衡数据中少数类特征被淹没的问题,提出了一种基于属性加权补集的朴素贝叶斯文本分类算法―TFWCNB,该算法使用TFIDF特征词权重计算算法,计算文档中每个特征词的权重,然后,将同一个类别的该特征词的权重相乘得到特征词对于该类别的权重,进而对CNB分类模型进行修改。算法通过提高了少数类别中特征词的权重,进而提高文本分类器对不平衡数据集分类的准确率。
  通过仿真实验得出:改进的TFWCNB算法的分类性能较好,Gmean性能平均可达88.76%,与传统的CNB及NB分类算法相比,Gmean性能分别可提升3.29%和6.89%左右,且算法并未降低在平衡数据集上的分类性能,说明改进的TFWCNB算法在平衡和不平衡数据集上仍具有一定优势。
  参 考 文 献:
  [1] YEN S J,LEE Y S. Clusterbased Undersampling Approaches for Imbalanced Data Distributions[J]. Expert Systems with Applications, 2009, 36(3): 5718-5727.
  [2] CHAWLA N V, BOWYER K W,HALL L O. SMOTE:Synthetic Minority Oversampling Technique[J]. Journal of Artifigence Research, 2002, 6(2): 321-357.
  [3] 王超�W,潘正茂,董丽丽,等. 基于改进SMOTE的非平衡数据集分类研究[J]. 计算机工程与应用, 2013, 49(2): 184-187.
  [4] MCCALLUM A, NIGAM K. A Comparison of Event Models for Naive Bayes Text Classification[J]. IN AAAI98 Workshop on Learning for Text Categorization, 1998, 62(2):41-48.
  [5] RENNIE J D M. Tackling the Poor Assumptions of Naive Bayes Text Classifiers[C]// Proceedings of the 20th International Conference on Machine Learning (ICML03), 2003:616-623.
  [6] JIANG Liangxiao, WANG Dianhong, CAI Zhihua. Discriminatively Weighted Naive BAYES and its Application in Text Classification[J].International Journal of Artificial Intelligence Tools, 2012, 21(1):3898-3898.
  [7] JIANG Liangxiao, CAI Zhihua, ZHANG Harry, et al. Naive Bayes Text Classifiers: a Locally Weighted Learning Approach[J]. Journal of Experimental & Theoretical Artificial Intelligence, 2013, 25(2):273-286.   [8] LI Yanjun, LUO Congnan M, CHUNG Soon. Weighted Nave BAYES for Text Classification Using Positive Termclass Dependency[J]. International Journal of Artificial Intelligence Tools, 2012, 21(1):1659345.
  [9] 杨赫,孙广路,何勇军. 基于朴素贝叶斯模型的邮件过滤技术[J]. 哈尔滨理工大学学报, 2014, 19(1): 49-53.
  [10]LIU P, YU H, XU T, et al. Research on Archives Text Classification Based on Naive Bayes[C]//Technology, Networking, Electronic and Automation Control Conference (ITNEC), 2017 IEEE 2nd Information. IEEE, 2017: 187-190.
  [11]吕淑宝,王明月,翟祥,等. 一种深度学习的信息文本分类算法[J]. 哈尔滨理工大学学报, 2017, 22(02): 105-111.
  [12]贺鸣,孙建军,成颖. 基于朴素贝叶斯的文本分类研究综述[J]. 情报科学,2016,34(7):147-154.
  [13]杜选. 基于加权补集的朴素贝叶斯文本分类算法研究[J]. 计算机应用与软件,2014,31(9):253-255.
  [14]武建军,李昌兵. 基于互信息的加权朴素贝叶斯文本分类算法[J]. 计算机系统应用,2017,26(7):178-182.
  [15]LIU P, YU H, XU T, et al. Research on Archives Text Classification Based on Naive Bayes[C]//Technology, Networking, Electronic and Automation Control Conference (ITNEC), 2017 IEEE 2nd Information. IEEE, 2017: 187-190.
  [16]XU S, LI Y, WANG Z. Bayesian Multinomial Nave Bayes Classifier to Text Classification[C]//Advanced Multimedia and Ubiquitous Engineering. Springer, Singapore, 2017: 347-352.
  [17]KO Y. How to Use Negative Class Information for Naive BAYES Classification[J]. Information Processing & Management, 2017, 53(6): 1255-1268.
  [18]YOO J Y, YANG D. Classification Scheme of Unstructured Text Document Using TFIDF and Naive Bayes Classifier[J]. Advanced Scienceand Technology Letters, 2015(3): 263-266.
  [19]LIN Y S, JIANG J Y, LEE S J. A Similarity Measure for Text Classification and Clustering[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(7): 1575-1590.
  [20]TRSTENJAK B, MIKAC S, DONKO D. KNN with TFIDF Based Framework for Text Categorization[J]. Procedia Engineering, 2014, 69: 1356-1364.
  [21]DOMENICONI G, MORO G, PASOLINI R, et al. A Comparison of Term Weighting Schemes for Text Classification and Sentiment Analysis with a Supervised Variant of Tf. idf[C]//International Conference on Data Management Technologies and Applications. Springer, Cham, 2015: 39-58.
  (�辑:温泽宇)


常见问题解答