靖婉婷 王海瑞 林雅慧
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 云南 昆明 650500)
發(fā)動(dòng)機(jī)的燃油系統(tǒng)長(zhǎng)時(shí)間在高溫高壓的惡劣環(huán)境下工作,為整個(gè)機(jī)械設(shè)備提供動(dòng)力。據(jù)權(quán)威機(jī)構(gòu)數(shù)據(jù)統(tǒng)計(jì),在柴油機(jī)的各種故障中,燃油系統(tǒng)故障占總體比重高達(dá)27%。由此可見,一旦燃油系統(tǒng)發(fā)生故障,將會(huì)造成整個(gè)機(jī)械停止工作,帶來(lái)的經(jīng)濟(jì)和其他方面的損失較為嚴(yán)重。
本文提出一種基于改進(jìn)的蝙蝠算法,優(yōu)化極限學(xué)習(xí)機(jī)的故障診斷模型來(lái)對(duì)發(fā)動(dòng)機(jī)的燃油系統(tǒng)進(jìn)行故障診斷,利用傳感器實(shí)時(shí)采集燃油系統(tǒng)的振動(dòng)信號(hào)。首先本文采用小波分解來(lái)對(duì)采集到的信號(hào)進(jìn)行處理,從而提取其特征向量。然后使用蝙蝠算法來(lái)優(yōu)化極限學(xué)習(xí)機(jī)的相關(guān)參數(shù),搭建優(yōu)化好的極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)結(jié)構(gòu)。最后將提取到的特征向量輸入到優(yōu)化好的極限學(xué)習(xí)機(jī)中進(jìn)行訓(xùn)練和測(cè)試,得到最終的故障診斷結(jié)果。本文設(shè)置對(duì)比實(shí)驗(yàn)來(lái)驗(yàn)證該模型的合理性和優(yōu)越性,實(shí)驗(yàn)結(jié)果表明本文所提方法具有良好的性能。
蝙蝠算法是由劍橋大學(xué)Xin-she Yang教授在2010年提出的一種基于蝙蝠回聲定位的新型群體智能優(yōu)化算法[1]。
蝙蝠算法的思想是基于蝙蝠回聲定位的新型群體智能優(yōu)化算法,其基本流程概括如下:
fi=fmin+(fmax-fmin)·β
(1)
(2)
(3)
式中:β是隨機(jī)變量,且β~U[0,1];X*代表目前搜索范圍內(nèi)的全局最優(yōu)位置;t表示目前的迭代次數(shù)。
(4)
步驟5計(jì)算種群內(nèi)所有蝙蝠個(gè)體的新解位置的適應(yīng)度值。
(5)
(6)
步驟7更新找到的全局最優(yōu)解,判斷是否達(dá)到尋優(yōu)終止條件;若滿足則輸出X*,若不滿足則跳轉(zhuǎn)至步驟3。
由于蝙蝠算法需要初始化確定的參數(shù)個(gè)數(shù)較多,直到現(xiàn)在還沒有人對(duì)這一領(lǐng)域做深入的研究。為了提高蝙蝠算法的尋優(yōu)能力,本文對(duì)其做如下改進(jìn),根據(jù)式(2)和式(3)可得:
(7)
(8)
由此可以更新位置公式為:
(9)
(10)
(11)
(12)
極限學(xué)習(xí)機(jī)ELM是南洋理工大學(xué)的黃廣斌教授在2004年提出的一種簡(jiǎn)單易用的單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFN)學(xué)習(xí)算法[5-6]。在極限學(xué)習(xí)機(jī)算法中需要人為設(shè)置的只有隱含層的節(jié)點(diǎn)個(gè)數(shù)這一個(gè)參數(shù),而其輸入權(quán)值和隱含層的閾值是隨機(jī)生成的[10-11],因此該算法的學(xué)習(xí)時(shí)間極短。 ELM的整體結(jié)構(gòu)如圖1所示。
圖1 ELM的網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)單隱層前饋神經(jīng)網(wǎng)絡(luò)的相關(guān)知識(shí),對(duì)于N個(gè)不同的訓(xùn)練樣本集{(Xi,Ti)|i=1,2,…,N},其中Xi=[xi1,xi2,…,xin]T∈Rn為輸入的訓(xùn)練樣本,Ti=[ti1,ti2,…,tim]T∈Rm為期望的目標(biāo)函數(shù),則含有隱含層節(jié)點(diǎn)數(shù)為L(zhǎng)的單隱層前饋神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型為:
(13)
式中:g(x)為隱含層的激活函數(shù);ai=[ai1,ai2,ain]T表示輸入權(quán)值向量;bi表示隱含層的偏置;βi=[βi1,βi2,…,βim]T表示輸出權(quán)值向量。
將式(13)寫成矩陣的形式為:
Hβ=T
(14)
式中:輸出矩陣
H(a1,a2,…,aL,b1,b2,…,bL,x1,x2,…,xN)=
隨機(jī)產(chǎn)生輸入權(quán)重ai閾值bi后,就可以根據(jù)式(14)計(jì)算得到ELM網(wǎng)絡(luò)的各個(gè)參數(shù)。由式(14)轉(zhuǎn)化即可得:
β=H+T
(15)
式中:H+表示隱含層輸出矩陣H的Moore-Penrose廣義逆矩陣[12-14]。求出輸出權(quán)重,再加上隨機(jī)產(chǎn)生的其他權(quán)重和閾值參數(shù),整個(gè)ELM網(wǎng)絡(luò)就確定了。
鑒于極限學(xué)習(xí)機(jī)和改進(jìn)的蝙蝠算法各自的優(yōu)缺點(diǎn),本文將兩種算法結(jié)合在一起,從而提出一種基于改進(jìn)蝙蝠算法優(yōu)化極限學(xué)習(xí)機(jī)(IBA-ELM)的發(fā)動(dòng)機(jī)燃油系統(tǒng)故障診斷模型。該模型的主要思想是改進(jìn)極限學(xué)習(xí)機(jī)的輸入權(quán)值和閾值隨機(jī)生成。本文利用改進(jìn)的蝙蝠算法來(lái)優(yōu)化權(quán)值和閾值的選擇過程,從而選出一組最優(yōu)的參數(shù)組合來(lái)提高極限學(xué)習(xí)機(jī)的工作性能?;诟倪M(jìn)蝙幅算法優(yōu)化極限學(xué)習(xí)機(jī)的流程如圖2所示。
圖2 基于改進(jìn)蝙幅算法優(yōu)化極限學(xué)習(xí)機(jī)流程圖
實(shí)驗(yàn)以某型號(hào)柴油機(jī)燃油系統(tǒng)為研究對(duì)象,采用傳感器來(lái)進(jìn)行故障信號(hào)的采集,以MATLAB 2010b為實(shí)驗(yàn)平臺(tái)。通過小波3層分解對(duì)原始信號(hào)進(jìn)行分解重構(gòu),最終獲得8個(gè)特征參數(shù),將其組成特征向量P=[P1,P2,P3,P4,P5,P6,P7,P8]作為診斷輸入。樣本故障類型選取柴油機(jī)燃油系統(tǒng)的6個(gè)常見故障,故障輸出以二進(jìn)制的形式表示,因此故障分類及對(duì)應(yīng)表示如表1所示。
表1 柴油機(jī)燃油系統(tǒng)的故障分類及對(duì)應(yīng)表示
實(shí)驗(yàn)選取樣本總數(shù)為900組,則6種故障每種故障分別選取150組,其中120組作為訓(xùn)練輸入樣本,剩余30組錄入為預(yù)測(cè)樣本集。
3.2.1 優(yōu)化算法性能比較
本實(shí)驗(yàn)設(shè)置了如下4種實(shí)驗(yàn)?zāi)P汀3跏蓟?種算法參數(shù):4種算法的規(guī)模數(shù)量和最大迭代次數(shù)均取100;粒子群算法的慣性權(quán)重γ、加速常數(shù)c1和c2分別取0.6、2、2;遺傳算法的參數(shù)因子代溝、交叉概率和變異概率分別取0.95、0.7、0.01;BA算法其搜索脈沖頻率設(shè)置在[0,10]范圍內(nèi),IBA算法設(shè)置在[0.5,10.5]范圍內(nèi),脈沖響度衰減系數(shù)和脈沖頻度增加系數(shù)γ分別取0.95、0.9。最終,對(duì)比實(shí)驗(yàn)可得適應(yīng)度曲線對(duì)比如圖3所示。
圖3 4種優(yōu)化算法優(yōu)化ELM適應(yīng)度曲線
由圖3的適應(yīng)度迭代曲線可得到:4種算法在優(yōu)化ELM過程中的適應(yīng)度都隨著迭代代數(shù)的增多呈現(xiàn)收斂狀態(tài),因而都能夠得到最優(yōu)權(quán)值和閾值;GA算法在46代左右趨于收斂,但實(shí)驗(yàn)發(fā)現(xiàn)GA尋優(yōu)進(jìn)化過程中后期搜索效率較低;PSO算法在33代左右趨于收斂,但尋優(yōu)結(jié)果遠(yuǎn)不如IBA算法;BA算法雖然最優(yōu)值優(yōu)于GA和PSO,但是尋優(yōu)最終結(jié)果不如IBA,且該算法優(yōu)化ELM在52代左右才收斂得到最終最優(yōu)解,迭代次數(shù)不理想;IBA在BA的基礎(chǔ)上改進(jìn)了初始數(shù)據(jù),并引進(jìn)慣性權(quán)重系數(shù)、重置最終判定條件,進(jìn)而約減適應(yīng)度較弱個(gè)體,最終達(dá)到優(yōu)化BA的效果,解決了BA迭代次數(shù)多、收斂速度慢的缺點(diǎn)。同時(shí)該方法在22代左右適應(yīng)度函數(shù)值趨于收斂取得最優(yōu),收斂速度快,且尋優(yōu)所得結(jié)果遠(yuǎn)比其他三種優(yōu)化算法所得結(jié)果優(yōu)質(zhì)。因此,使用IBA算法優(yōu)化極限學(xué)習(xí)機(jī)具有較為顯著的效果。
3.2.2 分類模型比較
為了驗(yàn)證本文提出的IBA-ELM方法的性能在燃油系統(tǒng)故障診斷更勝一籌。本實(shí)驗(yàn)將IBA-ELM診斷方法與支持向量機(jī)(SVM)、傳統(tǒng)極限學(xué)習(xí)(ELM)、蝙蝠算法優(yōu)化的極限學(xué)習(xí)機(jī)(BA-ELM)進(jìn)行比較。4種模型分別獨(dú)立運(yùn)行10次,得到4種分類結(jié)果精確度的比較如圖4所示。訓(xùn)練時(shí)間和測(cè)試時(shí)間的比較如圖5所示。
圖4 4種模型分類精確度的比較
圖5 4種模型的訓(xùn)練時(shí)間和測(cè)試時(shí)間
由圖4和圖5,可以得出表2的性能分析:SVM方法分類準(zhǔn)確率高,但訓(xùn)練模型以及測(cè)試樣本速度慢。由于在燃油系統(tǒng)診斷過程中,準(zhǔn)確率的高低和速度的快慢決定了診斷的性能,兩者缺一不可,所以本文考慮選用極限學(xué)習(xí)機(jī)。極限學(xué)習(xí)機(jī)訓(xùn)練測(cè)試時(shí)間非常快,但明顯準(zhǔn)確率不如支持向量機(jī)。因而選用蝙蝠算法優(yōu)化極限學(xué)習(xí)機(jī),得到準(zhǔn)確率明顯高于支持向量機(jī)和傳統(tǒng)極限學(xué)習(xí)機(jī),但速度還是不如傳統(tǒng)極限學(xué)習(xí)機(jī)。最后采用IBA優(yōu)化ELM,速度和準(zhǔn)確度相對(duì)于BA優(yōu)化ELM大大地提升,經(jīng)4種方法比較,其速度僅次于傳統(tǒng)ELM。實(shí)驗(yàn)表明了IBA-ELM在燃油系統(tǒng)故障診斷中不僅分類速度快,而且能有效地提高診斷的準(zhǔn)確率。
表2 4種模型性能比較
3.2.3 實(shí)際與預(yù)測(cè)值比較
為了測(cè)試IBA-ELM燃油機(jī)系統(tǒng)診斷模型的分類準(zhǔn)確率,實(shí)驗(yàn)將用于訓(xùn)練模型后剩余的180組測(cè)試樣本集輸入已形成的IBA-ELM模型進(jìn)行預(yù)測(cè),并將預(yù)測(cè)結(jié)果與實(shí)際輸出真值作比較。得到IBA-ELM模型預(yù)測(cè)結(jié)果與實(shí)際輸出真值比較如表3所示。IBA-ELM模型測(cè)試集分類圖,如圖6所示。
表3 IBA-ELM模型預(yù)測(cè)結(jié)果與實(shí)際輸出真值比較
圖6 IBA-ELM模型測(cè)試集分類圖
由表3、圖6可得,對(duì)180組預(yù)測(cè)樣本集進(jìn)行預(yù)測(cè)輸出時(shí),診斷正確組數(shù)為177組,說(shuō)明只誤判了3組,預(yù)測(cè)精度高達(dá)98.33%。綜上所述:IBA-ELM模型具有較高的預(yù)測(cè)精度,并且能夠準(zhǔn)確地預(yù)測(cè)出燃油機(jī)故障系統(tǒng)的故障類型。
本文提出一種基于改進(jìn)的蝙蝠算法優(yōu)化極限學(xué)習(xí)機(jī)的發(fā)動(dòng)機(jī)燃油系統(tǒng)故障診斷模型。通過設(shè)置適應(yīng)度對(duì)比、診斷準(zhǔn)確率比較和訓(xùn)練時(shí)間與測(cè)試時(shí)間的比較等一系列對(duì)比實(shí)驗(yàn),證明了該模型的有效性以及穩(wěn)定性。并且該模型在發(fā)動(dòng)機(jī)燃油系統(tǒng)的故障診斷中具有很好實(shí)用效果。