王紅霞,汪楷翔
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽110159)
工業(yè)傳感器所采集的數(shù)據(jù)集為典型的高維不平衡數(shù)據(jù)集,本文以工業(yè)沖壓機(jī)溫度傳感器、壓力傳感器、三相電傳感器等數(shù)據(jù)集為實(shí)驗(yàn)對(duì)象,針對(duì)隨機(jī)森林算法對(duì)不平衡數(shù)據(jù)的特征選擇與分類問題進(jìn)行優(yōu)化。
分類算法包括隨機(jī)森林、樸素貝葉斯、決策樹、K近鄰算法、支持向量機(jī)算法等。這些分類算法通常假設(shè)數(shù)據(jù)集合中每個(gè)類別數(shù)量相同,即數(shù)據(jù)是平衡的。但在現(xiàn)實(shí)中,如工業(yè)生產(chǎn)過程中大部分時(shí)間設(shè)備運(yùn)行為正常狀態(tài),故傳感器采集到的正常數(shù)據(jù)要遠(yuǎn)遠(yuǎn)大于異常數(shù)據(jù)。少數(shù)類數(shù)據(jù)量非常少,多數(shù)類數(shù)據(jù)數(shù)量非常多,數(shù)據(jù)是非常不平衡的。本文實(shí)驗(yàn)使用的沖壓機(jī)傳感數(shù)據(jù)集大小為10000條,特征維度為15維,且少數(shù)類數(shù)據(jù)占比不到15%,數(shù)據(jù)集非常容易發(fā)生過擬合的現(xiàn)象。因此針對(duì)不平衡數(shù)據(jù)集研究效率較高的特征選擇算法非常必要。
文獻(xiàn)[1]中提出針對(duì)非平衡數(shù)據(jù)改進(jìn)的隨機(jī)森林分類算法,通過對(duì)抽樣結(jié)果增加約束條件來改進(jìn)裝袋(bagging)重抽樣方法,減少抽樣對(duì)非平衡性的影響。但此方法必須保證每次抽到的少數(shù)類樣本至少要占總體少數(shù)類樣本的2/3,約束條件過于嚴(yán)格。文獻(xiàn)[2]提出了基于混合采樣策略的改進(jìn)隨機(jī)森林分類算法,但其算法過采樣參數(shù)和欠采樣參數(shù)均隨機(jī)生成,算法存在較高的不穩(wěn)定性。文獻(xiàn)[3]提出了通過改進(jìn)網(wǎng)格搜索的隨機(jī)森林參數(shù)優(yōu)化,其優(yōu)化方式僅在決策樹的數(shù)量以及分裂屬性上增強(qiáng),對(duì)數(shù)據(jù)集沒有進(jìn)行改進(jìn)。文獻(xiàn)[4]提出了一種非平衡數(shù)據(jù)分類的過采樣隨機(jī)森林算法,通過合成人造樣本改變數(shù)據(jù)集不平衡性,但未考慮到對(duì)高維特征進(jìn)行篩選處理。本文提出基于多重篩選的隨機(jī)森林優(yōu)化算法,既考慮到數(shù)據(jù)的不平衡問題,又兼顧到特征篩選問題,增加算法穩(wěn)定性。算法引入特定因子欠取樣、相關(guān)系數(shù)分析及最大互信息系數(shù)(Maximal Information Cofficient,MIC),在平衡處理后的訓(xùn)練數(shù)據(jù)集經(jīng)過兩層篩選完成隨機(jī)森林算法的性能優(yōu)化。最后采用準(zhǔn)確率、精確率、召回率以及G-mean系數(shù)作為衡量算法性能的評(píng)價(jià)指標(biāo)。實(shí)驗(yàn)結(jié)果表明本文提出的算法準(zhǔn)確率、精確率、召回率以及G-mean系數(shù)更高。
隨機(jī)森林算法引入重采樣方法,數(shù)據(jù)集中重復(fù)且有放回地取出不同個(gè)樣本數(shù)據(jù)生成新的訓(xùn)練數(shù)據(jù)集,此過程為迭代過程,重復(fù)以上過程,生成許多棵決策樹共同學(xué)習(xí)。集成學(xué)習(xí)是使用多棵樹組合解決單棵樹預(yù)測精度不高的問題。其原理是生成多種模型,對(duì)每棵樹的預(yù)測結(jié)果進(jìn)行投票選舉,選舉出最好的結(jié)果,因此集成學(xué)習(xí)的分類精度會(huì)更高,效果更好。
隨機(jī)森林算法屬于集成學(xué)習(xí)分類的一種,相對(duì)于單一學(xué)習(xí)器效率更高,每棵樹都篩選了一部分的樣本數(shù)據(jù)集和特征,因?yàn)槊靠米訕渲贿x擇部分特征,所以不易產(chǎn)生過擬合現(xiàn)象。該算法適用于特征多的高維數(shù)據(jù)集,得出的算法方差較小,泛化能力強(qiáng)。但是隨機(jī)森林算法的缺點(diǎn)也較為明顯,如果數(shù)據(jù)集含有較多的冗余特征和噪聲數(shù)據(jù),則算法的效果不理想,在不平衡數(shù)據(jù)集上對(duì)于樣本量較小類的分類效果亦不理想。因此保留隨機(jī)森林的優(yōu)點(diǎn)并優(yōu)化隨機(jī)森林的缺點(diǎn)具有較大研究意義。
針對(duì)隨機(jī)森林算法的缺陷以及前人對(duì)隨機(jī)森林算法優(yōu)化存在的不足,本文提出基于多重篩選的隨機(jī)森林優(yōu)化算法,在數(shù)據(jù)不平衡問題以及特征選擇問題兩個(gè)方面對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行優(yōu)化,應(yīng)用本文提出的算法經(jīng)過欠取樣平衡處理后的訓(xùn)練數(shù)據(jù)集再經(jīng)過兩次特征篩選,解決訓(xùn)練數(shù)據(jù)集的高維不平衡問題。多重篩選的意義在于篩選掉更多與分類結(jié)果相關(guān)性不高的特征,經(jīng)過多層篩選后的數(shù)據(jù)集訓(xùn)練模型會(huì)更加精確,多重篩選的隨機(jī)森林優(yōu)化算法流程如圖1所示。
該算法具體過程如下:
(1)首先對(duì)不平衡數(shù)據(jù)集U使用欠取樣方式篩選掉特定數(shù)量的多數(shù)類樣本集,按特定因子欠取樣方法對(duì)其進(jìn)行隨機(jī)欠取樣處理,對(duì)于少數(shù)類樣本保持不變,得到平衡數(shù)據(jù)集U。
(2)在平衡數(shù)據(jù)集U的基礎(chǔ)上,基于相關(guān)系數(shù)圖觀察特征間的線性相關(guān)程度得到相關(guān)較弱的部分特征,進(jìn)行第一次篩選,留下對(duì)分類效果影響較高的特征。
(3)使用MIC算法算出特征和類別之間的聯(lián)系,對(duì)特征的MIC值進(jìn)行排序,對(duì)應(yīng)特征的MIC越高,則該特征的相關(guān)性越強(qiáng),特征越重要[5]。
(4)對(duì)數(shù)據(jù)集U使用裝袋算法選取特征。
具體選取的步驟為:相關(guān)性較低的特征被篩選不加入算法的構(gòu)建,相關(guān)性高的特征將全部參與算法的構(gòu)建[6]。
以本文所用的沖壓機(jī)傳感器數(shù)據(jù)集為例,n為抽樣次數(shù),m為數(shù)據(jù)集個(gè)數(shù),當(dāng)n接近于無限大時(shí)約36.8%的樣本沒有被抽取,這部分樣本數(shù)據(jù)稱為袋外數(shù)據(jù)集合,公式表示為
(1)
由于特征選擇前數(shù)據(jù)集的不平衡性,對(duì)不平衡數(shù)據(jù)集進(jìn)行欠取樣處理,多數(shù)類樣本按36.8%比率進(jìn)行隨機(jī)欠取樣處理,少數(shù)類樣本保持不變,實(shí)現(xiàn)訓(xùn)練數(shù)據(jù)集的平衡。
相關(guān)系數(shù)圖又名熱力圖。根據(jù)熱力圖中不同方塊顏色對(duì)應(yīng)的相關(guān)系數(shù)的大小,可以判斷出變量之間相關(guān)性的大小。兩個(gè)變量X1、X2之間相關(guān)系數(shù)ρX1X2計(jì)算公式為
(2)
式中:D為方差;Cov表示協(xié)方差。
需要注意的是,此方法計(jì)算出的相關(guān)系數(shù)只能度量出特征之間的線性相關(guān)關(guān)系,即相關(guān)系數(shù)越高,則特征間的線性相關(guān)程度越高。對(duì)于相關(guān)系數(shù)較小的兩個(gè)特征,只能表示出其線性相關(guān)度不強(qiáng),但不可斷定特征之間沒有其它相關(guān)關(guān)系。
MIC方法可計(jì)算兩個(gè)變量之間線性或非線性的相關(guān)性,用于解決機(jī)器學(xué)習(xí)中特征選擇的問題[7]。MIC與互信息(Mutual Information,MI)相比,具有更好的精確度,是一種可靠的數(shù)據(jù)相關(guān)性計(jì)算方式[8]。
MIC基本思想為利用互信息和網(wǎng)格劃分的方法衡量變量之間的相關(guān)性[9]。
自變量為X={xi},因變量為Y={yi},i=1,2,3,…,N,N為樣本數(shù)量,X與Y之間的互信息MI(X,Y)計(jì)算公式為
(3)
式中:p(x,y)是x與y的聯(lián)合概率密度;p(x)和p(y)分別為x與y的邊緣概率密度。
將X和Y組合為有序的集合Q,定義一個(gè)網(wǎng)格區(qū)間F,將X的值域劃分為a段,將Y的值域劃分為b段,設(shè)F為a乘b的網(wǎng)格區(qū)間。選擇MI(X,Y)的極值做為劃分F的對(duì)應(yīng)互信息。劃分F下Q的最大互信息計(jì)算式為[10]
MI*(Q,a,b)=maxMI(Q|F)
(4)
將得到的MI*值組成矩陣M(Q)a,b,如式(5)所示。
(5)
集合Q的MIC值為
MIC(Q)=maxab
(6)
式中:B(N)為網(wǎng)格劃分的上限值,一般設(shè)定B(N)=N0.6。
將兩個(gè)特征的關(guān)聯(lián)離散到二維空間中,其相關(guān)性通過散點(diǎn)圖表示。在x、y方向分成相應(yīng)的區(qū)間,之后查看散點(diǎn)在每個(gè)格子中的占位數(shù),如此解決在相關(guān)性分析中特征之間概率模糊不清的問題[11]。
按照本文提出的評(píng)價(jià)指標(biāo)對(duì)基于多重篩選的隨機(jī)森林(Multiple Filtrate Random Forest,MFRF)算法與其他四種算法做比較,對(duì)比不同算法在相同的訓(xùn)練數(shù)據(jù)集上的性能。用于比較的算法分別為:決策樹(Decision-making Tree,DT)、過采樣隨機(jī)森林(Oersampling Random Forest,ORF)、網(wǎng)格搜索算法的隨機(jī)森林(Grid Search Random Forest,GSRF)、基于混合采樣策略的隨機(jī)森林(Mixture Random Forest,MRF),其中DT為機(jī)器學(xué)習(xí)的常規(guī)算法,ORF通過生成人造樣本解決數(shù)據(jù)的不平衡性,GSRF利用網(wǎng)格搜索的方式進(jìn)行隨機(jī)森林模型的參數(shù)調(diào)優(yōu),MRF通過隨機(jī)過采樣欠取樣的方式對(duì)隨機(jī)森林訓(xùn)練集優(yōu)化。
實(shí)驗(yàn)選取的數(shù)據(jù)集來自于某實(shí)驗(yàn)室的一臺(tái)小型沖壓機(jī),該沖壓機(jī)的精度高、性能可靠、通用性強(qiáng),生成的傳感器數(shù)據(jù)集大小為10000條,特征維度為16維,其有關(guān)參數(shù)如下表所示。
使用Python語言完成算法實(shí)現(xiàn),運(yùn)行環(huán)境為基于網(wǎng)頁的交互計(jì)算應(yīng)用程序Jupyter Notebook。
首先根據(jù)特定因子欠取樣進(jìn)行隨機(jī)欠取樣處理,少數(shù)類樣本保持不變,得到平衡數(shù)據(jù)集之后進(jìn)行相關(guān)系數(shù)圖分析,通過熱力圖觀察每個(gè)特征之間的關(guān)聯(lián)性。熱力圖中一個(gè)色塊代表橫向和縱向的特征相關(guān)程度,相關(guān)性越高則顏色相對(duì)較深,系數(shù)越大,系數(shù)為0的時(shí)候表示兩個(gè)特征相互獨(dú)立。圖2為沖壓機(jī)傳感器數(shù)據(jù)相關(guān)系數(shù)圖,圖中橫向縱向變量均為特征,對(duì)應(yīng)表1中的第一列特征名稱,矩陣中的色塊代表每個(gè)特征與特征之間的相關(guān)性大小,相關(guān)系數(shù)取值范圍為[-1,1],越接近1或-1,表明正/反線性關(guān)系越強(qiáng),為0則表示兩個(gè)變量間沒有線性關(guān)系。因?yàn)楸敬螌?shí)驗(yàn)主要關(guān)注其他特征與工作狀態(tài)特征的相關(guān)性大小,工作狀態(tài)為0時(shí)表示運(yùn)行正常狀態(tài),工作狀態(tài)為1時(shí)表示運(yùn)行異常狀態(tài),故需要找到與工作狀態(tài)相關(guān)性最低的特征,觀察工作狀態(tài)特征一行,找到該行中絕對(duì)值最小的色塊,此色塊對(duì)應(yīng)的列為特征相關(guān)性最弱的特征。通過觀察,最小值為1.9×10-17,為比例溢流閥電流特征列,篩選掉比例溢流閥電流特征,完成第一次篩選。
表1 沖壓機(jī)傳感器數(shù)據(jù)描述
圖2 沖壓機(jī)傳感器數(shù)據(jù)相關(guān)系數(shù)圖
第一次篩選后,再對(duì)特征進(jìn)行MIC計(jì)算。輸入數(shù)據(jù)為本文使用的沖壓機(jī)傳感器數(shù)據(jù)集,數(shù)據(jù)描述如表1所示,調(diào)用刪除方法將數(shù)據(jù)集分為x_data和y_data兩個(gè)部分,y_data為標(biāo)簽工作狀態(tài)特征,x_data為其他特征值,調(diào)用MIC函數(shù),輸入?yún)?shù)為x_data和y_data,代碼及運(yùn)行結(jié)果如圖3所示。
由圖3可見,經(jīng)MIC特征篩選之后數(shù)據(jù)維數(shù)由15降到13。
圖3 MIC核心代碼及運(yùn)行結(jié)果
將得到的數(shù)據(jù)集構(gòu)建決策樹并添加到隨機(jī)森林中進(jìn)行訓(xùn)練。將數(shù)據(jù)集分為x_data和y_data兩個(gè)部分,y_data為標(biāo)簽工作狀態(tài)特征,x_data為其他特征,再將數(shù)據(jù)集按7∶3的比例分為訓(xùn)練集x_train和y_train以及測試集x_test和y_test,調(diào)用隨機(jī)森林分類模型(Random Forest Classifier)并傳入?yún)?shù)x_train和y_train進(jìn)行訓(xùn)練得到模型,調(diào)用預(yù)測方法并傳入測試數(shù)據(jù)x_test,返回預(yù)測值。最后調(diào)用準(zhǔn)確率分?jǐn)?shù)預(yù)測方法、精確率分?jǐn)?shù)預(yù)測方法、召回率分?jǐn)?shù)預(yù)測方法得到結(jié)果。實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 MFRF算法實(shí)驗(yàn)結(jié)果圖
經(jīng)模型訓(xùn)練后得到的準(zhǔn)確率為87%,精確率為92%,召回率為79%,G-mean值為0.85。
針對(duì)傳感器數(shù)據(jù)集,比較五種不同算法經(jīng)模型訓(xùn)練后的分類精度如表2所示。
表2 不同算法的精度比較 %
從表2可見,本文提出的基于多重篩選的隨機(jī)森林算法在準(zhǔn)確率、精確率、召回率以及G-mean值指標(biāo)上都要比其他算法高,說明該算法對(duì)于高維不平衡數(shù)據(jù)的處理有著很好的適用性。
本文提出的基于多重篩選的隨機(jī)森林算法,采取兩次篩選完成高維數(shù)據(jù)的特征選擇。在準(zhǔn)確率、精確率、召回率以及G-mean值指標(biāo)上比單一機(jī)器學(xué)習(xí)算法高10%~30%,比其他優(yōu)化算法高10%~20%。實(shí)驗(yàn)結(jié)果表明本文提出的算法能夠高效解決高維數(shù)據(jù)的分類問題以及特征選擇問題。