李睿峰,李文海,孫艷麗,吳陽勇
海軍航空大學(xué),煙臺 264001
非平衡數(shù)據(jù)的分類問題已經(jīng)成為當今許多數(shù)據(jù)密集型應(yīng)用中一個關(guān)鍵的研究方向[1],例如信用卡欺詐數(shù)據(jù)[2]、網(wǎng)絡(luò)入侵[3]、金融工程[4]、生物醫(yī)學(xué)數(shù)據(jù)分析[5]和設(shè)備故障檢測[6]等. 這類應(yīng)用中的少數(shù)類樣本通常蘊含重要的信息,是數(shù)據(jù)分析的重要目標,其已成為數(shù)據(jù)挖掘研究的熱點之一[7].例如在設(shè)備故障檢測應(yīng)用中,不平衡的測試數(shù)據(jù)廣泛存在,通常正常樣本的數(shù)據(jù)量要遠遠大于故障樣本[8]. 由此導(dǎo)致使用傳統(tǒng)的故障診斷方法訓(xùn)練所得的結(jié)果分類器對正常樣本產(chǎn)生很高的檢測率,對故障樣本的檢測和隔離效果卻很差,而故障樣本的檢測率在故障診斷領(lǐng)域中更有意義,也更為重要.
目前,機器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域針對不平衡數(shù)據(jù)集的處理思路[9]主要有兩大類:改進算法[10]以適應(yīng)非平衡數(shù)據(jù)集,或者對數(shù)據(jù)集進行重構(gòu)[1]以適應(yīng)現(xiàn)有的分類算法. 改進算法是指在算法層面進行改進以適應(yīng)非平衡學(xué)習(xí)問題,如代價敏感學(xué) 習(xí)[11]、 支 持 向 量 機[12]( Support vector machine,SVM)、集成學(xué)習(xí)[13]等. 通過修改算法中的代價敏感信息以適應(yīng)數(shù)據(jù)不平衡,但也面臨著一些問題,如修改算法后如何避免分類性能惡化,多類分類問題的代價敏感信息確定困難等[14]. 數(shù)據(jù)集重構(gòu)也稱為重采樣方法,它在不修改分類算法的情況下修改訓(xùn)練數(shù)據(jù)集的大小,可容易地應(yīng)用于任何分類算法. 重采樣方法利用少數(shù)類樣本過采樣和多數(shù)類樣本欠采樣兩種手段[15],人為調(diào)整實例數(shù)量來平衡數(shù)據(jù)集的分布. 欠采樣主要包括隨機欠抽樣[16]、單邊選擇[17]、近鄰清理[18]和基于歐氏距離的隨機欠抽樣[19]等方法,過采樣主要有隨機插值、先驗復(fù)制[14]和合成少數(shù)類過采樣技術(shù)[20-21](Synthetic minority oversampling technique,SMOTE)等方法. 由于單獨采用欠采樣方法可能導(dǎo)致樣本信息丟失,單獨采用過采樣方法可能導(dǎo)致分類器出現(xiàn)增加時間開銷、過擬合現(xiàn)象等問題,于是人們較多采用混合采樣的非均衡數(shù)據(jù)處理方法[7]. 包括谷瓊等[22]提出的一種基于SMOTE-Clustering的混合采樣算法;馮宏偉等[7]提出的基于“變異系數(shù)”的邊界混合采樣方法(Boundary mixed sampling,BMS);陶新民等[23]提出的基于隨機欠采樣(Random under-sampling,RU)與 SMOTE相結(jié)合的SVM算法等.
由于人為地增加樣本或者減少樣本都不可避免的會導(dǎo)致噪聲點增加并損失數(shù)據(jù)原有信息,從而降低分類精度,因此合理的過采樣和欠采樣方法是重采樣方法的核心. 為了對數(shù)據(jù)集做有效的均衡化處理,本文提出了一種基于樣本空間近鄰關(guān)系的重采樣(Resampling based on neighbour Relationship,RBNR)方法. 本方法首先根據(jù)數(shù)據(jù)集中少數(shù)類樣本的空間近鄰關(guān)系進行安全級別評估[24],根據(jù)安全級別有指導(dǎo)的進行SMOTE升采樣;然后對多數(shù)類樣本依據(jù)其空間近鄰關(guān)系計算局部密度[7],從而對多數(shù)類樣本密集區(qū)域進行降采樣處理. 采用十折交叉驗證的方式產(chǎn)生訓(xùn)練集和測試集,在對訓(xùn)練集進行重采樣之后,以核超限學(xué)習(xí)機(Kernel extreme learning machine,KELM)[25]作為分類器進行訓(xùn)練,并在測試集上進行了驗證.
與傳統(tǒng)ELM相比,KELM無需設(shè)置映射函數(shù)和隱層神經(jīng)元數(shù)量,人為干預(yù)更少,能有效避免隱層神經(jīng)元隨機賦值導(dǎo)致的泛化性和穩(wěn)定性降低的問題. 同時,KELM又繼承了傳統(tǒng)ELM在處理分類任務(wù)上的優(yōu)勢:①以最小化訓(xùn)練誤差和輸出權(quán)重范數(shù)為訓(xùn)練目標,相對于其它傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)(Artificial neural network,ANN)算法具有更高的泛化性能,從而抑制過擬合[14];②簡潔高效的隱層結(jié)構(gòu)能夠大量壓縮算法運行時間和內(nèi)存空間開支[26-27].
對少數(shù)類樣本進行升采樣,應(yīng)當盡可能的接近樣本原始分布,因此以安全級別指導(dǎo)SMOTE方法對少數(shù)類樣本進行升采樣.
在非均衡數(shù)據(jù)中正負樣本數(shù)量差異較大,在對少數(shù)類樣本進行升采樣時增加了樣本總量. 于是,為控制數(shù)據(jù)集規(guī)模,可以適當減少樣本密集區(qū)域的多數(shù)類樣本. 因此,采用局部密度的概念[28]識別非均衡數(shù)據(jù)中多數(shù)類樣本的密集區(qū)域.
定義1(k-距離)設(shè)D為數(shù)據(jù)集,k為任意正整數(shù),定義對象p與對象o∈D之間的距離k_dist(p)=dist(p,o)為對象p的k-距離,滿足條件:
①存在不少于k個對象q∈D{p},使得dist(p,q)≤dist(p,o);
②存在不多于k-1個對象q∈D{p},使得dist(p,q)<dist(p,o).
定義2(k-近鄰)定義所有與p的距離小于等于k-距離的對象為對象p的k-近鄰. 即:
定義3(局部密度)對象p與其k-近鄰距離均值的倒數(shù)定義為該點的局部密度:
RBNR重采樣算法首先評估原始數(shù)據(jù)集中少數(shù)類樣本的安全級別,基于其安全級別進行SMOTE升采樣,從而增加少數(shù)類樣本的占比;對于多數(shù)類樣本,尋找出局部密度較大的區(qū)域,樣本量二倍于降采樣數(shù)量,進行隨機減采樣,從而對多數(shù)類子集進行約簡. 算法流程如圖1所示.
圖1 RBNR算法流程圖Fig.1 Flowchart of the RBNR algorithm
在非平衡分類問題的研究中,通?;诨煜仃嚕ㄈ绫?1)來評價算法的性能[7],表 1中,TP,F(xiàn)N,F(xiàn)P,TN均表示個數(shù).
表1 混淆矩陣Table 1 Confusion matrix
(1)召回率(又稱查全率),表示正類(少數(shù)類)樣本被預(yù)測正確的比例,即
(2)F-value評價少數(shù)類的分類精度,定義如下:
其中,PR=TP/(TP+FP)為少數(shù)類樣本的查準率(又稱為精準率). 通常令調(diào)節(jié)參數(shù) α =1.
(3)G-mean用以衡量算法對少數(shù)類和多數(shù)類進行分類的均衡程度,定義如下:
其中,PA=RC為真正率,NA=TN/(TN+FP)為真負率.
UCI數(shù)據(jù)庫是機器學(xué)習(xí)領(lǐng)域中使用最廣泛的公開數(shù)據(jù)庫之一,為客觀驗證所提算法的整體性能,選取其中具有非平衡性特征的數(shù)據(jù)集進行實驗,數(shù)據(jù)集描述如表2.
表2 選用的UCI數(shù)據(jù)集Table 2 UCI data set
其中:CTG數(shù)據(jù)集為胎兒心電圖數(shù)據(jù),以“正?!睘槎鄶?shù)類,“病態(tài)”為少數(shù)類;Diabetes為糖尿病人的身體監(jiān)測數(shù)據(jù)集,直接將兩個類別分別作為多數(shù)類和少數(shù)類;Glass為玻璃類型分類數(shù)據(jù)集,以前四類作為多數(shù)類,后兩類作為少數(shù)類;Wine數(shù)據(jù)集為三個不同品種的葡萄酒化學(xué)分析結(jié)果,將第1、2類合并為多數(shù)類,第3類作為少數(shù)類.
(1)電路選型.
電子電路的測試和故障診斷技術(shù)對提升電子產(chǎn)品的可靠性、降低生產(chǎn)成本等方面具有重要意義[29],因此實驗選取串聯(lián)穩(wěn)壓電路(圖2)作為應(yīng)用案例來分析所提方法在電子電路故障診斷中的性能. 該電路包含20個可更換單元,共可產(chǎn)生58個硬故障,即各個元器件上的短路和開路故障. 在輸入端施加信號幅度為10 V、頻率為50 Hz的正弦波信號,從8個測試點上收集穩(wěn)態(tài)電壓信息,取電壓值特征作為原始測試數(shù)據(jù).
圖2 串聯(lián)穩(wěn)壓電路Fig.2 Serial regulating circuit
(2)實驗環(huán)境.
依托實驗室現(xiàn)有的激勵、測試儀器,通過實物測量的方式,獲取電路正常和故障狀態(tài)下的測試數(shù)據(jù). 測試環(huán)境如圖3.
圖3 測試環(huán)境圖Fig.3 Testing environment
(3)測試數(shù)據(jù)集.
通過重復(fù)測試,共采集到188組正常狀態(tài)下的樣本,此后電路發(fā)生故障,電容1擊穿,后采集了45組故障狀態(tài)下的樣本,特征維數(shù)為9(其中圖中測試點1作為整流橋輸出點,采集了其信號穩(wěn)定后電壓最大值V1_max和最小值V1_min,測試點2~8均采集了信號穩(wěn)定后的電壓有效值,即V2~V8),不平衡比為1∶4.17. 根據(jù)不平衡數(shù)據(jù)集分類問題的相關(guān)研究[7,9,12,22],該不平衡比例具有一定的代表性. 數(shù)據(jù)集記為Regulator,部分數(shù)據(jù)如表3.
表3 電路實測數(shù)據(jù)(部分)Table 3 Some circuit measured data
將RBNR算法與SMOTE過采樣方法、隨機欠采樣與SMOTE相結(jié)合的算法(RU-SMOTE)[23]和基于“變異系數(shù)”的邊界混合采樣方法BMS[7]進行對比實驗,分類器均采用KELM. 在傳統(tǒng)的面向分類問題的機器學(xué)習(xí)方法中,普遍采用最小化交叉驗證分類誤差的方式選取模型參數(shù). KELM涉及到核函數(shù)、正則化參數(shù)與核參數(shù)的設(shè)置,借鑒文獻 [26]~[27],核函數(shù)選用 RBF核,正則化參數(shù)C取值范圍設(shè)定為{10-5,10-4,104,105},在訓(xùn)練樣本間的最大歐式距離和最小歐式距離間等間隔取20個離散值作為核參數(shù)σ的范圍(調(diào)用dd_tools工具箱的scale_range函數(shù)實現(xiàn)). 采用網(wǎng)格搜索法,以最小化交叉驗證分類誤差為目標,確定各參數(shù).
由前文可知,RBNR算法為了使數(shù)據(jù)集分布均衡,根據(jù)兩類樣本的數(shù)量差,令升、降采樣量相等.為公平起見,將RU-SMOTE算法和BMS算法中的升、降采樣量也設(shè)為相等Nup=Ndown. SMOTE算法只包含升采樣,令其升采樣量與其他三種算法中少數(shù)類樣本的升采樣量設(shè)置為相同值,進而確定采樣倍率Nsample=[Nup/Nmin]. 文獻[20]將SMOTE算法中的最近鄰閾值KSMOTE設(shè)置為采樣倍率的2.5倍,因此在實驗中將其設(shè)置為KSMOTE=[Nsample×2.5].RBNR算法涉及少數(shù)類樣本近鄰值和多數(shù)類樣本近鄰值兩個參數(shù),采用網(wǎng)格搜索法,最終確定k1=Nmin和k2=Nmaj/3時算法性能總體最優(yōu).
圖4 BMS 算法參數(shù)分析. (a)RC 值分析;(b)F-valve值分析;(c)G-mean 值分析Fig.4 Parameter analysis of BMS: (a) analysis of the RC; (b) analysis of the F-valve; (c) analysis of the G-mean
為消除隨機因素的影響,取5×10折交叉驗證的方式,每次實驗前隨機生成訓(xùn)練集和測試集. 在實驗之前,運行一次交叉驗證以確定正則化參數(shù)C和核參數(shù)σ,模型參數(shù)標注在最后一列. 計算50個結(jié)果中RC、F-value和G-mean有效數(shù)據(jù)的統(tǒng)計平均值,將最大值加粗表示;計算實驗結(jié)果的標準差,將最小值加粗表示. 結(jié)果如表4.
表4 F-value和G-mean性能比較Table 4 Comparison between the F-value and G-mean
由實驗結(jié)果可以得出以下結(jié)論:① 無論是選用UCI數(shù)據(jù)集還是電路實測數(shù)據(jù)進行訓(xùn)練,RBNR算法取得的RC均值、F-value均值和G-mean均值在絕大多數(shù)情況下是最高的. ②雖然在Wine數(shù)據(jù)集上,采用SMOTE算法得到的F-value均值和G-mean均值更高一些,但是RBNR算法的結(jié)果與之非常接近且更穩(wěn)定(標準差最低),并且SMOTE算法得到的重采樣數(shù)據(jù)集規(guī)模會很大,冗余數(shù)據(jù)給后續(xù)的分類器處理過程帶來了較大的開銷. ③在Regulator數(shù)據(jù)集上,采用RU-SMOTE算法得到的RC均值最高,但是其標準差也是最高的,說明該算法的穩(wěn)定性較差;而且RU-SMOTE算法在Regulator數(shù)據(jù)集上取得的F-value均值和G-mean均值均為最低,說明該算法在提高少數(shù)類樣本召回率的前提下沒能兼顧到多數(shù)類,可能隨機刪除了一些重要的多數(shù)類樣本;此外,其分類結(jié)果在其他數(shù)據(jù)集上表現(xiàn)也并不好. ④由于每次都隨機產(chǎn)生訓(xùn)練集和測試集,從多次重復(fù)訓(xùn)練的結(jié)果來看,本文所提算法在多次交叉驗證中所得RC、F-value和G-mean值的標準差大部分都是最低的(在個別不是最低的情況下也與最低值相差很?。?,說明算法性能較為穩(wěn)定,在整體上具有更為優(yōu)良的性能. ⑤在數(shù)據(jù)規(guī)模相當?shù)那闆r下,RBNR普遍優(yōu)于RU-SMOTE和BMS算法,且RBNR算法在某些數(shù)據(jù)集(Diabetes、Glass)上優(yōu)勢顯著.
為了更直觀的進行對比,將表4中的RC、F-value和G-mean值繪制了柱狀圖,如圖5.
圖5 結(jié)果對比柱狀圖. (a)RC 值對比;(b)F-value 值對比;(c)G-mean 值對比Fig.5 Bar graph of result comparison: (a) comparison of RC; (b) comparison of F-value; (c) comparison of G-mean
從整體來看,RBNR算法是明顯優(yōu)于其他算法的,其分類效果也更為穩(wěn)定.
數(shù)據(jù)挖掘領(lǐng)域的研究者們提出了大量的重采樣算法用于解決數(shù)據(jù)集非平衡問題,而這一問題的關(guān)鍵就在于如何使得重采樣之后的新數(shù)據(jù)集更接近真實的樣本分布,因此本文提出了一種基于空間近鄰關(guān)系的混合重采樣算法RBNR來解決這一問題. 實驗表明,以KELM作為分類器,RC、F-value和G-mean作為評價指標,RBNR的總體性能優(yōu)于SMOTE、RU-SMOTE和BMS算法. 這是由于RBNR算法通過計算安全級別,以一種更接近少數(shù)樣本原始分布的方式指導(dǎo)升采樣,而不是像SMOTE算法一樣隨機擴充數(shù)據(jù),也不像BMS算法一樣只擴充邊界少數(shù)類(事實上這種方法更容易引入噪聲). 通過計算局部密度,約簡多數(shù)類樣本密集區(qū)域,從而更加合理的控制了數(shù)據(jù)規(guī)模. 這種根據(jù)空間近鄰關(guān)系視情處理的方式,可以更加有效地均衡化原始數(shù)據(jù)集. 本文存在的不足在于只是針對二分類問題,后續(xù)將針對多類分類中的數(shù)據(jù)不平衡問題進行研究.