劉丙杰,冀海燕,楊繼鋒
(海軍潛艇學(xué)院,山東青島 266071)
基于支持向量機集成的導(dǎo)彈發(fā)動機壓力預(yù)測
劉丙杰,冀海燕,楊繼鋒
(海軍潛艇學(xué)院,山東青島 266071)
針對導(dǎo)彈發(fā)動機壓力下降難以預(yù)測的問題,根據(jù)某型導(dǎo)彈發(fā)動機壓力實測數(shù)據(jù),首先將實測數(shù)據(jù)進行插值處理,然后利用前5組數(shù)據(jù)為輸入數(shù)據(jù),后一組數(shù)據(jù)為預(yù)測數(shù)據(jù),采用支持向量機集成方法對導(dǎo)彈發(fā)動機壓力進行模型辨識,實現(xiàn)導(dǎo)彈發(fā)動機壓力預(yù)測。通過對3組發(fā)動機壓力實測數(shù)據(jù)進行仿真分析,發(fā)現(xiàn)支持向量機集成預(yù)測誤差最大為0.102%,滿足導(dǎo)彈發(fā)動機壓力預(yù)測要求,對導(dǎo)彈發(fā)動機壓力預(yù)防性維修具有重要作用。
支持向量機集成;導(dǎo)彈發(fā)動機;壓力;預(yù)測
發(fā)動機是導(dǎo)彈的動力裝置,其作用是產(chǎn)生足夠的推力、續(xù)航力和調(diào)姿力矩,使導(dǎo)彈加速、持續(xù)、穩(wěn)定向目標飛行。如果不能及時獲知發(fā)動機壓力,或發(fā)動機壓力已經(jīng)不滿足要求才對其進行維護,可能影響導(dǎo)彈的順利發(fā)射。
導(dǎo)彈發(fā)動機壓力是衡量發(fā)動機狀態(tài)的重要參數(shù)。導(dǎo)彈發(fā)動機壓力影響因素有很多,包括密封性、振動、貯存時間等,但是難以建立精確的發(fā)動機壓力解析模型,所以很難用解析的方法進行預(yù)測。
有關(guān)導(dǎo)彈發(fā)動機壓力預(yù)測的公開文獻比較少,文中在發(fā)動機壓力實測數(shù)據(jù)的基礎(chǔ)上,利用支持向量回歸機對其進行模型辨識,從而實現(xiàn)導(dǎo)彈發(fā)動機壓力預(yù)測。
發(fā)動機的密封性是衡量發(fā)動機性能的重要指標,一旦發(fā)動機密封性不滿足要求,就可能引起發(fā)動機性能下降甚至故障。發(fā)動機壓力是衡量發(fā)動機密封性的重要參數(shù)。導(dǎo)彈發(fā)動機壓力測試原理如圖1所示[1]。
圖1 導(dǎo)彈壓力測試原理圖
開始測試時,地面和彈上系統(tǒng)按要求供電。然后,由地面測控計算機通過串行總線向彈上計算機發(fā)開始測試命令字,計算機接到命令字后,進入數(shù)字壓力傳感器電路測試模塊,彈上計算機機采樣彈上導(dǎo)彈發(fā)動機壓力傳感器的輸出信號。
待所有傳感器采樣完畢后彈上計算機將壓力傳感器采樣值通過串行總線下傳至地面計算機,地面計算機計算每一個采樣值的累加和的平均值,并在顯示器上顯示測試結(jié)果,該值即為所測壓力傳感器的測試值。
目前,導(dǎo)彈發(fā)動機壓力測試僅對當前值進行判斷,如果在合格范圍內(nèi),則給出合格結(jié)果;反之給出超差結(jié)果。如果發(fā)生超差后,再進行維修、補氣,則很有可能影響導(dǎo)彈武器系統(tǒng)的作戰(zhàn)準備時間,進而帶來嚴重的后果。而導(dǎo)彈發(fā)動機如果有氣密不良故障,在導(dǎo)彈發(fā)動機的壓力測試歷史數(shù)據(jù)中,一定會有蛛絲馬跡,或者存在某些內(nèi)在規(guī)律可以預(yù)先判斷發(fā)動機氣密不良,進而提前采取措施,提高武器系統(tǒng)的戰(zhàn)備完好性。
導(dǎo)彈發(fā)動機壓力預(yù)測屬于機器學(xué)習(xí)或模型辨識領(lǐng)域的研究內(nèi)容。而要想獲得較高的預(yù)測精度,就必須要有較高泛化能力的預(yù)測方法。
目前,機器學(xué)習(xí)預(yù)測方法有很多,如神經(jīng)網(wǎng)絡(luò)、支持向量機、貝葉斯證據(jù)推理、灰色理論、多核學(xué)習(xí)等。這些方法各有特點,在眾多文獻中都有描述[2-4],文中不再贅述。針對導(dǎo)彈發(fā)動機測試數(shù)據(jù)量少、預(yù)測精度要求高的特點,筆者認為支持向量集成學(xué)習(xí)方法是最適合的方法之一。
支持向量機(support vector machine,SVM)是在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來的一種新的機器學(xué)習(xí)方法,是目前泛化能力最強的技術(shù)之一[5],也是對小樣本數(shù)據(jù)進行預(yù)測的有效方法之一。而集成學(xué)習(xí)也是一種有效增強泛化能力的學(xué)習(xí)策略,目前已有神經(jīng)網(wǎng)絡(luò)集成等方法,將SVM與集成結(jié)合起來形成SVM集成(ensemble of SVM,ESVM)就成了一個提高泛化能力的自然想法。
文中就采用ESVM實現(xiàn)導(dǎo)彈發(fā)動機的壓力預(yù)測,ESVM的基本思路如下。
所謂ESVM就是利用有限個SVM個體對同一個問題進行學(xué)習(xí),預(yù)測的結(jié)果由所有SVM個體共同決定。要設(shè)計一個ESVM算法,需要解決兩個問題:如何生成個體SVM及如何集成。
2.1 基于聚類的個體SVM生成方法
由文獻[5]可知,個體差異性是影響算法泛化能力的重要因素,而訓(xùn)練樣本是影響個體SVM差異性的最主要因素。文中采用文獻[6]提出的基于聚類的個體生成方法,實現(xiàn)個體SVM訓(xùn)練樣本的生成。
聚類就是將集合分組成相似對象組成的多個類的過程,使得同一類中對象間的相似度最大化,不同類中的對象間的相似度最小化。
文中利用FCM(fuzzy C-means)對樣本分類。假設(shè)待分類的樣本集合為X={(x1,d1),(x2,d2),…,(xn,dn)},其中xh表示聚類輸入,且xh={xh1,xh2,…,xhk},0 ①數(shù)據(jù)歸一化 文中采用極差標準化: (1) (2) (3) ②模糊相似矩陣 (4) (5) 式中:dij=dji,dii=1。 ③D′的形成 2.2 ESVM集成方法 文中采用文獻[6]所提出的自適應(yīng)集成(adaptiveNNE,ANNE)算法。其主要思想是首先將樣本分類,不同的個體學(xué)習(xí)不同類的樣本,根據(jù)預(yù)測數(shù)據(jù)與個體學(xué)習(xí)數(shù)據(jù)間的相似度自適應(yīng)調(diào)整集成權(quán)值。 假設(shè)訓(xùn)練樣本被聚類為p類,分別為X1,X2,…,Xp,每一類樣本中心為c1,c2,…,cp,cj(1 (7) 集成權(quán)值為: (8) 假設(shè)SVMj的輸出為Vj,則集成結(jié)果為: (9) 算法的步驟如下: Step1:樣本聚類; Step2:個體SVM學(xué)習(xí); Step3:確定集成權(quán)值; Step4:集成結(jié)果。 假設(shè)導(dǎo)彈發(fā)動機壓力測試歷史數(shù)據(jù)為: X={x1,x2,…,xn} (3) 采用ESVM預(yù)測下一時刻發(fā)動機壓力為: y=f(Xn-m,n) (4) 其中:Xn-m,n={xn-m,xn-m+1,…,xn};m表示預(yù)測所需的歷史數(shù)據(jù)數(shù)量,文中m=5;f(Xn-m,n)為預(yù)測模型。預(yù)測步驟如下: Step1:對原始時間序列數(shù)據(jù)進行預(yù)處理,并分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。 Step2:采用預(yù)測模型進行數(shù)據(jù)擬合。 Step3:模型檢驗。利用測試數(shù)據(jù)對各模型預(yù)測誤差進行檢驗。 Step4:利用最優(yōu)預(yù)測模型對發(fā)動機壓力時間序列數(shù)據(jù)進行預(yù)測。 文中對某型導(dǎo)彈發(fā)動機壓力進行預(yù)測、采集。采集原始數(shù)據(jù)如表1所示。 表1 某型導(dǎo)彈發(fā)動機壓力傳感器測試數(shù)據(jù) 上述測試數(shù)據(jù)時間間隔不一致,采用線性擬合的方法將上述數(shù)據(jù)進行處理,使得測試數(shù)據(jù)時間間隔一致,處理后的數(shù)據(jù)如表2所示。 表2 處理后的實測數(shù)據(jù) 根據(jù)上述測試數(shù)據(jù),生成如表3~表5所示的訓(xùn)練樣本,其中輸入樣本為5列,輸出樣本為1列,表示用前5次測試數(shù)據(jù)預(yù)測下一次測試數(shù)據(jù)。 表3 發(fā)動機1訓(xùn)練樣本 表4 發(fā)動機2訓(xùn)練樣本 表5 發(fā)動機3訓(xùn)練樣本 注:其中斜體數(shù)據(jù)代表測試數(shù)據(jù)。 支持向量回歸機采用Sigmoid核函數(shù),懲罰系數(shù)C=1 000,ESVM規(guī)模為6。利用ESVM對上述數(shù)據(jù)進行預(yù)測,訓(xùn)練誤差及預(yù)測誤差如表6所示。 表6 發(fā)動機壓力預(yù)測誤差 從預(yù)測結(jié)果看,3個發(fā)動機的壓力預(yù)測誤差均比較小,滿足預(yù)防性維修的要求,預(yù)測時間間隔為5 d。 文中采用ESVM對導(dǎo)彈發(fā)動機壓力進行了預(yù)測,從仿真結(jié)果看,ESVM的預(yù)測精度都令人滿意,對于提高導(dǎo)彈發(fā)動機的戰(zhàn)備完好性具有重要作用。但是,文中僅采用了ESVM一種方法進行預(yù)測,并沒有與其他方法相比,也許有更合適的預(yù)測方法。另一方面,由于ESVM的集成規(guī)模也是影響其泛化能力的因素之一,文中沒有考慮此因素,這也是下一步的研究方向。 [1] 徐克俊. 航天發(fā)射故障診斷技術(shù) [M]. 北京: 國防工業(yè)出版社, 2007: 35. [2] 何清, 李寧, 羅文娟, 等. 大數(shù)據(jù)下的機器學(xué)習(xí)算法綜述 [J]. 模式識別與人工智能, 2014, 27(4): 327-336. [3] 余凱, 賈磊, 陳雨強. 深度學(xué)習(xí)的昨天、今天和明天 [J]. 計算機研究與發(fā)展, 2013, 50(9): 1799-1804. [4] 陳康, 向勇, 喻超. 大數(shù)據(jù)時代機器學(xué)習(xí)的新趨勢 [J]. 電信科學(xué), 2012, 12(4): 88-95. [5] 王曉丹, 高曉峰, 姚旭, 等. SVM集成研究與應(yīng)用 [J]. 空軍工程大學(xué)學(xué)報, 2012, 12(2): 84-89. [6] 劉愛華, 劉丙杰, 冀海燕, 等. 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)集成的電子設(shè)備故障預(yù)測方法 [J]. 解放軍理工大學(xué)學(xué)報, 2013, 14(5): 565-568. Prediction of Engine Pressure of Missile Based on Support Vector Machine Ensemble LIU Bingjie,JI Haiyan,YANG Jifeng (Navy Submarine Academy, Shandong Qingdao 266071, China) Since it was difficult to predict the pressure drop of missile engine, according to the measured data of engine pressure of a certain type of missile, the measured data were interpolated, then the five sets of data were used as input data, the latter set of data as forecast data, and the model identification of missile engine pressure was carried out by using support vector machine ensemble method to realise the prediction of missile engine pressure.Through the simulation analysis of three groups of engine pressure measured data, it was found that the maximum forcast error of support vector machine ensemble was 0.102%, which met the requirements of missile engine pressure prediction, and it played an important role in preventive maintenance of missile engine pressure. support vector machine ensemble; missile engine; pressure; prediction 2015-09-14 劉丙杰(1979-),男,山西曲沃人,講師,博士,研究方向:戰(zhàn)略導(dǎo)彈可靠性工程與作戰(zhàn)使用。 TJ760.33 A3 基于ESVM的導(dǎo)彈發(fā)動機壓力預(yù)測
4 仿真實例
5 結(jié)束語