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