国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SelBagging算法的CFM56-7B發(fā)動機故障診斷

2022-02-27 06:27曹惠玲成寶榮
中國民航大學學報 2022年6期
關鍵詞:決策樹個數準確率

曹惠玲,成寶榮

(中國民航大學航空工程學院,天津 300300)

發(fā)動機作為飛機的重要組成部件,其工作環(huán)境惡劣,經常發(fā)生各種故障,嚴重時會影響飛機的安全可靠運行[1]。由于航空發(fā)動機的復雜性,單一的故障診斷方法會存在誤診和漏診的情況,如何有效提高現有智能診斷方法的準確率已成為研究重點[2],因此對于集成學習的研究受到越來越多的關注。但集成學習也存在固有缺點,如通過生成多個基學習器來提高整體的泛化性能會增加程序的運行時間和空間消耗;另一方面,集成模型中泛化性能差的基學習器會影響整個集成系統(tǒng)的泛化性能[3]。針對以上集成學習的缺點,文獻[4]提出了選擇性集成,其思想是通過篩選出更少的基學習器進行集成,獲得相同甚至泛化性能更強的集成效果,降低程序的運行時間和空間消耗。

針對如何對個體學習器進行選擇,學者們提出了很多有代表性的方法。文獻[5]通過遺傳算法對選擇過程進行優(yōu)化,但個體學習器差異性的存在使得優(yōu)化的搜索空間變得十分龐大,導致算法的運算時間過長。文獻[6]通過剔除最差的基學習器來對集成進行層次修剪,雖大幅提高了算法的運行時間,但未考慮個體學習器間差異性的影響,只是縮短了程序運行時間,算法性能的提高并不明顯。針對集成學習在選擇階段需要獨立設置驗證集而損失一定訓練數據的缺點,文獻[7]提出了一種快速剪枝選擇集成算法,將基學習器個體評估融入原始數據本身,獲得了集成運行時間上的優(yōu)勢,該算法和單獨設置驗證集的快速剪枝選擇集成算法相比在正確率上有明顯提高,但在部分數據集上的表現仍遜于傳統(tǒng)Bagging 算法。因此,本文以排序法為基礎,同時考慮基學習器的表現和差異性,結合Bagging 算法,提出SelBagging 算法,并建立多分類的SelBagging 發(fā)動機故障診斷模型,以期將該方法用于航空發(fā)動機的故障診斷中,提高診斷準確率。

1 基學習算法的選擇

集成學習一般分為兩個步驟[8]:①生成多個有差異性的基學習器;②使用某種方法對各基學習器分類結果進行合成。Bagging 算法主要用來產生有差異的Bootstrap 子集,基學習器主要對各種分類算法進行數據挖掘,因此,需要先選擇基學習器所用的基學習算法。對于本文所用的Bagging 算法,其常用的基學習算法有決策樹、神經網絡等,因此,本文選擇決策樹和神經網絡兩種算法進行改進Bagging 算法的研究。

Cart 算法是決策樹的一種[9],其對訓練集的變化比較敏感,采用基尼(Gini)系數最小化準則來進行特征選擇。假設樣本集為D,Ck是屬于第k(k=1,2,…,N)類的樣本子集,|Ck|為第k個類別的樣本數量,|D|表示數據集的數量,pk表示第k個類別的概率,則概率分布的基尼系數定義為

假設使用特征A將數據集D劃分為D1和D2兩部分,那么特征A的基尼系數為

當以決策樹作為Bagging 算法的基學習器時,無需對決策樹進行剪枝處理[10]。

神經網絡處理單元可分為3 類:輸入單元、輸出單元和隱單元。設輸入層節(jié)點數為n,隱層節(jié)點數為g,輸出層節(jié)點數為m,wik為第i個輸入層節(jié)點到第k個隱層節(jié)點的權值,vkj為第k個隱層節(jié)點到第j個輸出層節(jié)點的權值,θk、γj分別為第k個隱層節(jié)點和第j個輸出層節(jié)點的閾值,f1、f2分別為隱層、輸出層的激活函數,則輸入X=(x1,x2,…,xn)T,輸出Y=(y1,y2,…,ym)T,隱層輸出為Z=(z1,z2,…,zg)T,那么隱層第k個節(jié)點的輸出為

輸出層第j個節(jié)點的輸出為

樣本的網絡期望輸出yj與真實輸出dj的誤差函數為

式中e為誤差向量。

神經網絡模型的主要缺點是易陷入局部極小,而該特性對神經網絡集成泛化能力的提高卻起到了重要作用[10],這是因為如果各神經網絡互不相關,則在學習中會陷入不同的局部極小,從而增加了集成的差異度,減小了泛化誤差。

以上兩種算法中,決策樹學習能力強、訓練快,但易陷入過擬合狀態(tài),常用于搜索排序中;神經網絡可實現任何復雜非線性映射的功能,但收斂速度慢、計算量大且易收斂到局部最優(yōu),常用于圖像處理中。由于兩種算法各有優(yōu)缺點,后續(xù)將結合實際數據對這兩種算法進行進一步對比。

2 Bagging 算法

Bagging 算法是并行式集成學習方法最著名的代表[11],在給定包含N個樣本點的數據集中,進行有放回的重采樣過程。由式(6)可知對每個基學習器,訓練時原始訓練集中約有36.8%的樣本未被使用,以此構造基學習器有差異的輸入。

通過對樣本子集分別采用相同的算法進行訓練獲得相應的基學習器,最后將這些基學習器結合得到強學習器[12],即Bagging 算法模型,如圖1 所示。

圖1 Bagging 算法流程圖Fig.1 Flow chart of Bagging algorithm

Bagging 算法的另一個重要步驟是模型融合。通常采用相對多數投票法來聚合多個模型。投票的目的是結合多個基學習器的輸出從r個類別標記{c1,c2,…,cr}中得到最終類別,對于基學習器集合{h1,h2,…,hT}中的任意ht,其輸出結果為一個r維的標記向量(ht1(x),ht2(x),…,htr(x))T,對于示例x,htb(x)∈{0,1}為基學習器ht在類別標記cb上的預測輸出,若ht預測類別為cb,則ht=1。此時的集成輸出標記可表示為

Bagging 算法特別適用于大規(guī)模集成場景,當Bagging 算法應用在小樣本集上時,可通過重復計算來提升小樣本的精度,這對故障數據較少的設備來說,是一種建立故障診斷模型的好方法。Bagging 算法也有不足,如訓練時會產生表現差且冗余的基學習器這一現象及無法確定合適的集成規(guī)模等。由于集成差的基學習器及集成錯誤率相關的基學習器會降低Bagging算法模型的性能表現,所以本文對Bagging 算法模型進行改進研究,提出SelBagging 算法模型。

3 SelBagging 算法

通過第2 節(jié)的分析,實際的Bagging 算法中存在表現差且冗余的基學習器,這些基學習器不利于集成效果的提升,并且會占用過多的儲存空間,所以需對訓練出的基學習器集合進行篩選。選擇的目的是通過某種度量準則選出差異度大且準確率高的基學習器子集進行集成(這里“差異度”定義為“對新的樣本,各基學習器做出不同錯誤的趨勢”)。

將選擇性集成方法中的排序法作為傳統(tǒng)Bagging算法的改進方法,排序法通過某種度量標準對基學習器集合進行評價并排序,然后在排序后的基學習器中按順序選擇一定比例的基學習器進行集成,排序法的一個關鍵問題是集成模型中基學習器個數的選擇,采取固定保留個數的基學習器;對于排序法,恰當的排序標準是關鍵,模型性能的“好”可使用分類準確率代替,但個體學習器間多樣性的度量方法有很多,本算法選用文獻[10]中的KW(Kohavi-Wolpert)方差作為評估分類器集成多樣性的度量指標??紤]一個分類器模型,y 是h 要預測的類別,則KW 方差公式為

式中:zj(j = 1,2,…,N)為N 個樣例中的第j 個樣例;l(zj)為對zj正確分類的分類器的數目;T 為總的分類器數目。當所有的分類器都給出相同的分類結果時,KW=0,該集成系統(tǒng)的多樣性程度最低;當有一半的分類器正確分類、一半的分類器錯誤分類時,KW=0.25,集成系統(tǒng)的多樣性程度最高。確定了集成多樣性的評估標準后,SelBagging 算法步驟如圖2 所示。

圖2 SelBagging 算法流程圖Fig.2 Flow chart of SelBagging algorithm

具體步驟為:①首先通過Bagging 算法在訓練集上構造多個Bootstrap 子集,在這些子集上使用同種算法訓練出對應的基學習器,在剪枝集上計算這些基學習器的分類準確率;②將這些基學習器按準確率進行排序,保留前i 個基學習器作為排序法的初步篩選結果;③對剩余基學習器依次去除掉每個基學習器,并在計算此時集成模型的KW 方差后將其放回;④剔除刪掉后使集成模型KW 方差值最小的基學習器,判斷剩余基學習器個數是否達到指定規(guī)模m,如未達到則返回步驟③,否則進行下一步;⑤通過相對多數投票法對剩余基學習器子集投票。對每個新樣例點x,使用相對多數投票法的集成診斷結果為

式中:m 為最終集成規(guī)模,ht(x)為每個基學習器上的結果。

4 基于SelBagging 算法的應用

發(fā)動機指印圖是在對以往發(fā)動機故障診斷經驗總結和大量故障數據統(tǒng)計分析的基礎上建立起來的發(fā)動機小偏差量的樣條圖(見圖3),在發(fā)動機氣路故障診斷方面具有較高的準確性。

圖3 CFM56-7B 發(fā)動機指印圖Fig.3 Fingerprint map of CFM56-7B engine

本文采用文獻[13]中的比值系數法與文獻[14]中的單位向量法作為指印圖數據的處理方法,對指印圖處理后的數據如表1 所示,比值系數法中兩列值分別為ΔEGT/ΔN2、ΔFF/ΔN2;單位向量法中3 列值分別為、。其中:ΔEGT 為發(fā)動機排氣溫度變化量;ΔFF 為燃油流量變化量;ΔN2 為發(fā)動機高壓轉子轉速變化量。

表1 比值系數法與單位向量法故障標識Tab.1 Fault identification of ratio coefficient method and unit vector method

由于實際的發(fā)動機性能參數偏差量會因測量、讀取和計算等過程的存在而產生各種誤差,所以為了提高數據的覆蓋范圍,需對處理后的數據進行擴充加噪,這里按照原數據的分布規(guī)律添加一定程度的高斯白噪聲以增加模型的魯棒性。

需注意的是在加噪時應添加與自身數據呈一定比例的偏差。此處擴充數據量為2 160 個,其中1 300個實例作為訓練集,430 個實例作為剪枝集,430 個實例作為測試集。圖4 分別展示了兩種數據處理方法下,在1 300 個實例上使用10 交叉驗證得到的噪聲幅值對單個決策樹、單個神經網絡分類準確率的影響。其中決策樹的特征選擇標準為Gini 系數,決策樹最大深度及其他參數采用默認值,固定隨機狀態(tài)參數的值;神經網絡中采用Relu 函數,并使用兩個隱層,每個隱層包含100 個單元,alpha 設置為0.001,其他參數默認,同樣固定隨機狀態(tài)參數的值。

圖4 不同算法下噪聲幅值對準確率的影響Fig.4 The influence of noise amplitude on accuracy under different algorithms

在加噪過程中,添加噪聲過大可能使某些故障類型的數據相似度過大,更加難以區(qū)分;添加噪聲過小雖然能得到較好的分類模型,但模型的泛化能力可能會大打折扣,考慮到后續(xù)建模時集成模型對基學習器的改善效果,選取使基學習器分類精度達到0.85 附近時的噪聲幅值。由圖4 可知,數據處理方法不同,適宜添加噪聲的幅值也不同,在單位向量法處理的數據上使用神經網絡算法,無論噪聲添加得多小,其診斷效果依然不理想,所以不采用這種組合。表2 展示了保留的3 種分類算法和數據處理方法的組合以及在不同組合下適宜添加的噪聲幅值,并計算了對應組合的分類準確率和訓練時間。

表2 中,組合1 代表在通過比值系數法處理指印圖數據后添加0.075 噪聲幅值擴充的數據集上使用決策樹算法訓練的模型,以下依此類推。

表2 不同算法與數據處理方法組合適宜添加的噪聲幅值Tab.2 The noise amplitude suitable to be added under the combination of different algorithms and data processing methods

為討論基學習器個數對集成的影響,在已獲取基學習算法及數據來源的基礎上,固定隨機種子數,決策樹和神經網絡的拓撲參數與表2 中單個模型的拓撲參數相同,使基學習算法在不同的Bootstrap 子集上進行充分訓練,得到不同組合下基學習器個數對傳統(tǒng)Bagging 算法模型的影響,如圖5 所示。

圖5 不同組合下基學習器個數對Bagging 算法模型的影響Fig.5 The influence of the number of base learners on the Bagging algorithm under the different combination

由圖5 可看出:集成模型的訓練時間幾乎與基學習器個數呈正比;但并不是基學習器個數越多準確率越高,基學習器個數在一定范圍內會對集成模型的準確率產生影響,當個數增加到一定值時,集成模型的準確率趨于穩(wěn)定,這是因為后面訓練的基學習器和某些已完成訓練的基學習器過于相似,并不能對集成模型的性能產生有益影響;以決策樹作為基學習器比以神經網絡作為基學習器的集成模型訓練時間少的多,可以看到當集成規(guī)模增大時,決策樹算法的這種優(yōu)勢將進一步加大;另外,最佳的基學習器個數并不是一個定值,基學習器個數不同甚至可以得到分類性能相當的集成模型。

以上討論了數據處理方法、算法類別、噪聲幅值及基學習器個數對集成的影響,下面依據第3 節(jié)Sel-Bagging 算法,進行選擇性集成運算。在進行選擇性集成之前,首先確定初始基學習器個數T=500,由圖5可知,3 種組合方式下的基學習器個數在30 以內時,集成模型準確率的波動較大,當個數大于30 時,基學習器個數的增加對集成效果的增益并不是很大,故設置初步保留規(guī)模i=30。初步選擇后,剩余基學習器個數越少,剔除過程所用的時間將會越多。表3 對比了3種組合方式下,傳統(tǒng)Bagging 算法模型(基學習器個數為500)和SelBagging 算法模型在最終集成規(guī)模為10、15、20 時的分類準確率及響應時間。

表3 Bagging 算法與SelBagging 算法性能對比Tab.3 Comparison of performance between Bagging algorithm and SelBagging algorithm

由表3 可見,經過選擇性集成后,本文提出的Sel-Bagging 算法相較傳統(tǒng)Bagging 算法在3 種組合方式上都有較大的性能提高;而選擇過程所用的時間并未像預想中的那樣長,甚至與訓練多個決策樹所用的時間相差無幾;綜合時間和性能考慮,如在實際應用中需要根據故障數據做即時的訓練并診斷時,使用決策樹作為基學習器算法能夠在相對較短的時間內做出較為理想的診斷決策。若不考慮訓練時間,神經網絡作為基學習器算法也能取得較好的集成效果。

以一個航空發(fā)動機故障案例對SelBagging 算法進行實際應用的檢驗。由航空公司某起發(fā)動機狀態(tài)不正常的故障案例,通過監(jiān)控軟件獲取發(fā)動機主要性能參數值,參考文獻[12]計算得到該故障下發(fā)動機性能參數小偏差量:ΔEGT=15 ℃,ΔFF=1.62%,ΔN2=-0.95%。將偏差量輸入SelBagging 診斷模型中,在組合1 上設置模型的最終集成規(guī)模為15,組合2、組合3 上設置模型最終集成規(guī)模為20,得到診斷結果為:在3 種組合方式上建立的發(fā)動機故障診斷模型都能將該發(fā)動機故障參數偏差量診斷為表1 中的第12 類故障,對應的故障類別為-1pt HPT efficiency,即高壓渦輪間隙控制閥門故障。后續(xù)飛機排故表明該故障是由于高壓渦輪間隙控制活門失效導致的高壓渦輪組件性能損失。

由此可見,3 種組合下建立的SelBagging 診斷模型在實際應用中都能給出較好的診斷結果,在實際使用中也可以將3 種集成模型都用來進行故障診斷,并對3 種集成模型的輸出再進行投票,以進一步提高診斷的準確率。

5 結語

航空發(fā)動機的故障診斷對于其維修及安全運行具有重要意義,為提高發(fā)動機故障的診斷準確率,本文通過對傳統(tǒng)的Bagging 算法進行改進,提出了SelBagging 算法,并得到以下結論:①數據處理方法及數據噪聲的幅值都會對模型準確率以及泛化能力有影響,在實際中應進行合理斟酌;②某些情況下(如基學習器個數不同時),傳統(tǒng)Bagging 算法并非一定能大幅提高集成模型的分類準確率,而通過排序法及差異性度量指標進行選擇性集成,剔除掉基學習器子集中表現差且冗余的基學習器通常可以使模型的集成效果得到較為理想的改善;③實際應用中,建立的多個集成模型依然可以使用投票法進行集成;④不同的集成模型有不同的最佳基學習器個數,在應用中,通過繪制基學習器個數對集成的影響圖來尋找最佳集成規(guī)模進行模型的融合通常不實際,而對選擇性集成來說,該問題可以通過篩選找到1 組分類性能好且有足夠差異性的基學習器子集,使該子集的集成逼近甚至超越最佳基學器個數子集的集成來解決。

猜你喜歡
決策樹個數準確率
怎樣數出小正方體的個數
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
等腰三角形個數探索
一種針對不均衡數據集的SVM決策樹算法
怎樣數出小木塊的個數
怎樣數出小正方體的個數
決策樹和隨機森林方法在管理決策中的應用
高速公路車牌識別標識站準確率驗證法