近年来, 人工智能技术日趋成熟, 逐渐成为引导军事航空领域发展的重要力量。智能空战是继现代化、信息化空战后提出的又一重要作战概念。2016年, 由美国辛辛那提大学研发的人工智能战斗机飞行员“阿尔法AI”, 一次又一次地击落了美国空军战术专家驾驶的模拟战机, 人工智能第一次打败人类飞行员, 标志着智能空战时代的到来[1-2]。导弹命中预测是实现智能空战的一个重要环节, 通过与智能算法的有效结合, 可实现导弹发射的自主化与智能化。
目前, 国内外研究导弹命中预测的相关文献较少, 但人工智能技术在军事航空领域应用广泛。支持向量机(Support Vector Machine, SVM)是一种智能学习方法, 相对于传统机器学习方法, 支持向量机运用结构风险最小化原则, 保证了模型的泛化能力和水平, 从而很大程度上解决了在学习过程中遇到的一系列诸如过学习、非线性、维数灾难等问题[3-5]。文献[6]将支持向量机应用在导弹命中精度的研究中, 是国内关于导弹命中方面研究的较早的文献。文献[7]研究了一种基于支持向量机的窄带雷达弹道导弹目标识别技术, 取得了识别精度较高的结果。文献[8]提出了一种基于UGM-ULSSVM(Unequal interval Grey Model-Unification of Least Square SVM)的导弹制导控制系统状态预测方法。粒子群优化(Particle Swarm Optimization, PSO)是一种智能优化算法,通过与SVM相结合能进一步提高SVM的泛化能力。文献[9]基于PSO-SVM模型对某型潜射导弹武器系统效能评估进行了研究。
本文尝试将支持向量机应用在导弹命中预测中。支持向量机中的惩罚因子C和核函数参数g是影响模型预测精度的关键参数, 如何寻得最优参数是技术难点。对此, 本文采用了改进的自适应变异混沌粒子群优化(Adaptively-Mutated Chaotic Particle Swarm Optimization, AMCPSO)算法对参数进行寻优。首先, 从原始数据中提取出特征数据, 并以此构建出模型训练所需的样本库; 然后采用改进的AMCPSO算法结合K折交叉验证法对模型参数进行寻优; 最后运用优化后的模型对样本进行预测, 并验证了模型的有效性和优越性。
1 导弹命中预测模型在航空兵空战训练中, 战斗机通过加装飞行训练系统的方式来辅助飞行员进行空战对抗训练。飞行训练系统既是操作系统, 也是数据收集系统, 可通过加装在战斗机上的雷达、传感器来实时接收敌我双方在空中的态势信息, 如图 1[10]所示。
图 1中:以我方飞机的重心O为机体坐标系的原点构建OXYZ机体坐标系。λ为目标方位角, ε为目标进入角, η为两机速度矢量夹角, r为两机之间的距离, Vw为我方速度, Vt为敌方速度, Δh为敌我双方高度差, h为我方高度。参数描述如表 1所示。
在飞行训练系统中嵌入了弹道仿真器, 它的作用是:当飞行员执行导弹发射指令时, 弹道仿真器根据导弹发射时的“初始状态信息”和导弹攻击目标的“实时状态信息”来仿真出导弹的运行轨迹, 并能根据仿真结果来判断导弹是否命中目标。其中, 导弹发射时的“初始状态信息”指的是飞行员执行导弹发射指令时表 1中的各项参数的值, 导弹所攻击目标的“实时状态信息”包括目标机的实时位置、速度、航向、高度等信息。导弹命中过程仿真示意图如图 2所示。
图 2中, 左侧飞机为攻击机运动过程, 右侧飞机为目标机运动过程, 箭头表示飞机速度方向, 虚线表示飞机运动轨迹, 实线表示导弹运行轨迹。过程① 中, 攻击机发出导弹攻击指令, 弹道仿真器根据导弹发射时的“初始状态信息”与目标机的“实时状态信息”仿真出导弹轨迹, 并显示在飞行训练系统上; 过程② 表示导弹跟踪目标机; 过程③ 表示导弹命中目标机, 如未满足命中条件, 弹道仿真器会显示“未命中目标”。
导弹命中预测指的是:通过构建一个预测模型, 该模型只根据导弹发射时的“初始状态信息”来预测此次发射是否能命中目标。
对此, 本文采用支持向量机来构建导弹命中预测模型, 通过飞行训练系统收集到的数据对模型进行训练, 针对参数寻优难点问题, 采用改进的AMCPSO算法对参数进行寻优, 并用优化后的模型进行预测。模型框架如图 3所示。
支持向量机属于分类算法中的一种形式, 其主要目的在于寻求最小的结构风险来不断增强学习机的泛化水平, 使得经验风险降到最低, 同时保证置信范围达到最小, 即使在样本量较少的条件下也能达到有效的统计要求。对于它的基本模型来说, 一般将其定义为在特征空间条件下具有的最大间隔性质的线性分类器, 它的学习策略便是通过样本集的训练找到最优分类超平面, 最后能有效转变成一个对凸二次规划问题的解答[11-12]。
设线性可分样本集为S=(xi, yi), i=1, 2, …, n, x∈Rd, y∈{+1, -1}是类别标签, 线性判别函数的一般形式为g(x)=w·x+b, 分类方程为(w·x+b)=0, 求解样本的最优化问题可转化为凸二次规划问题:
$\begin{array}{l} \quad \mathop {\min }\limits_{\mathit{\boldsymbol{w}},b} \frac{1}{2}{\left\| \mathit{\boldsymbol{w}} \right\|^2} + C\sum\limits_{i = 1}^n {{\xi _i}} \\ {\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;{y_i}((\mathit{\boldsymbol{w}} \cdot {\mathit{\boldsymbol{x}}_i}) + b) + {\xi _i} \ge 1,i = 1,2, \cdot \cdot \cdot ,n \end{array}$ | (1) |
其中:C是惩罚因子;ξi≥0为松弛变量。引入Lagrange乘子可以得到原问题的对偶问题:
$\begin{array}{l} \quad \max \phi (a) = \sum\limits_{i = 1}^n {{a_i} - \frac{1}{2}} \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{a_i}{a_j}{y_i}{y_j}K({\mathit{\boldsymbol{x}}_i},{\mathit{\boldsymbol{x}}_j})} } \\ {\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;\sum\limits_{i = 1}^n {{a_i}{y_i}} = 0,0 \le {a_i} \le C \end{array}$ | (2) |
设a*=[a1*, a2*, …, an*]T是式(3) 的解, 可得到最优分类函数:
$f\left( \mathit{\boldsymbol{x}} \right) = {\mathop{\rm sgn}} \left( {\sum\limits_{i = 1}^n {a_i^*{y_i}K({\mathit{\boldsymbol{x}}_i},\mathit{\boldsymbol{x}}) + {b^*}} } \right)$ | (3) |
其中:sgn()是符号函数;n为训练样本数;xi为训练样本;x为待预测样本;b*为根据训练样本确定的偏置。
目前常用的核函数如表 2所示。
粒子群优化(Particle Swarm Optimization, PSO)算法是一种基于群体智能的新型全局优化算法, 突出特点是结构简单、运行速度快、计算量小、程序实现简洁。粒子在每一次迭代过程中, 都会通过计算个体极值和全局极值的方式来对其位置和速度进行相应的更新, 更新公式[13]为:
$V_{id}^{k + 1} = wV_{id}^k + {c_1}{r_1}(P_{id}^k - {W^k}_{id}) + {c_2}{r_2}(P_{gd}^k - {W^k}_{id})$ | (4) |
$W_{id}^{k + 1} = W_{id}^k + V_{id}^{k + 1}$ | (5) |
其中:w为惯性因子;c1、c2为加速因子;Vid表示粒子的速度;Wid表示粒子的位置;Pid为个体极值;Pgd为全局极值;r1、r2为分布于区间[0, 1]内的随机数;k为当前迭代次数; d=1, 2, …, m; i=1, 2, …, n。
2.2.2 混沌惯性因子在PSO算法中, 惯性因子是影响粒子收敛速度和收索精度的重要参数, 由于混沌运动具有随机性、规律性、遍历性等特征, Feng[14]提出了一种基于混沌优化机制的惯性权重调整方法, 文献[15]指出在15种惯性权重的调整方法中, 混沌惯性权重具有最佳的平均精度, 故本文选择混沌惯性权重调整方法来更新式(4) 中的惯性因子, 更新公式如下:
$w(t) = ({w_{\max }} - {w_{\min }})({D_M} - {D_t})/{D_M} + {w_{\min }} \times z$ | (6) |
$z = 4 \times rand \times (1 - rand)$ | (7) |
其中:rand为分布于区间[0, 1]内的随机数; wmax和wmin分别表示惯性因子设定的最大值和最小值; DM为最大迭代次数; Dt为当前迭代次数。算法在每一次迭代过程中, 通过式(6) ~(7) 更新每个粒子的惯性因子, 从而实现粒子的自适应调整。
2.2.3 加入变异处理李宁等[16]对粒子的运动轨迹进行研究后发现:粒子群在寻找最优解的过程中, 无论粒子群找到的是全局最优解还是局部最优解, 全局极值gbest的变化率会逐渐减小, 最终在最优解附近徘徊, 而个体极值pbest将逐渐逼近gbest。因此, 随着迭代过程逐步推进, 粒子群将聚集并最终停止在gbest处。为了进一步改善PSO算法的搜索性能, 本文加入了一种变异操作, 在粒子搜索的过程中, 有一定概率发生变异。
$\left\{ {\begin{array}{*{20}{l}} {{p_{ic}} = ({c_{\max }} - {c_{\min }}) * {r_3} + {c_{\min }},}&{{r_1}{\rm{ > 0}}{\rm{.5\& }}{r_2}{\rm{ > 0}}{\rm{.5}}}\\ {{p_{ig}} = ({g_{\max }} - {g_{\min }}) * {r_3} + {g_{\min ,}}}&{{r_1}{\rm{ > 0}}{\rm{.5\& }}{r_2} \le {\rm{0}}{\rm{.5}}} \end{array}} \right.$ | (8) |
其中:r1、r2、r3为均匀分布在区间[0, 1]内的随机数; Pic和Pig分别表示当前粒子的惩罚因子C值和核函数参数g值;cmax、cmin、gmax、gmin分别表示搜索空间c和g的最大、最小值。
2.2.4 加入变异控制因子变异算法能有效提高种群的多样性, 在一定程度上避免了种群陷入局部最优解, 然而通过大量的仿真实验发现, 在迭代进行到后期, 变异的操作使种群难以在局部范围内进行精确的搜索, 导致算法搜索精度降低。为了权衡种群多样性与搜索精度之间的关系, 本文加入变异控制因子γ, 使变异概率随着迭代的进行自适应降低:
$\gamma {\rm{ = }}\cos \left( {\frac{{\rm{\pi }}}{2}*\frac{{{D_M} - {D_i}}}{{{D_M}}}} \right)$ | (9) |
其中:Di为当前迭代次数; DM为设定的最大迭代次数。加入了变异控制因子γ后, 原变异算法的改进算法为:
$\left\{ {\begin{array}{*{20}{l}} {{p_{ic}} = ({c_{\max }} - {c_{\min }}) * {r_3} + {c_{\min }},}\\ {\quad \quad \quad {r_1}{\rm{*}}\gamma {\rm{ > 0}}{\rm{.5\& }}{r_2}{\rm{ > 0}}{\rm{.5}}}\\ {{p_{ig}} = ({g_{\max }} - {g_{\min }}) * {r_3} + {g_{\min ,}}}\\ {\quad \quad \quad {r_1}{\rm{*}}\gamma {\rm{ > 0}}{\rm{.5\& }}{r_2} \le {\rm{0}}{\rm{.5}}} \end{array}} \right.$ | (10) |
在迭代初期, γ对变异概率控制力度较小, 使得粒子有较大概率发生变异, 提高了种群多样性与全局搜索能力;而到了迭代后期, 粒子变异概率逐渐减小, 种群在局部范围内的搜索能力与搜索精度得到提高。
2.3 参数寻优流程利用AMCPSO算法优化SVM的流程如图 4所示。
以飞行训练系统采集的数据进行实例研究, 从中选取了2000例发射事件, 1000例作为训练样本, 1000例作为测试样本。导弹发射时的初始状态信息包括目标方位角λ、目标进入角ε、速度矢量夹角η、两机距离r、我方高度h, 两机高度差Δh、我方速度Vw以及敌方速度Vt。将这8个指标作为输入变量, +1(命中)和-1(未命中)作为分类标签。为消除不同量纲对实验结果的影响, 需利用式(11) 对导弹发射时的初始状态信息进行归一化处理:
$\hat x = (x - {x_{\min }})/({x_{\max }} - {x_{\min }})$ | (11) |
其中:为归一化后的数据;
本文基于Matlab环境, 运用Libsvm工具箱编写相关算法程序, 采用径向基核函数, 设定种群大小为30, 搜索空间维度为8, 加速因子、均设为1.49618, 惩罚因子C和核函数参数g的搜索空间均设为2-8~28, 粒子速度初值V∈[-5, 5]。适应度函数为Libsvm工具箱中的svmtrain函数, 并结合5折交叉验证, 以交叉验证所得到的正确率作为算法的适应度值, 以正确率达到86%或迭代次数超过300次作为算法的终止条件, 训练过程中适应度变化曲线如图 5所示。
分析图 5可知, 适应度随着迭代次数的增加呈阶梯状增长。当改进AMCPSO算法迭代进行到187次时, 适应度达到0.86, 达到迭代终止条件, 此时对应的C和g值为算法找到的最优解, 分别为27.6372和38.2753。
除此之外, 在参数设置不变的条件下, 分别用未加入变异控制因子的AMCPSO算法和经典PSO算法对SVM参数进行寻优。从图 5中可看出:经典PSO算法种群多样性低, 种群更新次数少于其他两种算法, 在迭代进行到192次时, 算法陷入局部最优解, 进入早熟收敛状态, 直到迭代进行到300次达到终止条件, 其他两种算法由于加入了变异机制, 能够跳出局部最优, 全局寻优能力强于经典PSO算法。未加入变异控制因子的AMCPSO算法由于迭代中后期的局部搜索能力较弱, 迭代进行到228次时才达到终止条件, 比改进AMCPSO算法多迭代了41次, 可见改进的AMCPSO算法的全局寻优和局部寻优能力均较强, 能更快找到全局最优解。
在改进AMCPSO算法的种群中, 找到最大适应度的粒子所对应的惯性因子变化曲线如图 6所示。
由图 6可知, 惯性因子的变化满足混沌特性, 整体趋势随着迭代的进行非线性降低。
为进一步验证算法的可信性和有效性, 作如下对比研究:
将经典PSO算法和改进AMCPSO算法中寻找到最优解的粒子的适应度变化曲线进行对比, 如图 7所示。
由图 7可知, 经典PSO算法的粒子在迭代进行到190次左右时就开始陷入局部最优, 由于惯性因子的影响, 粒子并不会停止在局部最优解, 而是表现为在局部最优解附近来回震荡, 出现早熟收敛。改进PSO算法的粒子在迭代进行到30次左右时短暂陷入局部最优, 但由于变异的影响, 粒子很快跳出局部最优, 在迭代进行到170次左右时, 重新寻得最优解, 由此可知, 加入变异机制能很好地提高种群的全局寻优能力。
将经典PSO算法和改进AMCPSO算法的种群位置分布进行对比, 如图 8所示, 图中每一个小圆圈代表的是种群中某个粒子曾经到达过的位置。
由图 8可知, 改进AMCPSO算法的种群位置分布较为分散, 表示加入的变异处理能有效提高种群多样性, 全局寻优能力强于经典PSO算法。
3.3 模型预测寻找到最优参数后, 选用径向基函数作为核函数, 分别采用改进AMCPSO算法、经典PSO算法、BP神经网络法、网格法, 结合SVM构建的预测模型, 对1000个测试样本进行测试。
在保证寻优算法参数设置不变的条件下, 分别采用基于不同核函数的SVM对样本进行训练和预测。
从表 3所示的测试结果可知:
1) 使用了改进AMCPSO算法的模型, 测试集的正确率最高, 比经典PSO模型提高了10.4个百分点, 比BP神经网络模型提高了6.7个百分点。网格法模型效果最差, 原因是网格法在整个数据空间进行搜索, 搜索空间和搜索间隔比较大, 而智能搜索算法能明显减小搜索空间, 提高搜索效率。
2) 采用不同核函数构建的模型对预测效果有显著影响, 多项式核函数(Polynomial)和RBF核函数对应的模型测试集正确率较高, 而线性核函数(Linear)对应的模型测试集正确率最低, S型核函数(Sigmoid)则处于中间水平。从模型的泛化能力考虑, 即以测试集正确率作为模型的评价指标, 选用RBF核函数的模型性能最佳。
除此之外, 采用国际公开数据集UCI对模型的预测效果进行验证。
数据集来自UCI数据集中的Artificial Characters、HTRU2和Statlog。针对每个数据集,实验分别采用改进AMCPSO-SVM、PSO-SVM、BP神经网络对其进行测试,训练集与测试集均按1:1划分。实验结果如表 4所示。
本文对导弹命中预测方法进行了研究, 提出了一种改进的AMCPSO-SVM预测模型。利用改进AMCPSO算法优化SVM中的关键参数, 提高了SVM模型的预测精度; 将改进AMCPSO算法的寻优能力同AMCPSO算法、经典PSO算法进行对比, 得出改进算法无论是全局寻优能力还是局部搜索精度均得到提高; 将改进AMCPSO-SVM预测模型同经典PSO-SVM、BP神经网络法、网格法构建的预测模型进行了对比, 得出改进的AMCPSO-SVM模型预测精度较高。
下一步的工作将关注以下两点:1) 导弹命中是一个代价敏感问题, 命中与未命中代价相差很大, 因此对可靠性要求很高, 如何进一步提高模型的可靠性是后续研究的重点;2) 本文从分类的角度研究了导弹命中预测问题, 后续可以从概率的角度对导弹命中率进行相关研究。
[1] | 黄长强, 唐上钦. 从"阿法狗"到"阿法鹰"——论无人作战飞机智能自主空战技术[J]. 指挥与控制学报, 2016, 2(3): 261-264. (HUANG C Q, TANG S Q. From Alphago to Alphaeagle: on the intelligent autonomous air combat technology for UCAV[J]. Journal of Command and Control, 2016, 2(3): 261-264.) |
[2] | 唐传林, 黄长强, 丁达理, 等. 一种UCAV自主空战智能战术决策方法[J]. 指挥控制与仿真, 2015, 37(5): 5-11. (TANG C L, HUANG C Q, DING D L, et al. A method of intelligent tactical decision making for UCAV autonomous air combat[J]. Command Control & Simulation, 2015, 37(5): 5-11.) |
[3] | 张进, 丁胜, 李波. 改进的基于粒子群优化的支持向量机特征选择和参数联合优化算法[J]. 计算机应用, 2016, 36(5): 1330-1335. (ZHANG J, DING S, LI B. Improved particle swarm optimization algorithm for support vector machine feature selection and optimization of parameters[J]. Journal of Computer Applications, 2016, 36(5): 1330-1335. DOI:10.11772/j.issn.1001-9081.2016.05.1330) |
[4] | ADANKON M M, CHERIET M. Support Vector Machine[M]. Berlin: Springer, 2015: 1-28. |
[5] | 周志华. 机器学习[M]. 北京: 清华大学出版社, 2016: 121-137. (ZHOU Z H. Machine Learning[M]. Beijing: Tsinghua University Press, 2016: 121-137.) |
[6] | 高照良, 王青. 支持向量机在导弹命中精度研究中的应用[J]. 系统仿真学报, 2010, 22(A01): 212-215. (GAO Z L, WANG Q. Application of support vector machine on the accuracy study of the missile hits[J]. Journal of System Simulation, 2010, 22(A01): 212-215.) |
[7] | 魏文博, 蔡红军. 基于支持向量机的窄带雷达弹道导弹目标识别技术[J]. 电子科技, 2016, 29(6): 75-78. (WEI W B, CAI H J. Narrowband radar ballistic missile target recognition technology based on SVM[J]. Electronic Science and Technology, 2016, 29(6): 75-78.) |
[8] | 徐廷学, 丛林虎, 董琪. 基于UGM-ULSSVM的导弹制导控制系统状态预测方法[J]. 上海交通大学学报, 2015, 49(12): 1761-1767. (XU T X, CONG L H, DONG Q. State prediction method for missile guidance and control systems based on UGM-ULSSVM[J]. Journal of Shanghai Jiaotong University, 2015, 49(12): 1761-1767.) |
[9] | 张庆, 刘丙杰. 基于PSO-SVM的某型潜射导弹武器系统效能评估[J]. 科学技术与工程, 2008, 8(15): 4138-4141. (ZHANG Q, LIU B J. Effectiveness evaluation of submarine-launched missile system based on PSO-SVM[J]. Science Technology and Engineering, 2008, 8(15): 4138-4141. DOI:10.3969/j.issn.1671-1815.2008.15.018) |
[10] | 张彬超, 寇雅楠, 邬蒙, 等. 基于深度置信网络的近距空战态势评估[J]. 北京航空航天大学学报, 2017, 43(7): 1450-1459. (ZHANG B C, KOU Y N, WU M, et al. Close-range air combat situation assessment by using deep belief network[J]. Journal of Beijing University of Aeronautics and Astronautics, 2017, 43(7): 1450-1459.) |
[11] | CHEN N, LU W, YANG J, et al. Support vector machine[M]//SHAN S. Machine Learning Models and Algorithms for Big Data Classification. Berlin: Springer, 2016: 24-52. |
[12] | CERVANTES J, GARCIA-LAMONT F, RODRIGUEZ L, et al. PSO-based method for SVM classification on skewed data sets[J]. Neurocomputing, 2016, 228: 187-197. |
[13] | 陈晓青, 陆慧娟, 郑文斌, 等. 自适应混沌粒子群算法对极限学习机参数的优化[J]. 计算机应用, 2016, 36(11): 3123-3126. (CHEN X Q, LU H J, ZHENG W B, et al. Optimization of extreme learning machine parameters by adaptive chaotic particle swarm optimization algorithm[J]. Journal of Computer Applications, 2016, 36(11): 3123-3126. DOI:10.11772/j.issn.1001-9081.2016.11.3123) |
[14] | FENG Y. Chaotic inertia weight in particle swarm optimization[C]//ICICIC 2007: Proceedings of the Second International Conference on Innovative Computing, Information and Control. Piscataway, NJ: IEEE, 2007: 475-476. |
[15] | 李蓉, 沈云波, 刘坚. 改进的自适应粒子群优化算法[J]. 计算机工程与应用, 2015, 51(13): 31-36. (LI R, SHEN Y B, LIU J. Improved adaptive particle swarm optimization algorithm[J]. Computer Engineering and Applications, 2015, 51(13): 31-36. DOI:10.3778/j.issn.1002-8331.1404-0013) |
[16] | 李宁, 孙德宝, 邹彤, 等. 基于差分方程的PSO算法粒子运动轨迹分析[J]. 计算机学报, 2006, 29(11): 2052-2061. (LI N, SUN D B, ZHOU T, et al. An analysis for a particle's trajectory of PSO based on difference equation[J]. Chinese Journal of Computers, 2006, 29(11): 2052-2061. DOI:10.3321/j.issn:0254-4164.2006.11.017) |