田 靜,胡鶴翔
(中國民航大學(xué)航空工程學(xué)院,天津 300300)
據(jù)相關(guān)資料統(tǒng)計(jì),航空發(fā)動(dòng)機(jī)氣路系統(tǒng)部件故障占發(fā)動(dòng)機(jī)故障的90%[1]。采用智能故障診斷方法可有效診斷發(fā)動(dòng)機(jī)氣路故障,提高航空發(fā)動(dòng)機(jī)的安全性,節(jié)約維修成本和維修時(shí)間。
目前,對航空發(fā)動(dòng)機(jī)氣路故障診斷的研究主要有3 種方法:基于模型的故障診斷[2],基于數(shù)據(jù)的故障診斷[3-5]和基于知識的故障診斷。由于氣路故障數(shù)據(jù)具有非線性、維數(shù)大、樣本數(shù)量少的特點(diǎn),非線性分類是一種行之有效的診斷方法。
支持向量機(jī)[6](SVM, support vertor machine)是由Vapnik 提出的針對有限樣本的機(jī)器學(xué)習(xí)算法,可有效解決非線性、高維和樣本不足的問題。最小二乘支持向量機(jī)[7](LSSVM,least square support vector machine)是對標(biāo)準(zhǔn)支持向量機(jī)的優(yōu)化,將SVM 優(yōu)化的非等式約束用等式約束替換,降低了求解的復(fù)雜性。目前SVM和LSSVM 廣泛應(yīng)用于航空發(fā)動(dòng)機(jī)部件的故障診斷,如徐啟華等[8]用SVM 模型對航空發(fā)動(dòng)機(jī)氣路部件的單一和復(fù)合故障進(jìn)行診斷,但該方法忽略了SVM 正則化參數(shù)C的隨機(jī)性;王旭輝等[9]利用模式搜索法優(yōu)化LSSVM 參數(shù),并將優(yōu)化后的模型應(yīng)用于航空發(fā)動(dòng)機(jī)氣路故障診斷,但該優(yōu)化方法限制搜索方向,容易陷入局部值;王修巖等[3]將SVM 和SNN(spiking neural network)相結(jié)合用于區(qū)分發(fā)動(dòng)機(jī)氣路故障診斷過程中的相似故障;陳揚(yáng)文[10]提出將Adaboost 與SVM 結(jié)合用于發(fā)動(dòng)機(jī)氣路單一故障的診斷,但該優(yōu)化方法不能保證最優(yōu)解且對噪聲很敏感;Du 等[11]將HPSO-TWSVM 應(yīng)用于發(fā)動(dòng)機(jī)氣路故障診斷,但該優(yōu)化方法對于小樣本問題可以找到最優(yōu)解,對于大規(guī)模問題只能找到較優(yōu)解。
雖然LSSVM 在發(fā)動(dòng)機(jī)故障診斷中應(yīng)用廣泛,但是沒有一種確定方法用來選取合適的正則化參數(shù)C和核參數(shù)g。而遺傳算法(GA,genetic algorithm)具有多個(gè)體并行比較、自適應(yīng)調(diào)整搜索方向、魯棒性高且易于與其他算法結(jié)合的尋優(yōu)特點(diǎn)。因此采取遺傳算法優(yōu)化LSSVM 參數(shù),并用優(yōu)化的LSSVM 模型對發(fā)動(dòng)機(jī)氣路故障進(jìn)行診斷,最后從診斷精度、計(jì)算時(shí)間、抗噪能力3 個(gè)方面與SVM、LSSVM 和GA-SVM 進(jìn)行比較,驗(yàn)證GA-LSSVM 在氣路故障診斷中的有效性。
SVM 算法通過核函數(shù)將需要輸入的向量映射到一個(gè)高維特征空間,其次選擇分類核函數(shù),最后在新的高維特征空間中構(gòu)造最優(yōu)分類面。假定訓(xùn)練集為{(x1,y1),…,(xm,ym)},m 表示樣本總數(shù),xi∈Rn表示第i個(gè)樣本輸入,yi為樣本輸出,SVM 算法原理如圖1 所示。
圖1 SVM 算法原理圖Fig.1 Schematic diagram of SVM algorithm
LSSVM 在SVM 的基礎(chǔ)上進(jìn)行了延伸和優(yōu)化,其損失函數(shù)采取最小二乘線性函數(shù),將SVM 優(yōu)化問題中的非等式約束用等式約束替換,等式約束形式如式(1)所示,該替換極大方便了Lagrange 乘子的求解,進(jìn)而提高了模型分類的準(zhǔn)確度。
式中:W 為分類超平面法向量;b 為超平面偏移量。
LSSVM 模型主要通過分類函數(shù)建立最優(yōu)分類平面,從而對數(shù)據(jù)進(jìn)行分類,即
式中:αi為對應(yīng)于xi的Lagrange 乘子;k(x,xi)為核函數(shù)。
LSSVM 建模過程中正則化參數(shù)C 及核參數(shù)g 的選擇極其重要,但標(biāo)準(zhǔn)LSSVM 算法中C 和g 的隨機(jī)選取可能會(huì)造成算法的過擬合或欠擬合,影響診斷精度。遺傳算法具有全局優(yōu)化功能,故選擇遺傳算法[12]對C和g 進(jìn)行尋優(yōu),以找到LSSVM 的最佳參數(shù)。
1)參數(shù)初始化
采用二進(jìn)制對參數(shù)C 和g 進(jìn)行編碼,其中C∈[0,1 000],g∈[0,100]。
2)適應(yīng)度函數(shù)
遺傳算法對一個(gè)解的評價(jià)取決于適應(yīng)度值,適應(yīng)度函數(shù)的選取直接影響遺傳算法的收斂速度和尋優(yōu)效果。為找到最優(yōu)的(C,g)解,選取LSSVM 3 折交叉驗(yàn)證下的準(zhǔn)確率作為適應(yīng)度函數(shù)的值。當(dāng)種群適應(yīng)度值大于98%時(shí),則跳出循環(huán);否則對該種群進(jìn)行選擇、交叉和變異以產(chǎn)生新的群體。
3)選擇、交叉和變異
計(jì)算種群個(gè)體的適應(yīng)度值,適應(yīng)度高的值留下,剩下的染色體采用精英錦標(biāo)賽策略進(jìn)行選擇;采用兩點(diǎn)交叉算子和二進(jìn)制變異算子,連續(xù)迭代N 次,可得到適應(yīng)度最高的個(gè)體,找到最優(yōu)參數(shù)C 和g。
GA-LSSVM 算法流程如圖2 所示。
圖2 GA-LSSVM 算法流程圖Fig.2 Flowchart of GA-LSSVM algorithm
實(shí)驗(yàn)所用數(shù)據(jù)為文獻(xiàn)[13]中單一部件故障測量數(shù)據(jù),為選定工作參考點(diǎn)的相對偏差量(百分比)。5 種故障形式如表1 所示。
表1 故障類型與標(biāo)簽Tab.1 Fault type and label
采用30 個(gè)發(fā)動(dòng)機(jī)正常狀態(tài)下的數(shù)據(jù)樣本,部分?jǐn)?shù)據(jù)如表2 所示。發(fā)動(dòng)機(jī)氣路單一部件故障數(shù)據(jù)共40組,每一類部件故障數(shù)據(jù)有10 組,部分?jǐn)?shù)據(jù)如表3所示。
表2 正常樣本Tab.2 Normal samples
表3 故障樣本Tab.3 Fault samples
1)核函數(shù)
LSSVM 的核函數(shù)為只依賴于輸入和樣本內(nèi)積的一種映射,這種內(nèi)積計(jì)算使得LSSVM 可以利用核函數(shù)解決線性不可分的情況,而核函數(shù)的選取直接影響分類結(jié)果。采用不同的核函數(shù)對測試樣本進(jìn)行訓(xùn)練,結(jié)果如圖3 所示,可知核函數(shù)為rbf 時(shí),分類準(zhǔn)確率高于其他核函數(shù),故LSSVM 模型均采用rbf 作為核函數(shù)。
圖3 核函數(shù)對算法準(zhǔn)確率的影響Fig.3 Influence of kernel function on algorithm accuracy
2)參數(shù)C 和g
正則化參數(shù)C 表示模型對誤差的寬容度,C 越大,說明越不能容忍出現(xiàn)誤差,容易過擬合;C 越小,則越容易欠擬合。C 過大或過小,泛化能力變差。以收集到的數(shù)據(jù)為例,驗(yàn)證C 和g 對LSSVM 算法精度的影響,試驗(yàn)結(jié)果如圖4~圖6 所示。可以看出:在核函數(shù)為rbf 的情況下,合理選擇C 和g 是提高LSSVM 算法精度的關(guān)鍵,對算法訓(xùn)練耗時(shí)也有影響。
圖4 C 和g 對訓(xùn)練集準(zhǔn)確率的影響Fig.4 Influence of C and g on training set accuracy
圖5 C 和g 對測試集準(zhǔn)確率的影響Fig.5 Influence of C and g on test set accuracy
圖6 C 和g 對SVM 模型訓(xùn)練耗時(shí)的影響Fig.6 Influence of C and g on training time of LSSVM model
利用遺傳算法優(yōu)化的LSSVM 對測試樣本進(jìn)行診斷,設(shè)置種群數(shù)量N=20,迭代次數(shù)T=100,染色體長度L=20,隨著迭代次數(shù)的增加,自動(dòng)算出模型的最優(yōu)參數(shù)C 和g。圖7 展示了隨著迭代的不斷進(jìn)行,適應(yīng)度的提升過程??梢奊A-LSSVM 的適應(yīng)度值高于GASVM 且最后穩(wěn)定在95.23%,此時(shí)C=3.575,g=0.841。之后將優(yōu)化得到的最優(yōu)參數(shù)輸入LSSVM 模型中,輸入測試數(shù)據(jù)集(樣本比例為3 ∶2)診斷結(jié)果如圖8所示。
圖7 GA-LSSVM 和GA-SVM 適應(yīng)度曲線Fig.7 Fitness curve of GA-LSSVM and GA-SVM
圖8 診斷結(jié)果Fig.8 Diagnosis result
為驗(yàn)證GA-LSSVM 算法的有效性,從診斷精度、抗噪能力和訓(xùn)練耗時(shí)3 方面與SVM、LSSVM 和GA-SVM進(jìn)行比較,結(jié)果如表4 所示。
表4 實(shí)驗(yàn)結(jié)果的比較Tab.4 Comparison of experimental results
GA-LSSVM 的診斷精度達(dá)到95.23%,高于其他3種算法??乖肽芰Ψ矫妫瑢?shí)際工況下,從傳感器收集到的發(fā)動(dòng)機(jī)樣本數(shù)據(jù)經(jīng)常受到環(huán)境因素、機(jī)器因素等的影響,抗噪效果并不理想,因此為樣本添加不同程度的高斯白噪聲(即1%、2%、3%、4%、5%)以模擬真實(shí)數(shù)據(jù)。隨著噪聲程度的增加,各算法的診斷精度均有明顯下降,但GA-LSSVM 和GA-SVM 的下降速度較慢,且GA-LSSVM 的診斷精度保持在80%以上,抗噪能力優(yōu)于GA-SVM。訓(xùn)練耗時(shí)方面,影響訓(xùn)練耗時(shí)的因素有算法結(jié)構(gòu)、迭代次數(shù),此外,也與計(jì)算機(jī)性能有關(guān)。在迭代次數(shù)為100 的情況下,GA-LSSVM 和GA-SVM 的訓(xùn)練時(shí)間比較長,這是因?yàn)橐獙ふ易顑?yōu)參數(shù)C 和g,而尋優(yōu)過程需要計(jì)算種群適應(yīng)度,反復(fù)執(zhí)行多次,導(dǎo)致訓(xùn)練時(shí)間過長。但對于航空發(fā)動(dòng)機(jī)氣路故障診斷而言,能夠得到較高的診斷率,訓(xùn)練耗時(shí)稍長也是能接受的。
通過GA 尋優(yōu)得到C 和g 的最優(yōu)值,可使LSSVM診斷精度達(dá)到95.23%。將GA-LSSVM 算法應(yīng)用于發(fā)動(dòng)機(jī)氣路故障診斷,結(jié)果表明,添加不同程度高斯白噪聲后,算法的診斷精度均有所下降,但GA-LSSVM 算法的診斷精度下降速度較慢,且保持在80%以上。在訓(xùn)練時(shí)間方面,GA-LSSVM 算法由于算法結(jié)構(gòu)、尋優(yōu)迭代次數(shù)和計(jì)算機(jī)性能的影響,其訓(xùn)練時(shí)間比較長。