刘丙杰,冀海燕,杨继锋
(海军潜艇学院,山东青岛 266071)
基于支持向量机集成的导弹发动机压力预测
刘丙杰,冀海燕,杨继锋
(海军潜艇学院,山东青岛 266071)
针对导弹发动机压力下降难以预测的问题,根据某型导弹发动机压力实测数据,首先将实测数据进行插值处理,然后利用前5组数据为输入数据,后一组数据为预测数据,采用支持向量机集成方法对导弹发动机压力进行模型辨识,实现导弹发动机压力预测。通过对3组发动机压力实测数据进行仿真分析,发现支持向量机集成预测误差最大为0.102%,满足导弹发动机压力预测要求,对导弹发动机压力预防性维修具有重要作用。
支持向量机集成;导弹发动机;压力;预测
发动机是导弹的动力装置,其作用是产生足够的推力、续航力和调姿力矩,使导弹加速、持续、稳定向目标飞行。如果不能及时获知发动机压力,或发动机压力已经不满足要求才对其进行维护,可能影响导弹的顺利发射。
导弹发动机压力是衡量发动机状态的重要参数。导弹发动机压力影响因素有很多,包括密封性、振动、贮存时间等,但是难以建立精确的发动机压力解析模型,所以很难用解析的方法进行预测。
有关导弹发动机压力预测的公开文献比较少,文中在发动机压力实测数据的基础上,利用支持向量回归机对其进行模型辨识,从而实现导弹发动机压力预测。
发动机的密封性是衡量发动机性能的重要指标,一旦发动机密封性不满足要求,就可能引起发动机性能下降甚至故障。发动机压力是衡量发动机密封性的重要参数。导弹发动机压力测试原理如图1所示[1]。
图1 导弹压力测试原理图
开始测试时,地面和弹上系统按要求供电。然后,由地面测控计算机通过串行总线向弹上计算机发开始测试命令字,计算机接到命令字后,进入数字压力传感器电路测试模块,弹上计算机机采样弹上导弹发动机压力传感器的输出信号。
待所有传感器采样完毕后弹上计算机将压力传感器采样值通过串行总线下传至地面计算机,地面计算机计算每一个采样值的累加和的平均值,并在显示器上显示测试结果,该值即为所测压力传感器的测试值。
目前,导弹发动机压力测试仅对当前值进行判断,如果在合格范围内,则给出合格结果;反之给出超差结果。如果发生超差后,再进行维修、补气,则很有可能影响导弹武器系统的作战准备时间,进而带来严重的后果。而导弹发动机如果有气密不良故障,在导弹发动机的压力测试历史数据中,一定会有蛛丝马迹,或者存在某些内在规律可以预先判断发动机气密不良,进而提前采取措施,提高武器系统的战备完好性。
导弹发动机压力预测属于机器学习或模型辨识领域的研究内容。而要想获得较高的预测精度,就必须要有较高泛化能力的预测方法。
目前,机器学习预测方法有很多,如神经网络、支持向量机、贝叶斯证据推理、灰色理论、多核学习等。这些方法各有特点,在众多文献中都有描述[2-4],文中不再赘述。针对导弹发动机测试数据量少、预测精度要求高的特点,笔者认为支持向量集成学习方法是最适合的方法之一。
支持向量机(support vector machine,SVM)是在统计学习理论基础上发展起来的一种新的机器学习方法,是目前泛化能力最强的技术之一[5],也是对小样本数据进行预测的有效方法之一。而集成学习也是一种有效增强泛化能力的学习策略,目前已有神经网络集成等方法,将SVM与集成结合起来形成SVM集成(ensemble of SVM,ESVM)就成了一个提高泛化能力的自然想法。
文中就采用ESVM实现导弹发动机的压力预测,ESVM的基本思路如下。
所谓ESVM就是利用有限个SVM个体对同一个问题进行学习,预测的结果由所有SVM个体共同决定。要设计一个ESVM算法,需要解决两个问题:如何生成个体SVM及如何集成。
2.1 基于聚类的个体SVM生成方法
由文献[5]可知,个体差异性是影响算法泛化能力的重要因素,而训练样本是影响个体SVM差异性的最主要因素。文中采用文献[6]提出的基于聚类的个体生成方法,实现个体SVM训练样本的生成。
聚类就是将集合分组成相似对象组成的多个类的过程,使得同一类中对象间的相似度最大化,不同类中的对象间的相似度最小化。
文中利用FCM(fuzzy C-means)对样本分类。假设待分类的样本集合为X={(x1,d1),(x2,d2),…,(xn,dn)},其中xh表示聚类输入,且xh={xh1,xh2,…,xhk},0 ①数据归一化 文中采用极差标准化: (1) (2) (3) ②模糊相似矩阵 (4) (5) 式中:dij=dji,dii=1。 ③D′的形成 2.2 ESVM集成方法 文中采用文献[6]所提出的自适应集成(adaptiveNNE,ANNE)算法。其主要思想是首先将样本分类,不同的个体学习不同类的样本,根据预测数据与个体学习数据间的相似度自适应调整集成权值。 假设训练样本被聚类为p类,分别为X1,X2,…,Xp,每一类样本中心为c1,c2,…,cp,cj(1 (7) 集成权值为: (8) 假设SVMj的输出为Vj,则集成结果为: (9) 算法的步骤如下: Step1:样本聚类; Step2:个体SVM学习; Step3:确定集成权值; Step4:集成结果。 假设导弹发动机压力测试历史数据为: X={x1,x2,…,xn} (3) 采用ESVM预测下一时刻发动机压力为: y=f(Xn-m,n) (4) 其中:Xn-m,n={xn-m,xn-m+1,…,xn};m表示预测所需的历史数据数量,文中m=5;f(Xn-m,n)为预测模型。预测步骤如下: Step1:对原始时间序列数据进行预处理,并分为训练数据和测试数据。 Step2:采用预测模型进行数据拟合。 Step3:模型检验。利用测试数据对各模型预测误差进行检验。 Step4:利用最优预测模型对发动机压力时间序列数据进行预测。 文中对某型导弹发动机压力进行预测、采集。采集原始数据如表1所示。 表1 某型导弹发动机压力传感器测试数据 上述测试数据时间间隔不一致,采用线性拟合的方法将上述数据进行处理,使得测试数据时间间隔一致,处理后的数据如表2所示。 表2 处理后的实测数据 根据上述测试数据,生成如表3~表5所示的训练样本,其中输入样本为5列,输出样本为1列,表示用前5次测试数据预测下一次测试数据。 表3 发动机1训练样本 表4 发动机2训练样本 表5 发动机3训练样本 注:其中斜体数据代表测试数据。 支持向量回归机采用Sigmoid核函数,惩罚系数C=1 000,ESVM规模为6。利用ESVM对上述数据进行预测,训练误差及预测误差如表6所示。 表6 发动机压力预测误差 从预测结果看,3个发动机的压力预测误差均比较小,满足预防性维修的要求,预测时间间隔为5 d。 文中采用ESVM对导弹发动机压力进行了预测,从仿真结果看,ESVM的预测精度都令人满意,对于提高导弹发动机的战备完好性具有重要作用。但是,文中仅采用了ESVM一种方法进行预测,并没有与其他方法相比,也许有更合适的预测方法。另一方面,由于ESVM的集成规模也是影响其泛化能力的因素之一,文中没有考虑此因素,这也是下一步的研究方向。 [1] 徐克俊. 航天发射故障诊断技术 [M]. 北京: 国防工业出版社, 2007: 35. [2] 何清, 李宁, 罗文娟, 等. 大数据下的机器学习算法综述 [J]. 模式识别与人工智能, 2014, 27(4): 327-336. [3] 余凯, 贾磊, 陈雨强. 深度学习的昨天、今天和明天 [J]. 计算机研究与发展, 2013, 50(9): 1799-1804. [4] 陈康, 向勇, 喻超. 大数据时代机器学习的新趋势 [J]. 电信科学, 2012, 12(4): 88-95. [5] 王晓丹, 高晓峰, 姚旭, 等. SVM集成研究与应用 [J]. 空军工程大学学报, 2012, 12(2): 84-89. [6] 刘爱华, 刘丙杰, 冀海燕, 等. 基于自适应神经网络集成的电子设备故障预测方法 [J]. 解放军理工大学学报, 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-),男,山西曲沃人,讲师,博士,研究方向:战略导弹可靠性工程与作战使用。 TJ760.33 A3 基于ESVM的导弹发动机压力预测
4 仿真实例
5 结束语