曹路,王鵬
?
基于SMOTE采樣和支持向量機的不平衡數(shù)據(jù)分類
曹路,王鵬
(五邑大學(xué) 信息工程學(xué)院,廣東 江門 529020)
不平衡數(shù)據(jù)集廣泛存在,對其的有效識別往往是分類的重點,但傳統(tǒng)的支持向量機在不平衡數(shù)據(jù)集上的分類效果不佳. 本文提出將數(shù)據(jù)采樣方法與SVM結(jié)合,先對原始數(shù)據(jù)中的少類樣本進行SMOTE采樣,再使用SVM進行分類. 人工數(shù)據(jù)集和UCI數(shù)據(jù)集的實驗均表明,使用SMOTE采樣以后,SVM的分類性能得到了提升.
不平衡數(shù)據(jù);支持向量機;SMOTE;ROC曲線
現(xiàn)實生活中,不平衡數(shù)據(jù)集廣泛存在,如:癌癥診斷、信用卡欺詐等,其中,不平衡數(shù)據(jù)集中少類樣本的識別往往才是分類的重點. 在醫(yī)療診斷中,如果把一個病人誤診為正常,可能會造成嚴重的后果;在信用卡欺詐檢測中,如果將欺詐判斷為正常事件,可能帶來巨大的經(jīng)濟損失. 傳統(tǒng)的分類器,如支持向量機(Support Vector Machine,SVM)[1]、決策樹、神經(jīng)網(wǎng)絡(luò)等均是從優(yōu)化整個數(shù)據(jù)集的性能出發(fā)而設(shè)計的學(xué)習(xí)機器,對多數(shù)樣本類有較高的識別率,而對少數(shù)類的識別率卻很低. 因此,傳統(tǒng)的分類方法在處理不平衡數(shù)據(jù)集時存在弊端.
為了解決不平衡數(shù)據(jù)的分類問題,研究人員主要從算法層面和數(shù)據(jù)層面來改善分類性能[2]. 算法層面主要是對現(xiàn)有算法的改進和提升[3-4],數(shù)據(jù)層面主要是通過重采樣的技術(shù)來改善數(shù)據(jù)集的不平衡率,方法包括下采樣和上采樣. 下采樣技術(shù)通過減少多數(shù)類樣本來提高少數(shù)類樣本的比例,但易因丟失多數(shù)類樣本的信息而導(dǎo)致分類器無法正確學(xué)習(xí)[5]. 隨機上采樣通過隨機復(fù)制少數(shù)類樣本來達到增加少數(shù)類樣本的目的,但新增加的數(shù)據(jù)有額外的計算代價[6]. 鑒于此,本文提出了一種基于SMOTE(synthetic minority over-sampling technique)[7]采樣和支持向量機的不平衡數(shù)據(jù)分類,先對原始數(shù)據(jù)中的少類樣本進行SMOTE采樣,再使用SVM進行分類,以期提升分類器的分類性能.
1 基于SMOTE采樣的SVM分類器的設(shè)計
1.1 不平衡數(shù)據(jù)對SVM算法分類性能的影響
為了測試數(shù)據(jù)不平衡對SVM分類器的影響,對兩類符合正態(tài)分布的人工數(shù)據(jù)樣本分別以不同的抽樣比例生成訓(xùn)練集,再用SVM對它們進行分類. 其中一類樣本中心為,另一類樣本中心為,方差為(0.5,0;0,0.5). 圖1中,兩類樣本的比例分別為1000:1000,1000:200,1000:100,1000:10;藍顏色的點代表正類樣本,黑顏色的“+”代表負類樣本,紅線代表使用支持向量機分類后得到的分類面. 如圖1所示,當采樣比例不斷向右上方的多類樣本(藍色樣本)傾斜時,紅色的分界線逐漸向左下方移動,越來越多的少類樣本被錯劃為多類樣本,導(dǎo)致少類樣本的分類準確率下降. 這是由于訓(xùn)練樣本數(shù)量不平衡所引起的. 在現(xiàn)實生活中,少數(shù)樣本的錯分代價遠高于多數(shù)樣本. 所以為了提高分類器的性能,需要解決分類的決策面偏向少類樣本的問題.
圖1 兩類樣本不同比例下的分類面
1.2 SMOTE采樣與SVM分類的結(jié)合
SMOTE方法是由Chawla等提出來的一種對數(shù)據(jù)過采樣的方法,其主要思想是在相距較近的少數(shù)類樣本之間進行線性插值產(chǎn)生新的少數(shù)類樣本,降低兩類樣本數(shù)量上的不平衡率,提高少數(shù)類樣本的分類精度. 其具體方法可概括為:對少數(shù)類的樣本,搜索其個最近鄰樣本,在其個最近鄰樣本中隨機選擇個樣本(記為),在少數(shù)類樣本與之間進行隨機插值,構(gòu)造如式(1)所示的新的小類樣本:
如圖2所示,原始數(shù)據(jù)樣本滿足二元高斯分布,形狀為方塊;按照的比例對原始樣本進行SMOTE采樣,圓圈型樣本是SMOTE采樣之后的樣本.
圖2 SMOTE方法效果圖
為了更好地對不平衡數(shù)據(jù)進行分類,本文提出將數(shù)據(jù)采樣方法與SVM結(jié)合,先對原始數(shù)據(jù)中的少類樣本進行SMOTE采樣,再使用SVM進行分類,算法的流程圖如圖3所示. 具體步驟如下:
圖3 基于支持向量機的采樣方法流程圖
1)對樣本數(shù)據(jù)進行預(yù)處理. 本文的數(shù)據(jù)預(yù)處理是對數(shù)據(jù)集數(shù)據(jù)進行歸一化處理,按照數(shù)據(jù)集的各自維數(shù),把所有的數(shù)據(jù)都歸一化為[0,1]之間的數(shù),以消除各個不同維數(shù)的數(shù)據(jù)間的數(shù)量級差別,避免因輸入數(shù)據(jù)數(shù)量級差別較大而產(chǎn)生的較大誤差;
2)用SMOTE對負類樣本采樣,以降低多數(shù)類和少數(shù)類的不平衡程度;
3)用支持向量機進行學(xué)習(xí),建立最終的分類器.
2 實驗及結(jié)果分析
2.1 人工數(shù)據(jù)集
實驗中的人造樣本服從二維標準正態(tài)分布,其中一類樣本中心為(1,1),另一類樣本中心為,方差為(0.5,0;0,0.5),因此最優(yōu)的分類面應(yīng)該是一條通過原點的分界線. 分別選取了10個和100個作為少類樣本和多類樣本. 如圖4所示,紅色圓點表示多類樣本,藍色“+”點代表少類樣本,藍色線條是原始最佳分界面,紅色線條是經(jīng)過分類器之后建立的分界面. 很顯然,SMOTE采樣后的分界面明顯優(yōu)于原始不平衡數(shù)據(jù)的分類面. 本次實驗在SVM建模的參數(shù)尋優(yōu)過程中選取的是線性核函數(shù),因此分類界面是直線.
圖4 人工數(shù)據(jù)集的樣本分類
2.2 UCI數(shù)據(jù)集
本文選取5個不同平衡程度、不同樣本數(shù)量的UCI數(shù)據(jù)集進行實驗. 為了實驗簡便,可把多類數(shù)據(jù)集轉(zhuǎn)化為兩類. 對于類數(shù)較多的數(shù)據(jù)集,設(shè)定其中一類為少數(shù)類,剩余的合并為多數(shù)類. 數(shù)據(jù)集的總體描述如表1所示.
表1 數(shù)據(jù)集
傳統(tǒng)的分類學(xué)習(xí)方法一般采用分類精度來評價分類的效果. 但對于不平衡數(shù)據(jù),用分類精度來衡量分類器的性能是不合理的. 因為當少數(shù)類比例非常低時,即使將全部少類都分為多類,其精度仍然非常高,而這樣的分類器是沒有意義的. 目前,不平衡問題分類的評價標準有F-value、G-mean、ROC曲線等,它們都是建立在混淆矩陣的基礎(chǔ)上的. 其中,ROC曲線能全面描述分類器的性能,已經(jīng)成為不平衡數(shù)據(jù)分類性能評價的準則. 一般說來,ROC曲線越偏向左上角,分類器的性能越好. 由于ROC曲線不能定量地對分類器的性能進行評估,一般用ROC曲線下的面積(Area Under ROC Curve,AUC)來評估分類器的性能.
在實驗的過程中,采用交叉驗證的方法,將數(shù)據(jù)集中的樣本隨機分為5份:其中的4份作為訓(xùn)練集,剩下的1份作為測試集. 由于實驗中所用到的采樣方法都屬于隨機算法,為避免偶然性,本文將每種方法都獨立執(zhí)行5次,最后取5次AUC值的平均值作為該算法在整個數(shù)據(jù)集中的AUC值. 圖5為不同數(shù)據(jù)集下的ROC曲線,由圖可見,除了圖5-e中Breast cancer數(shù)據(jù)集SMOTE采樣前和SMOTE采樣后ROC曲線接近外,其他數(shù)據(jù)集中采用SMOTE采樣后的ROC曲線均更偏向左上角,說明采用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個數(shù)據(jù)集的分類精度平均值亦有相似的實驗結(jié)果,即除了Breast cancer數(shù)據(jù)集,經(jīng)過SMOTE采樣后,Wine、Haberman、Pima、Glass等4個數(shù)據(jù)集的分類精度平均值均得到了不同程度的提高. 這些說明采用SVM+SMOTE的方法能提高不平衡數(shù)據(jù)集的分類性能.
表2 5種數(shù)據(jù)集在兩種方法下的AUC和分類精度的平均值
3 結(jié)論
傳統(tǒng)的分類器對不平衡數(shù)據(jù)集中少數(shù)類樣本的識別率較低,本文在討論了不平衡數(shù)據(jù)對SVM算法分類性能影響的基礎(chǔ)上,提出了一種基于SMOTE采樣的SVM方法. 該方法首先對原始數(shù)據(jù)進行預(yù)處理,然后對少類樣本進行SMOTE采樣,最后再使用SVM進行分類. 實驗結(jié)果表明,本文所提出的方法在少數(shù)類識別率和整體的分類精度上均優(yōu)于傳統(tǒng)的SVM算法,證明該算法是可行的、有效的. 如何利用上采樣和下采樣結(jié)合的方法,或者利用其他算法來提高不平衡數(shù)據(jù)集的分類性能是今后需要進一步研究的問題.
[1] VAPNIK V N. 統(tǒng)計學(xué)習(xí)理論[M]. 許建華,張學(xué)工,譯. 北京:電子工業(yè)出版社,2004.
[2] 楊明,尹軍梅,吉根林. 不平衡數(shù)據(jù)分類方法綜述[J]. 南京師范大學(xué)學(xué)報(工程技術(shù)版),2008, 4(8): 7-12.
[3] 李秋潔,茅耀斌,王執(zhí)銓. 基于Boosting的不平衡數(shù)據(jù)分類算法研究[J]. 計算機科學(xué),2011, 38(12): 224-228.
[4] 王超學(xué),張濤,馬春森. 基于聚類權(quán)重分階段的SVM解不平衡數(shù)據(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]. 控制與決策,2013, 28(7): 978-984.
[9] 鄧乃揚,田英杰. 支持向量機——理論、算法與拓展[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é)青年基金資助項目(2013zk07);2014年五邑大學(xué)青年基金資助項目(2014zk10);2015年江門市科技計劃項目(201501003001556)
曹路(1983—),女,湖北松滋人,講師,碩士,研究方向為模式識別.