郝姜偉 魯斌
摘要:根據(jù)飛機(jī)發(fā)動機(jī)狀態(tài)參數(shù)建立決策樹進(jìn)行分類是發(fā)動機(jī)故障檢測的重要方法,本文針對單棵決策樹模型分類方法精度不高、容易出現(xiàn)過擬合等問題,提出使用組合單決策樹來提高計(jì)算精度的隨機(jī)森林算法,并將該方法進(jìn)行仿真實(shí)驗(yàn)。結(jié)果表明,隨機(jī)森林算法能夠解決單個(gè)決策樹過擬合問題,在解決飛機(jī)發(fā)動機(jī)故障診斷領(lǐng)域中具有廣闊的發(fā)展及應(yīng)用前景。
關(guān)鍵詞:飛機(jī)發(fā)動機(jī);故障診斷;隨機(jī)森林
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)23-0158-03
Abstract:Establish decision tree for aircraft engines state parameters to classify is an important method of engine fault detection, the paper according to the accuracy of a single decision tree classification model is not high, prone to problems of over-fitting,propose the Random Forest algorithm which use a combination of a single decision tree classification model to improve the accuracy, and use it for simulation experiments.The results show that the Random Forest algorithm can solve the problem of over-fitting with a single tree,and it has a broad development prospect in solving aircraft engine fault diagnosis.
Key words:aircraft engine; fault diagnosis; random forest
隨著互聯(lián)網(wǎng)技術(shù)的持續(xù)快速發(fā)展,各種創(chuàng)新技術(shù)、前沿概念不斷影響著人們的生活,人類社會進(jìn)入了一個(gè)前所未有的信息化時(shí)代。國內(nèi)航空市場發(fā)展迅速,飛機(jī)的數(shù)量不斷增加,航空維修行業(yè)在不斷發(fā)展。在航空業(yè)繁榮的背后,航空維修承擔(dān)著非常重要的作用,航空公司近百分之二十的飛行成本是維修費(fèi)用。飛機(jī)安全飛行是航空公司的生命線,飛機(jī)發(fā)動機(jī)是航空器的“心臟”是安全飛行的基礎(chǔ)[1],飛機(jī)發(fā)動機(jī)的重要性不言而喻。目前的航空領(lǐng)域正處于快速發(fā)展時(shí)期,新技術(shù)、新需求不斷出現(xiàn),對維修方面也提出了更高的要求,按照原來的維修方法、要求,以及安全性、可靠性已無法滿足新時(shí)代的新的需求。在短時(shí)間內(nèi),利用有效、可靠的技術(shù)手段完成維修任務(wù)變得越來越重要。
分類預(yù)測是數(shù)據(jù)挖掘技術(shù)領(lǐng)域的主要方法。利用數(shù)據(jù)挖掘技術(shù),根據(jù)現(xiàn)有的數(shù)據(jù),對未來發(fā)展趨勢進(jìn)行準(zhǔn)確、有效的分類和預(yù)測,受到了廣泛的關(guān)注和研究,而且其成果也不斷投入到我們的現(xiàn)實(shí)生活。其中應(yīng)用很多優(yōu)秀的算法,比如決策樹、貝葉斯、k-近鄰分類、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。近幾年分類器在飛機(jī)發(fā)動機(jī)故障診斷領(lǐng)域也逐漸被推廣,但是單模型分類器會出現(xiàn)診斷精度不高、過擬合、訓(xùn)練速度慢、陷入局部最優(yōu)解等缺點(diǎn)。
本文提出采用隨機(jī)森林算法對飛機(jī)發(fā)動機(jī)進(jìn)行故障診斷,根據(jù)波音747-400(發(fā)動機(jī)型號為 PW-4000)發(fā)動機(jī)四個(gè)狀態(tài)參數(shù)進(jìn)行初步診斷:低壓壓縮機(jī)轉(zhuǎn)速 NL;高壓壓縮機(jī)轉(zhuǎn)速 NH;排氣溫度 EGT;燃油流量 FF[3]。建立隨機(jī)森林的組合分類器模型,每個(gè)分類器起到互補(bǔ)的作用,將單決策樹錯誤判斷影響降低,最終根據(jù)每個(gè)決策樹的投票得出最終診斷結(jié)果,該方法具有速度快、準(zhǔn)確率高等優(yōu)點(diǎn)。
1 決策樹和隨機(jī)森林
1.1 決策樹
決策樹,根據(jù)給定的無規(guī)律的樣本,推理得出樹狀的分類規(guī)則的方法,它的一個(gè)分支就是一個(gè)決策過程,每個(gè)決策過程中涉及一個(gè)數(shù)據(jù)的屬性[6],然后遞歸直到滿足決策條件。其中樣本數(shù)據(jù)集中含有多個(gè)特征屬性和目標(biāo)屬性,采用從上向下的原則,從根節(jié)點(diǎn)開始遍歷,直到每一個(gè)數(shù)據(jù)子集都有唯一的對應(yīng)的目標(biāo)。建立好決策樹后,輸入測試樣本,測試數(shù)據(jù)根據(jù)生成的決策樹,確定一條由根節(jié)點(diǎn)到葉節(jié)點(diǎn)的唯一路徑,葉節(jié)點(diǎn)即為測試樣本所屬類別[2]。決策樹算法有著很多良好的特性,比如說訓(xùn)練時(shí)間復(fù)雜度較低、預(yù)測的過程比較快速、模型容易展示等。但是同時(shí),單決策樹又有一些不好的地方,比如說容易過擬合。
1.2 隨機(jī)森林
隨機(jī)森林算法是Leo Breiman于2001年提出的一種新型分類和預(yù)測模型,是基于決策樹(decision tree)的分類器集成算法,用隨機(jī)的方式建立一個(gè)森林,由多個(gè)決策樹
隨機(jī)森林通過在每個(gè)節(jié)點(diǎn)處隨機(jī)選擇特征進(jìn)行分支,最小化了各棵分類樹之間的相關(guān)性,提高了分類精確度。由于每棵樹的生長速度很快,所以隨機(jī)森林的分類速度很快,并且很容易實(shí)現(xiàn)并行化。按這種算法得到的隨機(jī)森林中的每一棵都很弱,但是多顆決策樹組合起來就可以達(dá)到更精確的結(jié)果。即:將每一棵決策樹看成一個(gè)精通于某一個(gè)窄領(lǐng)域的專家,隨機(jī)森林中就有了很多個(gè)精通不同領(lǐng)域的專家決策樹,對待新的問題,用不同的角度去看待它,最后由各個(gè)專家,投票得到最終結(jié)果[4]。該算法具有需要調(diào)整的參數(shù)少、分類速度快、不用擔(dān)心過度擬合、能高效處理大樣本數(shù)據(jù)、能估計(jì)哪個(gè)特征在分類中更重要以及較強(qiáng)的抗噪音能力、數(shù)據(jù)集上表現(xiàn)良好等特點(diǎn)。
2 基于隨機(jī)森林算法的飛機(jī)發(fā)動機(jī)故障診斷步驟
隨機(jī)森林應(yīng)用自助法重采樣技術(shù)生成整個(gè)決策樹分類器,其步驟如下:
1)從樣本集中用自助法(Boot-strap)重采樣選出n個(gè)樣本,預(yù)建立決策樹(CART),每個(gè)自助樣本集包括每棵分類樹的全部訓(xùn)練數(shù)據(jù)。
2)在樹的每個(gè)節(jié)點(diǎn)上,從所有屬性中隨機(jī)選擇k個(gè)屬性,選擇出一個(gè)最佳分割屬性作為節(jié)點(diǎn)。
3)每棵樹最大限度地生長, 不進(jìn)行剪枝操作;
4)將生成的多棵分類樹組成隨機(jī)森林,對新的數(shù)據(jù)進(jìn)行判別與分類,分類結(jié)果按樹分類器的投票多少而定,最終決策結(jié)果根據(jù)如下公式給出:
用投票策略來得到最終結(jié)果。
基于隨機(jī)森林的飛機(jī)發(fā)動機(jī)故障診斷流程如圖1所示:
3 基于隨機(jī)森林算法的飛機(jī)發(fā)動機(jī)故障診斷的應(yīng)用
本文使用Google開發(fā)的一種編譯型、可并行化、并具有垃圾回收功能的編程語言GoLang對隨機(jī)森林算法進(jìn)行仿真實(shí)驗(yàn)。
3.1 輸入特征
根據(jù)飛機(jī)發(fā)動機(jī)故障維修人員的經(jīng)驗(yàn),波音 747-400(發(fā)動機(jī)型號為 PW-4000)的故障可以通過如下四個(gè)參數(shù)進(jìn)行初步診斷:低壓壓縮機(jī)轉(zhuǎn)速 NL;高壓壓縮機(jī)轉(zhuǎn)速 NH;排氣溫度 EGT;燃油流量 FF。故障診斷就是利用這些有限的參數(shù)所提供的特征信息來確定發(fā)動機(jī)的故障狀態(tài)的[3]。 選用文獻(xiàn)[3]的12個(gè)特征,即典型故障模式作為學(xué)習(xí)樣本輸入,如表1所示。
3.2 學(xué)習(xí)樣本和測試樣本
本文為每種故障分別選定20個(gè)樣本,總共240個(gè)學(xué)習(xí)樣本,將輸入和目標(biāo)樣本作為算法入口進(jìn)行分類學(xué)習(xí),試驗(yàn)中取100棵獨(dú)立決策樹組成隨機(jī)森林。根據(jù)文獻(xiàn)[3]典型故障模式輸入輸出樣本如表2所示。
本文進(jìn)行多組實(shí)驗(yàn)將隨機(jī)森林算法應(yīng)用到飛機(jī)發(fā)動機(jī)故障診斷中,當(dāng)選取的樣本集數(shù)量為100組,即數(shù)量較少、生成決策樹數(shù)量較少或樣本差異不明顯時(shí),測試數(shù)據(jù)故障診斷錯誤率高達(dá)30%及以上,隨著樣本集數(shù)量以及樣本數(shù)據(jù)的不斷調(diào)整,錯誤率不斷降低。因此,正確選取學(xué)習(xí)樣本、確定適合的樣本數(shù)量、減少樣本數(shù)據(jù)的相關(guān)性是隨機(jī)森林算法能否準(zhǔn)確決策的關(guān)鍵因素。
3.3 系統(tǒng)實(shí)現(xiàn)
前端借鑒MVC模式,使用Angularjs框架,結(jié)合HTML,CSS開發(fā),數(shù)據(jù)通信基于http協(xié)議,采用RESTful風(fēng)格,使用JSON數(shù)據(jù)格式進(jìn)行數(shù)據(jù)傳送。服務(wù)端使用Google開發(fā)的一種編譯型、可并行化、并具有垃圾回收功能的編程語言GoLang。Web API層基于RESTful Web API開源框架Martini實(shí)現(xiàn),分為路由管理、控制器、RPC代理三層,其中路由管理模塊負(fù)責(zé)資源的路由分配;控制器模塊定義了應(yīng)用系統(tǒng)的行為,通過提供的HTTP方法向前端暴露資源;RPC代理模塊負(fù)責(zé)與模型層的通訊,使用MongoDB進(jìn)行數(shù)據(jù)的存儲。實(shí)現(xiàn)結(jié)果如圖3和圖4所示:
4結(jié)論
本文研究了基于隨機(jī)森林算法的飛機(jī)發(fā)動機(jī)故障診斷方法,并通過實(shí)驗(yàn)驗(yàn)證該方法的有效性,實(shí)現(xiàn)了相應(yīng)的web應(yīng)用。實(shí)驗(yàn)結(jié)果表明,利用該方法進(jìn)行飛機(jī)發(fā)動機(jī)故障診斷能取得理想的效果,證明該方法的可行性,在解決飛機(jī)發(fā)動機(jī)故障診斷領(lǐng)域中具有廣闊的發(fā)展及應(yīng)用前景。
參考文獻(xiàn):
[1] 李愛. 航空發(fā)動機(jī)磨損故障智能診斷若干關(guān)鍵技術(shù)研究[D].南京航空航天大學(xué),2013.
[2] 陶棟琦,薄翠梅,易輝. 基于隨機(jī)森林的變壓器故障檢測方法的研究[J]. 電子器件,2015(4):840-844.
[3] 吳月偉. 基于徑向基神經(jīng)網(wǎng)絡(luò)的飛機(jī)發(fā)動機(jī)故障診斷研究[D].中國民用航空學(xué)院,2006.
[4] 尹玲. 基于心率變異和腦波分析的塑身腹帶著裝壓力舒適性研究[D].東華大學(xué),2012.
[5] 鄢仁武,葉輕舟,周理. 基于隨機(jī)森林的電力電子電路故障診斷技術(shù)[J]. 武漢大學(xué)學(xué)報(bào):工學(xué)版,2013(6):742-746.
[6] 葉圣永,王曉茹,劉志剛,等. 基于隨機(jī)森林算法的電力系統(tǒng)暫態(tài)穩(wěn)定性評估[J]. 西南交通大學(xué)學(xué)報(bào),2008(5):573-577.