馬歆宇岳 毅趙亞鵬
(1.燕山大學 河北省重型機械流體動力傳輸與控制重點實驗室,河北 秦皇島 066004;2.燕山大學 先進鍛壓成形技術(shù)與科學教育部重點實驗室,河北 秦皇島 066004)
作為液壓系統(tǒng)的主要動力元件,液壓泵的性能直接影響液壓系統(tǒng)的正常工作[1-4],其狀態(tài)監(jiān)測與故障診斷是液壓系統(tǒng)運維的重要環(huán)節(jié)。軸向柱塞泵常見故障有泵發(fā)熱、配流盤磨損、滑靴與斜盤磨損、松靴以及輸出流量不足等[5-7]。
在實際的液壓泵故障診斷過程中,正常樣本的數(shù)量遠大于故障樣本的數(shù)量,即不同類別的樣本數(shù)量極度不均衡。這時,傳統(tǒng)的分類方法就難以取得好的分類效果。因為不同類別樣本數(shù)量差距很大,在分類時分類器會將少數(shù)類樣本誤判為多數(shù)類樣本從而無法達到較高的分類準確率。目前非均衡數(shù)據(jù)處理方法一般分為兩類:一是數(shù)據(jù)層面,通過欠采樣或過采樣方法改變數(shù)據(jù)的原始分布,將非均衡數(shù)據(jù)轉(zhuǎn)變?yōu)榫鈹?shù)據(jù);二是算法層面,通過改進分類器提高少數(shù)類樣本的識別準確率。
從數(shù)據(jù)層面處理非均衡數(shù)據(jù)的方法是重構(gòu)數(shù)據(jù)集,使非均衡數(shù)據(jù)趨向均衡,然后進行處理[8]。重構(gòu)數(shù)據(jù)集的方法是重采樣,有欠采樣與過采樣兩種。
欠采樣算法通過除去一部分多數(shù)類樣本使其與少數(shù)類樣本數(shù)量一致或相近來實現(xiàn)數(shù)據(jù)均衡。常見的欠采樣算法有隨機欠采樣算法、Tomek links方法[9]、壓縮最近鄰規(guī)則、單邊選擇方法[10]、近鄰清理方法[10-11]等。因為欠采樣算法會除去部分樣本,所以被除去樣本的屬性也會一并除去,因此會影響原始數(shù)據(jù)的分布進而影響分類器的性能。
過采樣通過人為增加少數(shù)類樣本使少數(shù)類樣本數(shù)目與多數(shù)類樣本數(shù)目一致或相近,從而達到數(shù)據(jù)均衡。常見的過采樣方法有隨機過采樣、合成少數(shù)類過采樣(Synthetic Minority Over-sampling Technique,SMOTE)[12]。ESTABROOKS A等[13]提出根據(jù)數(shù)據(jù)集情況自適應地選擇重采樣率的多重采樣方法;TAEHO J等[14]提出根據(jù)聚類改進的同時能夠處理非均衡數(shù)據(jù)類間問題和類內(nèi)問題的采樣方法;HAN Hui等[15]對SMOTE方法進行了改進,提出了僅對邊界附近少數(shù)類樣本進行過采樣的Borderline-SMOTE過采樣方法;HE Haibo等[16]提出性能優(yōu)于SMOTE和隨機過采樣的自適應合成采樣算法。由于過采樣方法是增加樣本數(shù)量,這有可能會造成樣本重復,若樣本特征較少則會導致過擬合。
從算法層面處理非均衡數(shù)據(jù)的方法是對數(shù)據(jù)集內(nèi)不同類別的樣本設置不同的特征權(quán)重,或改變算法的結(jié)構(gòu)。目前使用較多的方法有集成學習算法、代價敏感算法等。
將多個弱分類器組合成1個強分類器,是集成方法中被廣泛使用的技術(shù)。常見的集成學習方法有Bagging算法、Boosting算法以及隨機森林(Random Forest,RF)算法等。AdaBoost算法是一種提高集成方法性能的算法,通過多次迭代,在每次迭代中修改正確分類樣本與錯誤分類樣本的權(quán)重來提高分類效果。SUN Yanmin等[17]改進了AdaBoost算法,提出了AdaC1算法、AdaC2算法以及AdaC3算法;CHAWLA N V等[18]結(jié)合AdaBoost與SMOTE兩種算法,提出了提升泛化能力的SMOTEBoost算法; CHEN Chao等[19]改進了隨機森林算法,提出了集數(shù)據(jù)均衡與分類為一體的平衡隨機森林(Balanced Random Forest,BRF)算法。
此外,深度學習作為一種端到端的數(shù)據(jù)驅(qū)動方法,在處理數(shù)據(jù)非均衡問題方面也有著廣泛的應用。SOHONY I等[20]采用神經(jīng)網(wǎng)絡集成算法處理類不均衡問題;KAZEMI Z等[21]提出使用深度自編碼器從樣本中提取特征,并使用Softmax網(wǎng)絡進行樣本分類以解決非均衡問題。上述方法雖能在一定程度上解決數(shù)據(jù)非均衡問題,但仍存在評價指標不完善、在極度不均衡數(shù)據(jù)集上表現(xiàn)較差的缺點。
綜上所述,為解決軸向柱塞泵故障診斷中出現(xiàn)的正常數(shù)據(jù)與各類故障數(shù)據(jù)不均衡的問題,本研究將BRF算法應用于軸向柱塞泵故障診斷領域;通過與傳統(tǒng)的SMOTE-RF算法、RF算法進行比較,驗證了BRF算法處理類間數(shù)據(jù)不均衡條件下軸向柱塞泵故障診斷問題的優(yōu)越性。
SMOTE算法避免了隨機過采樣帶來的過擬合風險,其并非復制現(xiàn)有的樣本,而是生成人造樣本,原理如圖1所示,X為樣本點,通過對隨機選擇的少數(shù)類樣本及其相鄰的少數(shù)類樣本之間進行線性插值來實現(xiàn)樣本生成。SMOTE執(zhí)行3個步驟來生成合成樣本:首先,選擇1個隨機的少數(shù)類樣本a;在k個最近的少數(shù)類鄰域中選擇樣本b;最后,在2個樣本之間隨機插值,得到新的樣本,插值公式如下:
x=a+w(b-a)
(1)
式中,x—— 新生成的樣本
w—— [0,1]之間的隨機權(quán)重
圖1 SMOTE算法樣本合成原理Fig.1 Sample synthesis principle of SMOTE algorithm
RF算法是一種以決策樹為基本分類器的集成算法。RF算法使用自助抽樣,從原始樣本中選取若干樣本組成樣本集,決策樹對每個樣本集進行建模,組合多個決策樹的預測,并通過投票獲得最終的預測結(jié)果[22],該算法的理論方法描述如下:
(1) 假設原始訓練集中有N個樣本,采用隨機且有放回的自助抽樣選取自助樣本集,建立決策樹,每次未選取的樣本構(gòu)成袋外(Out of Bag,OOB)數(shù)據(jù);
(2) 假設屬性總數(shù)為M,在每個決策樹的每個節(jié)點上隨機抽樣提取m(遠小于M)個屬性,之后再采用某種策略(如信息增益等),從m個屬性中選擇一個最優(yōu)屬性作為分支和生長的分裂變量;
(3) 分割節(jié)點按照步驟(2)處理,每棵決策樹都將生長置于修剪之上(即生長優(yōu)先于修剪);
(4) 生成的多個決策樹形成隨機森林,新的數(shù)據(jù)通過隨機森林分類器進行鑒別和分類,最終的分類結(jié)果通過簡單的投票獲得。
一般情況下,隨機森林是由大量分類回歸樹(Classification and Regression Tree,CART)構(gòu)建而成的,CART決策樹以基尼系數(shù)為屬性選擇的標準。在理想狀態(tài)下,隨著節(jié)點不斷分裂,決策樹分支節(jié)點中的樣本也應盡可能屬于同一類[22],即保持節(jié)點的高“純度”。假設當前數(shù)據(jù)集D中第k類樣本所占的比例為pk(k=1,2,……,K),數(shù)據(jù)集D的純度可以用式(2)來體現(xiàn):
(2)
Gini(D)代表從數(shù)據(jù)集D中隨機選取2個樣本,其類別不相同的概率。Gini(D)越小,數(shù)據(jù)集的純度越高。
設離散屬性a有Y個可能的取值,A={a1,a2,a3,…,aY},使用A對數(shù)據(jù)集D進行劃分,就會生成Y個分支節(jié)點,其中第i個分支節(jié)點囊括了D中所有在A上取值為ai的樣本,記為Di。
屬性a的基尼系數(shù)為:
(3)
式中,|D| —— 數(shù)據(jù)集D中樣本的數(shù)量
|Di| —— 數(shù)據(jù)集D在第i個分支節(jié)點中的樣本數(shù)量
在屬性選擇時,選擇屬性集合A中基尼系數(shù)最小的屬性即可:
a*=arg min (Gini(D,A)),a*∈A
(4)
式中,a*—— 屬性集合中基尼系數(shù)最小的屬性。
在構(gòu)建決策樹時,對于每棵樹(以第k棵樹為例),大約1/3的樣本不參與第k棵樹的生成。這些樣本是第k棵樹的OOB樣本。OOB樣本可以估計訓練集之外的樣本的誤差率,該誤差被稱為模型的推廣誤差。OOB誤差是隨機森林泛化誤差的無偏估計,其結(jié)果類似于k折交叉驗證。
RF算法可以根據(jù)OOB樣本評估特征的重要性。對于隨機森林模型,假設其1個屬性變成1個隨機數(shù);這個屬性在模型中的重要性是通過比較變化前后的OOB誤差來評估的。屬性重要性的度量被定義為平均遞減精度(Mean Decreasing Accuracy,MDA)其表達式如下:
(5)
式中,Hn—— 改變特征后的OOB誤差
Qo—— 改變特征前的OOB誤差
Nt—— 決策樹的數(shù)量
OOB誤差下降程度越大,對應屬性的重要性也越高。
將屬性按重要性高低降序排列,再根據(jù)重要性剔除1個或多個屬性,從而得到1個新的屬性集。使用新的屬性集重復上述步驟,直到剩余屬性個數(shù)達到設定值。最后比較步驟中所得到的各個屬性集對應的OOB誤差率,選出OOB誤差率最小的屬性集,該屬性集中屬性的數(shù)量即為最佳決策樹節(jié)點屬性數(shù)量。
該算法在保持單棵樹精度不變的前提下,通過引入隨機性來降低決策樹之間的相關(guān)性。因此,RF算法可以提高預測的準確性,而不會顯著增加計算量。鑒于這種優(yōu)異的性能,RF算法得到了廣泛的應用。
在學習極不平衡的數(shù)據(jù)時,自助抽樣很少甚至不會對少數(shù)類樣本進行抽取,這就導致決策樹在少數(shù)類的預測方面表現(xiàn)很差。改善這一問題的一個簡單方法是使用分層自助抽樣,即在每個類別中都進行抽樣,但這種方法效果不佳。以往的研究表明,通過對多數(shù)類進行欠采樣或?qū)Ψ嵌鄶?shù)類進行過采樣來人為地使樣本均衡,對于給定的性能度量來說,這種方法更有效,并且欠采樣比過采樣具有優(yōu)勢。BRF算法從平衡的欠采樣數(shù)據(jù)中歸納出系統(tǒng)樹, BRF算法的理論方法如下:
(1) 在每輪自助抽樣中加入隨機欠采樣方法,從少數(shù)類中隨機抽取若干樣本,隨后從多數(shù)類中隨機抽取相同數(shù)量的樣本組成均衡數(shù)據(jù)集,使用均衡數(shù)據(jù)集作為每次迭代的數(shù)據(jù)集;
(2) 在不修剪的情況下,從數(shù)據(jù)中歸納出最大規(guī)模的決策樹,該樹由CART算法歸納而成,并做出以下修改: 在每個節(jié)點上,不是搜索所有屬性以獲得最佳分裂變量,而是僅隨機選取一個屬性作為分裂變量;
(3) 重復上述步驟,生成的多棵決策樹形成平衡隨機森林,新的數(shù)據(jù)通過平衡隨機森林分類器進行鑒別和分類,最終的分類結(jié)果通過簡單的投票獲得。
設非均衡數(shù)據(jù)集中各類別樣本數(shù)量的比例為n1∶n2∶n3∶…∶nk。在RF算法的自助抽樣中,少數(shù)類樣本很少被納入抽取范圍,此時決策樹中可能存在樣本類別不全的現(xiàn)象;若使用分層自助抽樣,則各類別樣本的權(quán)重是默認相等的,即每輪自助抽樣中從訓練集抽取的各類別樣本數(shù)量的比例趨近于n1∶n2∶n3∶…∶nk,此時每棵決策樹中的重組數(shù)據(jù)集依舊是不均衡的。
BRF算法對此進行了優(yōu)化,在自助抽樣過程中添加了隨機欠采樣環(huán)節(jié)。隨機欠采樣可以在隨機的條件下設定各類別樣本的抽取數(shù)量,在自助抽樣時既可以做到充分利用少數(shù)類樣本,又能對樣本數(shù)量較多的類別進行欠采樣處理,使每棵決策樹中不同類別樣本的數(shù)量趨向均衡。
BRF算法的流程如下:首先,將原始數(shù)據(jù)集按照比例劃分為訓練集與測試集,測試集不做任何處理,對任意一決策樹ti,都會使用隨機欠采樣方法從訓練集中隨機抽取(有放回抽取)與各少數(shù)類樣本數(shù)量相近或相等的多數(shù)類樣本,隨后將抽取出的各多數(shù)類樣本與少數(shù)類樣本混合組成均衡數(shù)據(jù)集;在節(jié)點分裂時隨機選取一個屬性作為分裂變量,之后流程與RF算法相同,每棵決策樹會對各自的均衡數(shù)據(jù)集進行分類并得出一個結(jié)果;當算法中的每棵樹都產(chǎn)生結(jié)果之后,再根據(jù)bagging原則投票選出最理想的一個作為最終結(jié)果并生成模型,最后將測試集數(shù)據(jù)導入生成的模型中即可得出結(jié)果,BRF算法的流程圖如圖2所示。
圖2 BRF算法流程圖Fig.2 Flow chart of BRF algorithm
一般情況下,在分類結(jié)束后會出現(xiàn)如表1所示4種情況。通過混淆矩陣可以計算出一些評價指標,例如精確率、召回率、準確率等。對于非均衡數(shù)據(jù),分類器在分類時大概率會將少數(shù)類劃分為多數(shù)類,使用準確率作為評價標準不適用于非均衡數(shù)據(jù)分類。因此,引入G-mean,F(xiàn)-measure與精確率P共同作為評判指標。
表1 混淆矩陣Tab.1 Confusion matrix
G-mean結(jié)合了特異度和召回率,表示只有當分類器對樣本中少數(shù)類和多數(shù)類的分類效果都很好的情況下,G-mean的值最大;F-measure 同時結(jié)合了精確率和召回率,是兩者的加權(quán)調(diào)和平均,用于評價分類器對某一類樣本分類性能的優(yōu)劣,因此可用于測量分類器在少數(shù)類樣本上的分類性能[24]。
G-mean與F-measure的計算公式如下:
(6)
(7)
若是多分類問題,在計算時將所要計算的類別視為正類,其余類別視為負類,計算每個少數(shù)類的G-mean,F(xiàn)-measure與精確率,然后分別取平均值作為整個少數(shù)類的結(jié)果。
設非均衡數(shù)據(jù)集中有n類樣本,其中類別1為多數(shù)類,其余類別為少數(shù)類。則少數(shù)類整體的G-mean,F(xiàn)-measure與少數(shù)類平均精確率計算方式如下:
(8)
(9)
(10)
式中,G2到Gn分別為類別2到類別n的G-mean值,Ga為少數(shù)類整體的G-mean值;F2到Fn分別為類別2到類別n的F-measure值,F(xiàn)a為少數(shù)類整體的F-measure值;P2到Pn分別為類別2到類別n的精確率,Pa為少數(shù)類平均精確率。
為證明BRF算法的優(yōu)勢與泛化能力,先使用公開數(shù)據(jù)集對其進行驗證。驗證所選數(shù)據(jù)集為UCI開源數(shù)據(jù)集,4組數(shù)據(jù)集均為多分類非均衡數(shù)據(jù),具體信息如表2所示。
表2 所用數(shù)據(jù)集信息Tab.2 Datasets information used
數(shù)據(jù)集中樣本數(shù)量最多的類別為多數(shù)類,其余類別為少數(shù)類。為保證結(jié)果準確,每個數(shù)據(jù)集都進行了10次計算,每次計算都會改變隨機數(shù)種子以保證每次訓練集與測試集都不相同,取10次結(jié)果的均值作為最終結(jié)果,分類結(jié)果如表3所示。
表3 各數(shù)據(jù)集分類結(jié)果Tab.3 Classification results of each dataset
由表3可知,在4種數(shù)據(jù)集中,BRF算法的Ga,Fa,Pa均高于RF算法和SMOTE-RF算法。
其中,Thyroid數(shù)據(jù)集不均衡程度最高,BRF算法的Pa,Ga,Fa相較于RF算法分別提升了20%,0.122,0.133;相較于SMOTE-RF算法分別提升了15%,0.108,0.098。
其次為Vowel數(shù)據(jù)集,BRF算法的Pa,Ga,Fa相較于RF算法分別提升了10.4%,0.067,0.121;相較于SMOTE-RF算法分別提升了4.2%,0.023,0.049。
在CMC數(shù)據(jù)集上,BRF算法的Pa,Ga,Fa,相較于RF算法分別提升了7.1%,0.075,0.069;相較于SMOTE-RF算法分別提升了2.6%,0.024,0.020。
Wine數(shù)據(jù)集不均衡程度最低,BRF算法的Pa,Ga,Fa相較于RF算法提升了5.9%,0.073,0.064;相較于SMOTE-RF算法分別提升了2.3%,0.028,0.029。
通過上述分析可得,數(shù)據(jù)集的不均衡程度越高,BRF算法對少數(shù)類的分類精確率提升越大。
本研究采用硬件設備與軟件程序相結(jié)合的方法采集實驗數(shù)據(jù)。軟件采用LabVIEW2018,以此來監(jiān)控柱塞泵的工作狀態(tài),同時進行數(shù)據(jù)采集。實驗系統(tǒng)原理如圖3所示,柱塞泵振動信號采自液壓泵故障模擬實驗臺,實驗臺照片如圖4所示。
圖3 實驗系統(tǒng)原理圖Fig.3 Schematic diagram of experimental system
圖4 實驗臺照片F(xiàn)ig.4 Experimental bench photo
液壓泵為MCY14-1B型斜盤式軸向柱塞泵,柱塞數(shù)目為7,理論排量10 mL/r,額定工作壓力31.5 MPa;電機型號為Y132M-4,額定轉(zhuǎn)速為1480 r/min;加速度傳感型號為YD72D,頻率范圍1~18 kHz。對液壓泵端蓋的振動信號進行采集,試驗時調(diào)定主溢流閥將系統(tǒng)壓力設置為5 MPa,采樣頻率設為10 kHz,每次采樣時長為10 s。
試驗共模擬4類故障,分別為滑靴磨損、松靴、斜盤磨損、中心彈簧磨損。故障是使用故障元件代替正常元件注入的,故障元件是從液壓泵維修單位收集的磨損廢棄元件。數(shù)據(jù)采集結(jié)束后對原始振動信號進行小波包能量特征提取,小波包函數(shù)選用db5小波,分解層數(shù)為4,由16個子頻帶能量占比作為特征組成特征向量。各子頻帶B的頻率范圍如表4所示,故障元件照片與各類別子帶能量譜分別如圖5、圖6所示。
表4 子頻帶及頻率范圍Tab.4 Sub-band and frequency range Hz
圖5 故障元件照片F(xiàn)ig.5 Faulty component photos
圖6中能量占比與子頻帶分別用PE與B表示,且二者均無量綱。由圖6可知,5種狀態(tài)下各子頻帶的能量占比區(qū)分度大,差異明顯,使用小波包能量特征提取方法能夠清晰有效地將5種狀態(tài)進行區(qū)分。
選取不同狀態(tài)的柱塞泵端蓋的振動信號,經(jīng)小波包能量特征提取后制作成數(shù)據(jù)集。數(shù)據(jù)類別包括正常、滑靴磨損、松靴、斜盤磨損、中心彈簧磨損。所得到的軸向柱塞泵故障數(shù)據(jù)集如表5所示,正常類/單個故障類比例為20∶1。
表5 軸向柱塞泵故障數(shù)據(jù)集Tab.5 Axial piston pump failure dataset
圖6 各狀態(tài)類別下的子帶能量譜Fig.6 Sub-band energy spectrum of each state category
圖7 基于BRF的軸向柱塞泵故障診斷流程圖Fig.7 Fault diagnosis flowchart of axial piston pump based on BRF
完整的基于BRF的軸向柱塞泵故障診斷流程圖如圖7所示。
劃分軸向柱塞泵數(shù)據(jù)集時,設置訓練集與測試集比例為7∶3,設置軸向柱塞泵數(shù)據(jù)集中屬性總數(shù)M為16,RF算法與SMOTE-RF算法中的參數(shù)m為4,Nt為1000;BRF算法中Nt為1000。
數(shù)據(jù)集中正常樣本為多數(shù)類樣本,滑靴磨損、松靴、斜盤磨損、中心彈簧磨損的樣本為少數(shù)類樣本。為使結(jié)果準確,進行10次計算并對結(jié)果進行平均。每次計算時都設置不同的隨機數(shù)種子,以確保每次的訓練集與測試集都不相同,取均值作為最終結(jié)果,診斷結(jié)果如表6所示,表中7項評價指標均無量綱。
表6 軸向柱塞泵故障數(shù)據(jù)集的診斷結(jié)果Tab.6 Diagnosis results of axial piston pump fault dataset
由表6可知,BRF算法的滑靴磨損、松靴、中心彈簧磨損的分類精確率相較于RF算法、SOMTE-RF算法有著較大的提升,BRF算法對斜盤磨損的分類精確率雖不是最高,但也達到了0.94,僅比SMOTE-RF算法低0.7%,說明BRF算法的整體性能優(yōu)于RF和SMOTE-RF算法。
在非均衡問題中,不均衡程度沒有明確的度量標準。通常當數(shù)據(jù)集中不同類別樣本的比例超過5∶1時[8],數(shù)據(jù)不均衡所帶來的問題就會凸顯出來。
為進一步分析BRF的性能,將正常類/單個故障類比例分別調(diào)整至15∶1,10∶1,5∶1,隨后再次使用3種算法進行計算。3種算法在不同不均衡比例下的Ga,Fa,Pa如圖8所示,圖中結(jié)果皆為10次計算結(jié)果的均值。
圖8為3種算法在不同不均衡比例下的性能,其中橫坐標pns為正常類/單個故障類的比例。
由圖8可得,在4種不均衡比例下BRF算法的性能均優(yōu)于RF算法和SMOTE-RF算法。BRF的Ga,Fa,Pa始終高于其他2種算法,在比例為20∶1時提升最大,相比于RF算法分別提升了0.10,0.07,18.5%,相比于SMOTE-RF算法分別提升了0.053,0.019,9.7%。
將BRF算法引入軸向柱塞泵故障診斷領域,提出了在類間數(shù)據(jù)不均衡條件下基于BRF的軸向柱塞泵故障診斷方法:
(1) 利用開源UCI數(shù)據(jù)對BRF,RF,SMOTE-RF 3種算法的性能進行了比較,結(jié)果表明BRF算法的Ga,F(xiàn)a,Pa均高于其他2種算法,且在非均衡程度最高的數(shù)據(jù)集上性能提升最大;
(2) 對軸向柱塞泵不同類型故障進行模擬,采集了正常、滑靴磨損、松靴、斜盤磨損、中心彈簧磨損5種狀態(tài)的數(shù)據(jù),使用上述3種算法在不同的不均衡比例下進行對比分析,結(jié)果表明,BRF算法性能始終優(yōu)于RF算法與SMOTE-RF算法,并且在數(shù)據(jù)不均衡比例最高時BRF的性能提升最大,滿足實際需要;
(3) 對于類間數(shù)據(jù)不均衡的軸向柱塞泵故障診斷問題,BRF能夠在符合實際(即數(shù)據(jù)處于高度不均衡狀態(tài))的前提下有效提升故障類的分類性能,該方法在處理類間數(shù)據(jù)不均衡的軸向柱塞泵故障分類問題方面相較于傳統(tǒng)分類算法具有明顯優(yōu)勢。
圖8 3種算法在不同不均衡比例下的Ga,Fa,PaFig.8 Ga, Fa, Pa for three algorithms under different imbalance ratios