范庚 漢田 馬羚
(海軍航空大學(xué)青島校區(qū) 青島 266000)
導(dǎo)彈發(fā)控電路是機(jī)載導(dǎo)彈發(fā)控系統(tǒng)的重要組成部分。導(dǎo)彈發(fā)控電路是一個(gè)復(fù)雜的數(shù)?;旌想娐罚收夏J綇?fù)雜,故障診斷困難。據(jù)統(tǒng)計(jì),對(duì)于復(fù)雜的數(shù)?;旌想娐罚?jí)故障中有超過(guò)80%的故障出現(xiàn)于模擬電路[1]。由于模擬電路具有復(fù)雜的輸入-輸出關(guān)系,電路中的非線性元件多,元件參數(shù)與電路響應(yīng)大多表現(xiàn)為非線性映射關(guān)系,因此工程應(yīng)用中難以精確描述電路響應(yīng)的數(shù)學(xué)模型,基于模型的方法無(wú)法適用。文獻(xiàn)[2]構(gòu)建了BP神經(jīng)網(wǎng)絡(luò)模型用以實(shí)現(xiàn)某型空空導(dǎo)彈發(fā)控電路故障診斷。為提高故障診斷模型的預(yù)測(cè)精度和加快網(wǎng)絡(luò)訓(xùn)練的收斂速度,文獻(xiàn)[3]選取廣義回歸神經(jīng)網(wǎng)絡(luò)建立了模擬電路故障診斷模型。文獻(xiàn)[4]建立了小波RBF神經(jīng)網(wǎng)絡(luò)故障診斷模型,取得了較好的模擬電路故障診斷效果。但神經(jīng)網(wǎng)絡(luò)本質(zhì)上屬于傳統(tǒng)統(tǒng)計(jì)學(xué)范疇,其基礎(chǔ)來(lái)源于漸進(jìn)理論,即在具有無(wú)窮多的學(xué)習(xí)樣本數(shù)目的理想條件下,才可在理論上保證模型的性能;同時(shí),神經(jīng)網(wǎng)絡(luò)還具有較慢的收斂速度,易陷入局部極值,且隱層數(shù)、隱節(jié)點(diǎn)數(shù)等網(wǎng)絡(luò)結(jié)構(gòu)難以確定。
相關(guān)向量機(jī)[5](Relevance Vector Machine,RVM)是一種基于稀疏貝葉斯理論的統(tǒng)計(jì)學(xué)習(xí)方法,由美國(guó)學(xué)者Tipping提出,具有參數(shù)設(shè)置簡(jiǎn)單、概率式輸出等優(yōu)點(diǎn)[6]。但傳統(tǒng)的RVM只能解決二分類問(wèn)題,在解決多類故障診斷問(wèn)題時(shí),一般先通過(guò)“一對(duì)多”法[7]、“一對(duì)一”法[8]或二叉樹(shù)法[9~10]將多類故障診斷問(wèn)題轉(zhuǎn)化為多個(gè)二類故障診斷問(wèn)題,再構(gòu)造RVM二類分類器,最終獲得診斷結(jié)果,但存在診斷速度和診斷精度下降、決策樹(shù)結(jié)構(gòu)難以確定等問(wèn)題[11]。Psorakis等[12]用 Multinomial probit函數(shù)替代了傳統(tǒng)RVM的Logistic sigmoid函數(shù),從而把單個(gè)模型的二分類故障診斷問(wèn)題擴(kuò)展到多分類故障診斷問(wèn)題,基于傳統(tǒng)RVM提出了直接多分類相關(guān)向量機(jī)(Multiclass Relevance Vector Machine,mRVM),并且能夠給出分類結(jié)果的后驗(yàn)概率。
本文針對(duì)導(dǎo)彈發(fā)控電路的故障診斷問(wèn)題,提出了一種基于mRVM的方法。首先,建立mRVM模型反映故障特征和故障模式的非線性關(guān)系;然后,以交叉驗(yàn)證誤差最小為目標(biāo)函數(shù),采用人工魚(yú)群優(yōu)化算法自適應(yīng)選擇模型參數(shù);最后,通過(guò)仿真實(shí)例對(duì)方法的性能加以驗(yàn)證。
式(1)表示新樣本屬于類別i的概率值,通過(guò)更新迭代搜尋最大概率就可確定新樣本所屬的類別
根據(jù)貝葉斯框架,為保持模型稀疏,假定權(quán)重參數(shù)W 中的元素wc服從0均值正態(tài)分布,即。其中超參數(shù)αcn為尺度矩陣A∈RC×N中的元素,并假定其服從超參數(shù)為γ、ν的伽馬分布。當(dāng)γ、ν取較小值時(shí),權(quán)重參數(shù)W 經(jīng)過(guò)訓(xùn)練后被約束在零值附近,W只有極少數(shù)非零的相關(guān)向量(Relevance Vectors,RV),由此即可獲得稀疏模型。
釆用多層貝葉斯結(jié)構(gòu)的RVM模型如圖1所示,其中W是訓(xùn)練模型待求解的變量,A、Y是求解過(guò)程的中間變量?;谝氲妮o助變量Y,本文在求解參數(shù)過(guò)程中采用期望最大化(Expectation Maximization,EM)算法。
圖1 mRVM模型結(jié)構(gòu)示意圖
mRVM的模型訓(xùn)練是二型最大似然過(guò)程,其樣本訓(xùn)練過(guò)程中不斷更新迭代待求參數(shù)的數(shù)值。根據(jù)每一步迭代更新得到的A值,通過(guò)EM算法獲得參數(shù)W 、Y的更新值,其中用M步估計(jì)W ,E步估計(jì)Y。
其中,C=I+KA-1KT,C∈RN×N。對(duì)C 分解可表示
其中,C-i為C隔離樣本i的值,αi為樣本i對(duì)應(yīng)的超參數(shù),ki為樣本i對(duì)應(yīng)的核函數(shù)序列。
根據(jù)式(4)和(5)可將式(3)進(jìn)一步表示:
i型已存在特征樣本的相似度;,為質(zhì)量因子,反映了樣本ki描述類別的能力。接著求解L(A) 關(guān)于 αi的偏微分,使 ?L(A)/?αi=0 ,得到駐點(diǎn):
若θi>0,表明樣本i對(duì)模型分類有貢獻(xiàn),則根據(jù)式(7)更新 αi;
若θi<0,表明樣本i為冗余樣本,則設(shè)置超參數(shù)αi=∞,將其從樣本空間剔除。
訓(xùn)練開(kāi)始隨機(jī)選擇一個(gè)樣本作為初始樣本,將si、qci帶入式(7),并假定 C=I,可得到超參數(shù) αi的初始值為
依照上述方法對(duì)尺度矩陣A更新后得到A*,A*∈RM×M,其中符號(hào)*表示樣本訓(xùn)練過(guò)程中當(dāng)前樣本數(shù)為M時(shí)的參數(shù)(M?N)。接著采用EM算法更新權(quán)重參數(shù)W的最大后驗(yàn)估計(jì)值:
其中,K*∈RM×N,為E步中隱變量Y期望的估計(jì)值。
最后根據(jù)M步W的估計(jì)值,給出E步中輔助變量Y的期望的更新值。輔助變量Y為C×N維錐形截?cái)喔咚狗植迹趇類樣本的輔助變量 yin期望的估計(jì)值 y?in由式(10)更新,同時(shí)輔助變量 ycn期望的估計(jì)值 y?cn由式(11)更新:
基于mRVM的訓(xùn)練過(guò)程即為參數(shù)W、A、Y的更新迭代過(guò)程。當(dāng)所有滿足θi>0的樣本均包含在樣本空間,所有θi<0的樣本均剔除樣本空間,且相鄰兩步迭代中尺度矩陣A的取值滿足(ε通常取10-12),則判定模型收斂,迭代結(jié)束。
綜上所述,mRVM的迭代流程如下。
步驟1根據(jù)目標(biāo)值t初始化輔助變量Y,令所有樣本的超參數(shù)初始值均為αi=∞,再隨機(jī)選擇一個(gè)樣本i并根據(jù)式(8)為其超參數(shù)αi賦初始值;
步驟2若尚未滿足收斂條件,則執(zhí)行迭代過(guò)程。首先,更新尺度矩陣參數(shù) A*,計(jì)算樣本的θi和 αi:
1)若 θi>0 且 αi<∞ ,則根據(jù)式(7)更新 αi,保留特征樣本;
2)若 θi>0且 αi=∞ ,則根據(jù)式(7)設(shè)置 αi,添加特征樣本;
3)若 θi≤0且 αi<∞ ,則令 αi=∞ ,提出特征樣本。
步驟3M 步:根據(jù)式(9)更新W?*;
步驟4E 步:根據(jù)式(10)、(11)更新Y?;
步驟5比較所有特征樣本和非特征樣本的θi參數(shù)值,確定下一個(gè)樣本,重復(fù)步驟2~步驟4,當(dāng)滿足收斂條件時(shí),訓(xùn)練結(jié)束。
選擇Gauss核函數(shù)作為模型核函數(shù)
其中為γ核參數(shù)。
核參數(shù)對(duì)模型性能有較大影響,隨機(jī)設(shè)置可能會(huì)產(chǎn)生較大的診斷誤差。
留一交叉驗(yàn)證的基本原理為假設(shè)當(dāng)前訓(xùn)練樣本集由N個(gè)樣本組成,每次訓(xùn)練過(guò)程任選一個(gè)樣本作為測(cè)試集,其他N-1個(gè)樣本用于訓(xùn)練并測(cè)試模型。依次選取不同樣本作為測(cè)試集,重復(fù)N次訓(xùn)練過(guò)程,最終獲得每個(gè)樣本作為測(cè)試集的測(cè)試誤差,則定義留一交叉驗(yàn)證誤差為所有測(cè)試誤差的平均值。顯然,mRVM模型的泛化能力可由留一交叉驗(yàn)證誤差的大小直接反映。為避免窮舉法導(dǎo)致計(jì)算時(shí)間過(guò)長(zhǎng)問(wèn)題并實(shí)現(xiàn)模型參數(shù)選擇的自適應(yīng)優(yōu)化,本文采用魚(yú)群算法[9]設(shè)置核參數(shù)。魚(yú)群算法能夠有效避免優(yōu)化結(jié)果陷入局部極值,而最終得到全局最優(yōu)解,并同時(shí)兼顧較快的收斂速度。具體實(shí)現(xiàn)過(guò)程如下。
步驟1初始化魚(yú)群:假設(shè)初始狀態(tài)的迭代次數(shù)g=1,魚(yú)群大小為H,每條人工魚(yú)的初始位置pi在核函數(shù)γ的取值范圍內(nèi)隨機(jī)生成,i=1,2,…,H,最大迭代次數(shù)為Nmax。同時(shí)設(shè)定人工魚(yú)單步移動(dòng)的最大步長(zhǎng)為λ,感知距離為V,擁擠度因子為δ,每條人工魚(yú)最多可實(shí)施覓食行為Ntry次。
步驟2覓食行為:食物濃度函數(shù)設(shè)定為留一交叉驗(yàn)證誤差的目標(biāo)函數(shù)。已知當(dāng)前人工魚(yú)處于pi的位置,對(duì)應(yīng)的食物濃度為ci,在人工魚(yú)的感知距離內(nèi)任意選擇一個(gè)位置pj,所對(duì)應(yīng)的食物濃度為cj。如果食物濃度滿足ci<cj,則人工魚(yú)向位置pj方向移動(dòng)一步,實(shí)施覓食行為;否則,重新選取一個(gè)位置pj,再次判斷食物濃度關(guān)系是否達(dá)到移動(dòng)條件,若條件仍舊無(wú)法滿足則再次選取新的位置,當(dāng)覓食行為次數(shù)達(dá)到上限Ntry時(shí)停止移動(dòng)。如果此時(shí)移動(dòng)條件仍無(wú)法得到滿足,那么可執(zhí)行隨機(jī)操作,即在人工魚(yú)的感知距離V內(nèi)向任意方向移動(dòng)一步。
步驟3聚群行為:假設(shè)當(dāng)前人工魚(yú)位于pi的位置,所對(duì)應(yīng)的食物濃度為ci。在人工魚(yú)的感知距離內(nèi)發(fā)現(xiàn)數(shù)量為nf的人工魚(yú)群,經(jīng)探測(cè)可得到魚(yú)群的中心位置為pc,所對(duì)應(yīng)的食物濃度為cc。計(jì)算中心位置的平均食物濃度,若滿足ccnf>δci,表明中心位置的擁擠度較低且食物較多,人工魚(yú)則可向中心位置pc方向移動(dòng)一步;否則執(zhí)行覓食行為。
步驟4追尾行為:假設(shè)人工魚(yú)當(dāng)前位于pi的位置,對(duì)應(yīng)的食物濃度為ci。在人工魚(yú)的感知距離內(nèi)搜索到最大食物濃度為cmax,對(duì)應(yīng)的位置為pmax。設(shè)在感知距離內(nèi)以pmax為中心可搜索到人工魚(yú)數(shù)目為nf,如果位置pmax處的平均食物濃度滿足關(guān)系,表明該位置擁擠度較低且食物較多,人工魚(yú)則可向pmax方向移動(dòng)一步;否則返回執(zhí)行步驟2。
仿真環(huán)境:Intel Core i5-7500 CPU,8GB DDR內(nèi)存,Windows 7操作系統(tǒng),實(shí)驗(yàn)中所涉及算法均采用MATLAB軟件編程并調(diào)試運(yùn)行。運(yùn)用PSpice中的OrCAD Capture模塊搭建某型空空導(dǎo)彈的部分發(fā)控電路,電路原理如圖2所示。
圖2 仿真電路圖
運(yùn)用PSpice軟件中的probe模塊的偏壓點(diǎn)分析仿真電路,獲取設(shè)置測(cè)點(diǎn)的電壓數(shù)據(jù),見(jiàn)表1。表中A0~A4分別代表電路正常、“載機(jī)供電”功能電路故障、“發(fā)射允許”功能電路故障、“正常發(fā)射”功能電路故障和“導(dǎo)彈供電”功能電路故障;t1~t5分別代表1~5點(diǎn)的測(cè)試電壓值。
表1 故障樣本數(shù)據(jù)
對(duì)四個(gè)功能電路故障模式及正常模式進(jìn)行故障類別編碼,見(jiàn)表2。
表2 功能電路故障編碼
從表1中選擇4組樣本作為測(cè)試樣本,如表3所示,剩下的15組樣本作為訓(xùn)練樣本。
表3 測(cè)試樣本數(shù)據(jù)
模型優(yōu)化過(guò)程中設(shè)置參數(shù)為人工魚(yú)數(shù)目設(shè)為10,單步移動(dòng)的最大步長(zhǎng)為0.01,最大迭代次數(shù)為10,人工魚(yú)可嘗試覓食行為的最大次數(shù)為10,感知距離為1,并設(shè)擁擠度因子為0.618,核參數(shù)的取值區(qū)間為[0.001,100]。
圖3所示為本文所提方法的參數(shù)自適應(yīng)優(yōu)化迭代過(guò)程。由迭代結(jié)果表明:只需1次迭代即可得到優(yōu)化的模型參數(shù),充分驗(yàn)證了該方法的收斂性能指標(biāo)能夠達(dá)到預(yù)期結(jié)果。參數(shù)優(yōu)化結(jié)果為γ=13.988。
圖3 參數(shù)自適應(yīng)優(yōu)化迭代過(guò)程
將本文方法(mRVM)與文獻(xiàn)[2]的方法(BPNN)進(jìn)行對(duì)比,仿真結(jié)果如表4所示。
表4 仿真結(jié)果
從仿真結(jié)果可以看出,本文方法診斷精度為100%,對(duì)測(cè)試樣本均實(shí)現(xiàn)了正確識(shí)別;在訓(xùn)練速度和診斷速度方面優(yōu)于文獻(xiàn)[2]的方法。
本文針對(duì)導(dǎo)彈發(fā)控電路的多類故障診斷問(wèn)題,提出一種基于mRVM的方法。首先,建立mRVM模型反映故障特征和故障模式的非線性關(guān)系;然后,以交叉驗(yàn)證誤差最小為目標(biāo)函數(shù),采用魚(yú)群算法自適應(yīng)選擇模型參數(shù);最后,通過(guò)仿真實(shí)例驗(yàn)證了方法的有效性。仿真結(jié)果表明:該方法在保證診斷精度和診斷速度的同時(shí),避免了BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)難以確定、需要大樣本訓(xùn)練數(shù)據(jù)和容易陷入局部極值問(wèn)題,具有較高的工程實(shí)用價(jià)值。