曹路,王鵬
?
基于SMOTE采樣和支持向量機(jī)的不平衡數(shù)據(jù)分類
曹路,王鵬
(五邑大學(xué) 信息工程學(xué)院,廣東 江門(mén) 529020)
不平衡數(shù)據(jù)集廣泛存在,對(duì)其的有效識(shí)別往往是分類的重點(diǎn),但傳統(tǒng)的支持向量機(jī)在不平衡數(shù)據(jù)集上的分類效果不佳. 本文提出將數(shù)據(jù)采樣方法與SVM結(jié)合,先對(duì)原始數(shù)據(jù)中的少類樣本進(jìn)行SMOTE采樣,再使用SVM進(jìn)行分類. 人工數(shù)據(jù)集和UCI數(shù)據(jù)集的實(shí)驗(yàn)均表明,使用SMOTE采樣以后,SVM的分類性能得到了提升.
不平衡數(shù)據(jù);支持向量機(jī);SMOTE;ROC曲線
現(xiàn)實(shí)生活中,不平衡數(shù)據(jù)集廣泛存在,如:癌癥診斷、信用卡欺詐等,其中,不平衡數(shù)據(jù)集中少類樣本的識(shí)別往往才是分類的重點(diǎn). 在醫(yī)療診斷中,如果把一個(gè)病人誤診為正常,可能會(huì)造成嚴(yán)重的后果;在信用卡欺詐檢測(cè)中,如果將欺詐判斷為正常事件,可能帶來(lái)巨大的經(jīng)濟(jì)損失. 傳統(tǒng)的分類器,如支持向量機(jī)(Support Vector Machine,SVM)[1]、決策樹(shù)、神經(jīng)網(wǎng)絡(luò)等均是從優(yōu)化整個(gè)數(shù)據(jù)集的性能出發(fā)而設(shè)計(jì)的學(xué)習(xí)機(jī)器,對(duì)多數(shù)樣本類有較高的識(shí)別率,而對(duì)少數(shù)類的識(shí)別率卻很低. 因此,傳統(tǒng)的分類方法在處理不平衡數(shù)據(jù)集時(shí)存在弊端.
為了解決不平衡數(shù)據(jù)的分類問(wèn)題,研究人員主要從算法層面和數(shù)據(jù)層面來(lái)改善分類性能[2]. 算法層面主要是對(duì)現(xiàn)有算法的改進(jìn)和提升[3-4],數(shù)據(jù)層面主要是通過(guò)重采樣的技術(shù)來(lái)改善數(shù)據(jù)集的不平衡率,方法包括下采樣和上采樣. 下采樣技術(shù)通過(guò)減少多數(shù)類樣本來(lái)提高少數(shù)類樣本的比例,但易因丟失多數(shù)類樣本的信息而導(dǎo)致分類器無(wú)法正確學(xué)習(xí)[5]. 隨機(jī)上采樣通過(guò)隨機(jī)復(fù)制少數(shù)類樣本來(lái)達(dá)到增加少數(shù)類樣本的目的,但新增加的數(shù)據(jù)有額外的計(jì)算代價(jià)[6]. 鑒于此,本文提出了一種基于SMOTE(synthetic minority over-sampling technique)[7]采樣和支持向量機(jī)的不平衡數(shù)據(jù)分類,先對(duì)原始數(shù)據(jù)中的少類樣本進(jìn)行SMOTE采樣,再使用SVM進(jìn)行分類,以期提升分類器的分類性能.
1 基于SMOTE采樣的SVM分類器的設(shè)計(jì)
1.1 不平衡數(shù)據(jù)對(duì)SVM算法分類性能的影響
為了測(cè)試數(shù)據(jù)不平衡對(duì)SVM分類器的影響,對(duì)兩類符合正態(tài)分布的人工數(shù)據(jù)樣本分別以不同的抽樣比例生成訓(xùn)練集,再用SVM對(duì)它們進(jìn)行分類. 其中一類樣本中心為,另一類樣本中心為,方差為(0.5,0;0,0.5). 圖1中,兩類樣本的比例分別為1000:1000,1000:200,1000:100,1000:10;藍(lán)顏色的點(diǎn)代表正類樣本,黑顏色的“+”代表負(fù)類樣本,紅線代表使用支持向量機(jī)分類后得到的分類面. 如圖1所示,當(dāng)采樣比例不斷向右上方的多類樣本(藍(lán)色樣本)傾斜時(shí),紅色的分界線逐漸向左下方移動(dòng),越來(lái)越多的少類樣本被錯(cuò)劃為多類樣本,導(dǎo)致少類樣本的分類準(zhǔn)確率下降. 這是由于訓(xùn)練樣本數(shù)量不平衡所引起的. 在現(xiàn)實(shí)生活中,少數(shù)樣本的錯(cuò)分代價(jià)遠(yuǎn)高于多數(shù)樣本. 所以為了提高分類器的性能,需要解決分類的決策面偏向少類樣本的問(wèn)題.
圖1 兩類樣本不同比例下的分類面
1.2 SMOTE采樣與SVM分類的結(jié)合
SMOTE方法是由Chawla等提出來(lái)的一種對(duì)數(shù)據(jù)過(guò)采樣的方法,其主要思想是在相距較近的少數(shù)類樣本之間進(jìn)行線性插值產(chǎn)生新的少數(shù)類樣本,降低兩類樣本數(shù)量上的不平衡率,提高少數(shù)類樣本的分類精度. 其具體方法可概括為:對(duì)少數(shù)類的樣本,搜索其個(gè)最近鄰樣本,在其個(gè)最近鄰樣本中隨機(jī)選擇個(gè)樣本(記為),在少數(shù)類樣本與之間進(jìn)行隨機(jī)插值,構(gòu)造如式(1)所示的新的小類樣本:
如圖2所示,原始數(shù)據(jù)樣本滿足二元高斯分布,形狀為方塊;按照的比例對(duì)原始樣本進(jìn)行SMOTE采樣,圓圈型樣本是SMOTE采樣之后的樣本.
圖2 SMOTE方法效果圖
為了更好地對(duì)不平衡數(shù)據(jù)進(jìn)行分類,本文提出將數(shù)據(jù)采樣方法與SVM結(jié)合,先對(duì)原始數(shù)據(jù)中的少類樣本進(jìn)行SMOTE采樣,再使用SVM進(jìn)行分類,算法的流程圖如圖3所示. 具體步驟如下:
圖3 基于支持向量機(jī)的采樣方法流程圖
1)對(duì)樣本數(shù)據(jù)進(jìn)行預(yù)處理. 本文的數(shù)據(jù)預(yù)處理是對(duì)數(shù)據(jù)集數(shù)據(jù)進(jìn)行歸一化處理,按照數(shù)據(jù)集的各自維數(shù),把所有的數(shù)據(jù)都?xì)w一化為[0,1]之間的數(shù),以消除各個(gè)不同維數(shù)的數(shù)據(jù)間的數(shù)量級(jí)差別,避免因輸入數(shù)據(jù)數(shù)量級(jí)差別較大而產(chǎn)生的較大誤差;
2)用SMOTE對(duì)負(fù)類樣本采樣,以降低多數(shù)類和少數(shù)類的不平衡程度;
3)用支持向量機(jī)進(jìn)行學(xué)習(xí),建立最終的分類器.
2 實(shí)驗(yàn)及結(jié)果分析
2.1 人工數(shù)據(jù)集
實(shí)驗(yàn)中的人造樣本服從二維標(biāo)準(zhǔn)正態(tài)分布,其中一類樣本中心為(1,1),另一類樣本中心為,方差為(0.5,0;0,0.5),因此最優(yōu)的分類面應(yīng)該是一條通過(guò)原點(diǎn)的分界線. 分別選取了10個(gè)和100個(gè)作為少類樣本和多類樣本. 如圖4所示,紅色圓點(diǎn)表示多類樣本,藍(lán)色“+”點(diǎn)代表少類樣本,藍(lán)色線條是原始最佳分界面,紅色線條是經(jīng)過(guò)分類器之后建立的分界面. 很顯然,SMOTE采樣后的分界面明顯優(yōu)于原始不平衡數(shù)據(jù)的分類面. 本次實(shí)驗(yàn)在SVM建模的參數(shù)尋優(yōu)過(guò)程中選取的是線性核函數(shù),因此分類界面是直線.
圖4 人工數(shù)據(jù)集的樣本分類
2.2 UCI數(shù)據(jù)集
本文選取5個(gè)不同平衡程度、不同樣本數(shù)量的UCI數(shù)據(jù)集進(jìn)行實(shí)驗(yàn). 為了實(shí)驗(yàn)簡(jiǎn)便,可把多類數(shù)據(jù)集轉(zhuǎn)化為兩類. 對(duì)于類數(shù)較多的數(shù)據(jù)集,設(shè)定其中一類為少數(shù)類,剩余的合并為多數(shù)類. 數(shù)據(jù)集的總體描述如表1所示.
表1 數(shù)據(jù)集
傳統(tǒng)的分類學(xué)習(xí)方法一般采用分類精度來(lái)評(píng)價(jià)分類的效果. 但對(duì)于不平衡數(shù)據(jù),用分類精度來(lái)衡量分類器的性能是不合理的. 因?yàn)楫?dāng)少數(shù)類比例非常低時(shí),即使將全部少類都分為多類,其精度仍然非常高,而這樣的分類器是沒(méi)有意義的. 目前,不平衡問(wèn)題分類的評(píng)價(jià)標(biāo)準(zhǔn)有F-value、G-mean、ROC曲線等,它們都是建立在混淆矩陣的基礎(chǔ)上的. 其中,ROC曲線能全面描述分類器的性能,已經(jīng)成為不平衡數(shù)據(jù)分類性能評(píng)價(jià)的準(zhǔn)則. 一般說(shuō)來(lái),ROC曲線越偏向左上角,分類器的性能越好. 由于ROC曲線不能定量地對(duì)分類器的性能進(jìn)行評(píng)估,一般用ROC曲線下的面積(Area Under ROC Curve,AUC)來(lái)評(píng)估分類器的性能.
在實(shí)驗(yàn)的過(guò)程中,采用交叉驗(yàn)證的方法,將數(shù)據(jù)集中的樣本隨機(jī)分為5份:其中的4份作為訓(xùn)練集,剩下的1份作為測(cè)試集. 由于實(shí)驗(yàn)中所用到的采樣方法都屬于隨機(jī)算法,為避免偶然性,本文將每種方法都獨(dú)立執(zhí)行5次,最后取5次AUC值的平均值作為該算法在整個(gè)數(shù)據(jù)集中的AUC值. 圖5為不同數(shù)據(jù)集下的ROC曲線,由圖可見(jiàn),除了圖5-e中Breast cancer數(shù)據(jù)集SMOTE采樣前和SMOTE采樣后ROC曲線接近外,其他數(shù)據(jù)集中采用SMOTE采樣后的ROC曲線均更偏向左上角,說(shuō)明采用SMOTE采樣后,SVM的分類性能要優(yōu)于原始數(shù)據(jù)集下的分類性能.
圖5 不同數(shù)據(jù)集的ROC曲線
5組數(shù)據(jù)集在兩種方法下所記錄的AUC的平均值和分類精度平均值如表2所示. 由表2可知,相較于SVM分類算法,SVM+SMOTE算法除了在Breast cancer數(shù)據(jù)集上的AUC略低外,在其他數(shù)據(jù)集上均有不同程度的提升. 5個(gè)數(shù)據(jù)集的分類精度平均值亦有相似的實(shí)驗(yàn)結(jié)果,即除了Breast cancer數(shù)據(jù)集,經(jīng)過(guò)SMOTE采樣后,Wine、Haberman、Pima、Glass等4個(gè)數(shù)據(jù)集的分類精度平均值均得到了不同程度的提高. 這些說(shuō)明采用SVM+SMOTE的方法能提高不平衡數(shù)據(jù)集的分類性能.
表2 5種數(shù)據(jù)集在兩種方法下的AUC和分類精度的平均值
3 結(jié)論
傳統(tǒng)的分類器對(duì)不平衡數(shù)據(jù)集中少數(shù)類樣本的識(shí)別率較低,本文在討論了不平衡數(shù)據(jù)對(duì)SVM算法分類性能影響的基礎(chǔ)上,提出了一種基于SMOTE采樣的SVM方法. 該方法首先對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,然后對(duì)少類樣本進(jìn)行SMOTE采樣,最后再使用SVM進(jìn)行分類. 實(shí)驗(yàn)結(jié)果表明,本文所提出的方法在少數(shù)類識(shí)別率和整體的分類精度上均優(yōu)于傳統(tǒng)的SVM算法,證明該算法是可行的、有效的. 如何利用上采樣和下采樣結(jié)合的方法,或者利用其他算法來(lái)提高不平衡數(shù)據(jù)集的分類性能是今后需要進(jìn)一步研究的問(wèn)題.
[1] VAPNIK V N. 統(tǒng)計(jì)學(xué)習(xí)理論[M]. 許建華,張學(xué)工,譯. 北京:電子工業(yè)出版社,2004.
[2] 楊明,尹軍梅,吉根林. 不平衡數(shù)據(jù)分類方法綜述[J]. 南京師范大學(xué)學(xué)報(bào)(工程技術(shù)版),2008, 4(8): 7-12.
[3] 李秋潔,茅耀斌,王執(zhí)銓. 基于Boosting的不平衡數(shù)據(jù)分類算法研究[J]. 計(jì)算機(jī)科學(xué),2011, 38(12): 224-228.
[4] 王超學(xué),張濤,馬春森. 基于聚類權(quán)重分階段的SVM解不平衡數(shù)據(jù)集分類[J]. 計(jì)算機(jī)工程與應(yīng)用,2014, 25(4): 1-6.
[5] ESTABROOKS A, JO T. A multiple re-sampling method for learning from imbalanced data sets [J]. Computational Intelligence, 2004, 20(11): 18-36.
[6] AKBAR I R, KWEK S, JAPKOW I. Applying support vector machines to imbalanced datasets [C]//Proc of the 15th European Conference on Machines Learning. Berlin Heidelberg: Springer, 2004: 39-50.
[7] CHAWLA N, BOWYER K, HALL L, et al. SMOTE: Synthetic minority over-sampling technique [J]. Journal of Artificial Intelligence Research, 2002, 16: 321-357.
[8] 陶新民,郝思媛,張冬雪,等. 基于樣本特性欠取樣的不均衡支持向量機(jī)[J]. 控制與決策,2013, 28(7): 978-984.
[9] 鄧乃揚(yáng),田英杰. 支持向量機(jī)——理論、算法與拓展[M]. 北京:科學(xué)出版社,2009.
[10] WANG Quan, CHEN Weijie. A combined SMOTE and cost-sensitive twin support vector for imbalanced classification [J]. Journal of computational information systems, 2014, 12(10): 5245-5253.
[責(zé)任編輯:熊玉濤]
Imbalanced Data Classification Based on SMOTE Sampling and the Support Vector Machine
CAOLu, WANGPeng
(School of Information Engineering, Wuyi University, Jiangmen 529020, China)
Imbalanced data sets exist widely in real life and their effective identification tends to be the focus of classification. However, the results of classification of imbalanced data sets by traditional support vector machines are poor. This paper proposes combining data sampling and SVM, conducting SMOTE sampling of minority samples in the original data and then classifying them by SVM. Experiments using artificial datasets and UCI datasets show that by adopting SMOTE sampling, the performance of classification by SVM is improved.
imbalanced data; support vector machines; SMOTE; ROC curve
1006-7302(2015)04-0027-05
TP273
A
2015-07-17
2013年五邑大學(xué)青年基金資助項(xiàng)目(2013zk07);2014年五邑大學(xué)青年基金資助項(xiàng)目(2014zk10);2015年江門(mén)市科技計(jì)劃項(xiàng)目(201501003001556)
曹路(1983—),女,湖北松滋人,講師,碩士,研究方向?yàn)槟J阶R(shí)別.