陳凱 黃英來 高文韜 趙鵬
摘 要:針對(duì)文本訓(xùn)練集中各個(gè)類別的樣本分布不均衡時(shí),少數(shù)類別的特征會(huì)被多數(shù)類別的特征淹沒的問題,提出一種屬性加權(quán)補(bǔ)集的樸素貝葉斯文本分類算法,該算法使用屬性加權(quán)改進(jìn)補(bǔ)集樸素貝葉斯算法,使用TFIDF算法計(jì)算特征詞在當(dāng)前文檔中的權(quán)重;利用當(dāng)前類別補(bǔ)集的特征表示當(dāng)前類別的特征并結(jié)合特征詞在文檔中的權(quán)重,解決分類器容易傾向大類別而忽略小類別的問題。與傳統(tǒng)的樸素貝葉斯及補(bǔ)集樸素貝葉斯算法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明:在樣本集分布不均衡時(shí),改進(jìn)算法的性能表現(xiàn)最優(yōu),分類準(zhǔn)確率、召回率及Gmean性能分別可達(dá)82.92%、84.6%、88.76%。
關(guān)鍵詞:屬性加權(quán);文本分類;樸素貝葉斯;不均衡數(shù)據(jù)集
DOI:10.15938/j.jhust.2018.04.013
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 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 words weight in the current document; in additional, it used features of current classs complementary set to represent the features of current class,combining the feature words 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 引 言
大多數(shù)的機(jī)器學(xué)習(xí)分類算法都是基于平衡數(shù)據(jù)集的假設(shè),然而當(dāng)數(shù)據(jù)集的各類別的樣本分布不均勻時(shí),分類器常常會(huì)傾向樣本中多數(shù)類。究其原因,不均衡或是傾斜的訓(xùn)練樣本集常會(huì)帶來特征淹沒的問題,從大多數(shù)類提取的特征相對(duì)豐富準(zhǔn)確,但由少數(shù)類提取的特征相對(duì)匱乏,使其不均勻時(shí),分類器常常會(huì)傾向樣本中多數(shù)類。究其原因,不均衡或是傾斜的訓(xùn)練樣本集常會(huì)帶來特征淹沒的問題,從大多數(shù)類提取的特征相對(duì)豐富準(zhǔn)確,但由少數(shù)類提取的特征相對(duì)匱乏,使其分類能力也隨之下降。
對(duì)于不平衡數(shù)據(jù)集分類問題,目前的解決辦法主要有基于樣本空間的改進(jìn)和基于分類算法的改進(jìn)兩個(gè)方面。其中,基于樣本空間改進(jìn)的研究中,Yen S J提出基于簇的欠抽樣[1],將多數(shù)類進(jìn)行聚類后在抽樣,使多數(shù)類抽樣后所攜帶的信息量與多數(shù)類抽樣前攜帶的信息量相差無幾,解決隨機(jī)欠抽樣過程中被丟棄的文本是隨機(jī)的問題;Chawla N 和 Bowyer K提出了SMOTE算法,在少數(shù)類中人為的加入隨機(jī)高斯噪聲形成新的文件,擴(kuò)充少數(shù)類的規(guī)模,降低隨機(jī)過抽樣方法中過分?jǐn)M合的風(fēng)險(xiǎn)[2]。王超等人提出SSMOTE算法改進(jìn)SMOTE算法合成少數(shù)類新樣本的不足[3]?;诜诸愃惴ǜ倪M(jìn)的研究中,Mccallum A提出MNB多項(xiàng)式樸素貝葉斯文本分類算法,考慮特征詞在文檔中的詞頻信息,且在對(duì)實(shí)例預(yù)測(cè)試時(shí)只考慮特征詞出現(xiàn)的概率并不考慮特征詞不出現(xiàn)的概率,MNB算法在大量數(shù)據(jù)集上表現(xiàn)較好,且在分類精度上比BNB伯努利樸素貝葉斯高27%左右[4]。Rennie J D M提出CNB加權(quán)補(bǔ)集樸素貝葉斯文本分類算法,CNB模型在計(jì)算概率時(shí)采用補(bǔ)集的思想改進(jìn)MNB模型,計(jì)算待測(cè)樣本不屬于各個(gè)類別的概率,選擇具有最小概率的類別作為待預(yù)測(cè)樣本的類標(biāo)記[5]。LIANGXIAO JIANG提出實(shí)例加權(quán)樸素貝葉斯算法,通過修改訓(xùn)練集樣本的權(quán)重降低樸素貝葉斯特征詞之間相互獨(dú)立的假設(shè),通過不斷迭代使用估計(jì)損失的誤差修改訓(xùn)練樣本的權(quán)重[6]。Liangxiao Jiang提出局部加權(quán)樸素貝葉斯算法,采用局部加權(quán)的學(xué)習(xí)方法,削弱屬性條件獨(dú)立假設(shè)[7],YANJUN LI提出卡方統(tǒng)計(jì)加權(quán)多項(xiàng)式樸素貝葉斯算法,使用卡方方法計(jì)算特征詞與類別之間的權(quán)重,通過屬性加權(quán)的方式,削弱屬性條件獨(dú)立假設(shè)[8]。
在算法改進(jìn)上,現(xiàn)有的研究利用樸素貝葉斯方法解決該問題的效果很好,為此針對(duì)不平衡文本數(shù)據(jù)集,本文提出了一種基于屬性加權(quán)與加權(quán)補(bǔ)集的樸素貝葉斯文本分類算法,該算法使用TFIDF算法計(jì)算特征詞在當(dāng)前文檔中的權(quán)重;利用當(dāng)前類別補(bǔ)集的特征來表示當(dāng)前類別的特征并結(jié)合特征詞在文檔中的權(quán)重,解決訓(xùn)練集中各個(gè)類別的樣本分布不均勻時(shí),分類器容易傾向于大類別而忽略小類別的問題。
4 實(shí)驗(yàn)及結(jié)果分析
4.1 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)
實(shí)驗(yàn)的物理環(huán)境在浪潮AS300N服務(wù)器上進(jìn)行,系統(tǒng)主要參數(shù)為Ubuntu 12.04.3 LTS,Linux 3.8.029generic (x86_64),4x Intel(R) Xeon(R) CPU E5502 @ 1.87GHz,內(nèi)存16GB,硬盤ATA Hitachi HTS54501 150GB。
為了驗(yàn)證改進(jìn)的TFWCNB文本分類算法的性能,采用加州大學(xué)歐文分校提供的用于機(jī)器學(xué)習(xí)的UCI數(shù)據(jù)庫,該數(shù)據(jù)庫中目前包含335個(gè)常用的標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)集,從中選擇7組數(shù)據(jù)集作為仿真實(shí)驗(yàn)語料,分別為Page_blocks、Soybean、Glass、Pima_diabetes、Spambase、Iris、Seeds數(shù)據(jù)集,其中,Page_blocks、Soybean、Glass、Pima_diabetes、Spambase為不平衡數(shù)據(jù)集,Iris、Seeds為平衡數(shù)據(jù)集,主要目的是為了對(duì)比算法在平衡和不平衡數(shù)據(jù)集上的分類性能。
所采用的每個(gè)數(shù)據(jù)集的名稱、樣本總數(shù)、特征維數(shù)、類別數(shù)及樣本的不平衡度(少數(shù)類樣本數(shù)與多數(shù)類樣本數(shù)的比值)可描述如表2所示。
對(duì)于以上7組標(biāo)準(zhǔn)數(shù)據(jù)集,分別從其每個(gè)類中隨機(jī)抽取1/4的樣本作為測(cè)試樣本,其余3/4的樣本作為訓(xùn)練樣本,對(duì)每個(gè)數(shù)據(jù)集分別進(jìn)行50次重復(fù)實(shí)驗(yàn),以最終計(jì)算的各評(píng)價(jià)指標(biāo)的平均值對(duì)算法性能進(jìn)行評(píng)價(jià)。
4.2 數(shù)據(jù)預(yù)處理
1)缺失值處理
本文獲取的數(shù)據(jù)集中有一部分包含缺失值,為防止系統(tǒng)丟失有用信息或者由于數(shù)據(jù)缺失而擾亂分類造成不可靠的輸出,必須對(duì)不完整數(shù)據(jù)集進(jìn)行缺失值處理。
仿真實(shí)驗(yàn)時(shí)采用填充法用于消除缺失值對(duì)樣本分類的影響,具體由weka.fiters.unsupervised.attribute.ReplaceMissingValues實(shí)現(xiàn)。
2)數(shù)據(jù)標(biāo)準(zhǔn)化
標(biāo)準(zhǔn)化即給定數(shù)據(jù)集中所有數(shù)值屬性的值到一個(gè)0均值和單位方差的正態(tài)分布。WEKA中可由類weka.filters.unsupervised. attribute.Standardize實(shí)現(xiàn)。
3)數(shù)據(jù)規(guī)范化
規(guī)范化給定數(shù)據(jù)集中的所有數(shù)值屬性值(類屬性除外),用消除屬性間量綱對(duì)分類結(jié)果的影響。結(jié)果值默認(rèn)在區(qū)間[0,1]范圍內(nèi),WEKA中可由類weka.fiters.unsupervised.attribute.Normalize實(shí)現(xiàn)。
4)數(shù)據(jù)離散化
WEKA中提供了兩種基本方法:一種是在訓(xùn)練集類屬性未知的情況下,對(duì)每個(gè)屬性離散化,即無監(jiān)督離散化,可由WEKA中的weka.filters.unsupervised.attribute.Discretize實(shí)現(xiàn);另一種是在創(chuàng)建分隔時(shí)即考慮實(shí)例的類屬性,即有監(jiān)督實(shí)例化,由WEKA中的weka.filters.unsupervised.attribute.Discretize實(shí)現(xiàn)。
4.3 分類器性能的評(píng)價(jià)
在處理不平衡數(shù)據(jù)集時(shí),通常將少數(shù)類樣本稱為正類樣本,反之將多數(shù)類樣本稱為負(fù)類樣本,而常用的文本分類器評(píng)價(jià)指標(biāo)主要有精確度(Accuracy)、準(zhǔn)確率(Precision)、召回率(Recall)、F度量(Fmeasure)、幾何平均準(zhǔn)則(Gmean)、ROC曲線等,以上評(píng)價(jià)指標(biāo)均基于二類分類問題的混淆矩陣進(jìn)行計(jì)算,如表3所示。
其中:TP為分類器正確分類的文本數(shù);FN為不是當(dāng)前類別的文本錯(cuò)分類到當(dāng)前類別的文本數(shù);FP為將當(dāng)前類別的文本分類到其它類別的文本數(shù)。
1)準(zhǔn)確率(Precision)
一個(gè)文本分類器的分類準(zhǔn)確率反映了分類器能夠正確分類的正類樣本數(shù)目與所有被分為正類樣本數(shù)的比值,衡量了分類結(jié)果的精確性,其數(shù)學(xué)定義為:
precision=TPTP+FP(17)
2)召回率(Recall)
一個(gè)文本分類器的分類召回率反映了分類器能夠正確分類的負(fù)類樣本數(shù)目與所有正類樣本數(shù)目的比值,衡量了分類結(jié)果完整性,其數(shù)學(xué)定義為:
recall=TPTP+FN(18)
3)幾何平均準(zhǔn)則(Gmean)
一個(gè)文本分類器的幾何平均準(zhǔn)則反映了分類算
法對(duì)不平衡數(shù)據(jù)集中正負(fù)兩類樣本分類性能的均衡程度,可避免多數(shù)類的過度擬合,能夠較為全面地衡量不平衡數(shù)據(jù)集分類器的分類性能,是不平衡數(shù)據(jù)分類性能評(píng)價(jià)時(shí)的常用指標(biāo),其數(shù)學(xué)定義為
Gmean=TPTP+FN×TNTN+FP(19)
4.4 實(shí)驗(yàn)結(jié)果與分析
在經(jīng)過預(yù)處理的7組標(biāo)準(zhǔn)數(shù)據(jù)集上,采用改進(jìn)的TFWCNB文本分類算法進(jìn)行文本分類訓(xùn)練,得到對(duì)應(yīng)的文本分類模型后,使用相應(yīng)的測(cè)試樣本集進(jìn)行10折交叉驗(yàn)證,仿真實(shí)驗(yàn)的程序在WEKA中通過Java語言實(shí)現(xiàn)。
表4為NB、CNB、TFWCNB三種算法在Page_blocks、Soybean、Glass、Pima_diabetes、Spambase、Iris、Seeds數(shù)據(jù)集上的分類準(zhǔn)確率(precison)、召回率(recall)及Gmean性能,三種算法Gmean性能評(píng)價(jià)指標(biāo)的對(duì)比如圖1所示。
從分類準(zhǔn)確率上來看,改進(jìn)的TFWCNB算法的表現(xiàn)最優(yōu),均值為82.92%,與CNB算法相比,TFWCNB算法分類準(zhǔn)確率最高可提升5.73%,平均提升2.8%;與NB算法相比,TFWCNB算法分類準(zhǔn)確率最高可提升14.07%,平均提升8.96%。
從分類召回率上來看,改進(jìn)的TFWCNB算法的表現(xiàn)最優(yōu),均值為84.6%,與CNB算法相比,TFWCNB算法分類召回率最高可提升11.29%,平均提升5.99%,與NB算法相比,TFWCNB算法分類召回率最高可提升22.22%,平均提升11.59%。
綜合來說,改進(jìn)的TFWCNB算法的Gmean性能表現(xiàn)最優(yōu),均值達(dá)88.76%,與CNB算法相比,TFWCNB算法的Gmean性能最高可提升6.8%,平均提升3.29%,與NB算法相比,TFWCNB算法的Gmean性能最高可提升11.64%,平均提升6.89%。
由以上實(shí)驗(yàn)結(jié)果,可得出以下結(jié)論:
1)三種算法在不同的數(shù)據(jù)集上的分類性能指標(biāo)具有較大的差異,進(jìn)一步說明了樣本數(shù)據(jù)的分布對(duì)算法分類效果具有較大影響;
2)在Page_blocks、Soybean、Glass、Pima_diabetes、Spambase這5個(gè)不平衡數(shù)據(jù)集,改進(jìn)的TFWCNB算法的分類準(zhǔn)確率及召回率均高于傳統(tǒng)的NB算法及CNB算法,在Iris、Seeds這2個(gè)平衡數(shù)據(jù)集上,三種算法的分類準(zhǔn)確率及召回率相近,且高于各算法在不平衡數(shù)據(jù)集上的表現(xiàn)。
3)除了Iris數(shù)據(jù)集之外,改進(jìn)的TFWCNB算法的Gmean性能均為最優(yōu),三種算法在Iris平衡數(shù)據(jù)集上的表現(xiàn)差異不大,說明沒有任何一種算法可以在任一數(shù)據(jù)集上都具有最好的表現(xiàn)。
綜上所述,在不平衡數(shù)據(jù)集上,改進(jìn)的TFWCNB算法均具有最優(yōu)的分類性能,且TFWCNB算法在兩組平衡數(shù)據(jù)集上的分類結(jié)果與NB、CNB算法的分類結(jié)果基本相同,說明TFWCNB算法并未降低對(duì)平衡數(shù)據(jù)集的分類精度。
但是,與平衡數(shù)據(jù)集相比,三種分類算法在不平衡數(shù)據(jù)集上的分類性能均有所下降,進(jìn)一步說明了數(shù)據(jù)分布會(huì)顯著影響文本分類算法的分類性能。
通過仿真實(shí)驗(yàn)可知,與CNB及NB文本分類算法相比,改進(jìn)的TFWCNB算法具有明顯的優(yōu)勢(shì)。
5 結(jié) 論
本文針對(duì)不平衡數(shù)據(jù)中少數(shù)類特征被淹沒的問題,提出了一種基于屬性加權(quán)補(bǔ)集的樸素貝葉斯文本分類算法—TFWCNB,該算法使用TFIDF特征詞權(quán)重計(jì)算算法,計(jì)算文檔中每個(gè)特征詞的權(quán)重,然后,將同一個(gè)類別的該特征詞的權(quán)重相乘得到特征詞對(duì)于該類別的權(quán)重,進(jìn)而對(duì)CNB分類模型進(jìn)行修改。算法通過提高了少數(shù)類別中特征詞的權(quán)重,進(jìn)而提高文本分類器對(duì)不平衡數(shù)據(jù)集分類的準(zhǔn)確率。
通過仿真實(shí)驗(yàn)得出:改進(jìn)的TFWCNB算法的分類性能較好,Gmean性能平均可達(dá)88.76%,與傳統(tǒng)的CNB及NB分類算法相比,Gmean性能分別可提升3.29%和6.89%左右,且算法并未降低在平衡數(shù)據(jù)集上的分類性能,說明改進(jìn)的TFWCNB算法在平衡和不平衡數(shù)據(jù)集上仍具有一定優(yōu)勢(shì)。
參 考 文 獻(xiàn):
[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] 王超學(xué),潘正茂,董麗麗,等. 基于改進(jìn)SMOTE的非平衡數(shù)據(jù)集分類研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 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] 楊赫,孫廣路,何勇軍. 基于樸素貝葉斯模型的郵件過濾技術(shù)[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 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]呂淑寶,王明月,翟祥,等. 一種深度學(xué)習(xí)的信息文本分類算法[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2017, 22(02): 105-111.
[12]賀鳴,孫建軍,成穎. 基于樸素貝葉斯的文本分類研究綜述[J]. 情報(bào)科學(xué),2016,34(7):147-154.
[13]杜選. 基于加權(quán)補(bǔ)集的樸素貝葉斯文本分類算法研究[J]. 計(jì)算機(jī)應(yīng)用與軟件,2014,31(9):253-255.
[14]武建軍,李昌兵. 基于互信息的加權(quán)樸素貝葉斯文本分類算法[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,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.
(編輯:溫澤宇)