基于萤火虫算法优化BP神经网络的目标威胁估计
2013-08-16王改革郭立红王鹤淇
王改革,郭立红,段 红,刘 逻,王鹤淇
(1.中国科学院 长春光学精密机械与物理研究所,长春 130033;2.中国科学院 研究生大学,北京 100039;3.东北师范大学 计算机科学与信息技术学院,长春 130117)
0 引 言
随着科学技术的发展,现代战争已经进入信息化时代,为适应该变化,早在20世纪70年代,美国就开始了多传感器信息融合的研究。目标威胁估计在信息融合结构中处于第三级,属于高级信息融合,常用的目标威胁估计方法有直觉模糊集[1]、贝叶斯推理[2]、规划识别[3]和 Elman_AdaBoost[4]等。
近年来,以神经网络为代表的智能技术在预测[5]、控制[6]、聚类[7]和图像处理[8]等领域得到了广泛应用。文献[9]采用神经网络解决目标威胁估计问题,取得了较好的结果,但是,神经网络存在一些不可避免的缺陷,如网络结构选择困难、过学习、局部极值以及泛化能力差等。特别是随着训练样本维数的增加,BP算法收敛速度会变慢,网络性能也会变差,且若BP神经网络初始权值和阈值选择不好,将使得BP神经网络难以收敛,进而预测效果很差。萤火虫优化(Glowworm swarm optimization,GSO)算法是模拟现实中萤火虫觅食行为而提出的一种新型元启发式搜索算法[10]。本文采用萤火虫算法来优化BP神经网络,目的是通过萤火虫算法得到更好的网络初始权值和阈值,其基本思想就是用个体代表网络的初始权值和阈值、个体值初始化的BP神经网络的预测误差作为该个体的适应度值,通过萤火虫算法寻找最优个体,即最优的BP神经网络初始权值和阈值。采用由萤火虫算法优化得到的最优初始权值和阈值来构造BP神经网络(BP neural network optimized by GSO,GSOBP)。在此基础上建立了基于萤火虫算法优化BP神经网络的目标威胁估计模型,提出了基于该威胁估计模型的算法。实验结果表明,萤火虫算法优化BP神经网络的预测误差明显小于BP和PSO_SVM(support vector machine optimized by particle swarm optimization[11])。基于萤火虫算法优化BP神经网络的目标威胁估计模型和算法具有很好的预测能力,可以快速、准确地完成目标威胁估计。
1 萤火虫优化算法
在GSO算法中,每只萤火虫(记作i)由当前位置xi(t)和该处的萤光素值li(t)定义,并且该位置对应着一个目标函数值f(xi(t))。在算法执行过程中,每只萤火虫向其区域决策范围内的邻居传递信息。初始条件下,GSO算法采用目标函数定义域来初始化决策范围,然后按式(1)对决策域范围进行更新。
在萤火虫i的决策域范围内的萤火虫数量由式(2)决定:
式中:xj(t)为在第t次迭代中萤火虫j的位置;lj(t)为在第t次迭代中萤火虫j的萤光素值;萤火虫i的邻居数目取决于决策半径,感知范围rs(0<<rs)为其上界。在GSO算法执行过程中,萤火虫i的运动方向由其所有邻居中各萤火虫的荧光素数量来决定;pij(t)表示在第t次迭代中,萤火虫i向其邻居萤火虫j移动的概率,用式(3)计算:
由式(4)计算萤火虫i移动后的位置:
式中:s为移动步长。
萤火虫i移动到新位置后,将按式(5)重新计算其萤光素值:
式中:li(t)为在第t次迭代中萤火虫i的萤光素值;ρ∈ (0,1)为常数,与荧光素挥发有关;γ为常数,表示荧光素更新率。
在邻居集合中,当萤火虫i寻找到具有更高萤光素值的萤火虫j时,且若此时萤火虫i和萤火虫j的距离小于感知半径,则萤火虫i以概率pij(t)(由式(3)计算得到)选择萤火虫j,并向该方向移动;然后按式(4)更新位置,并计算新位置的目标函数值;最后,按式(5)对萤光素值进行更新。
基于以上分析,GSO算法主要分为以下4个步骤:初始化萤火虫、荧光素更新、位置更新和决策域更新。
2 基于GSOBP的目标威胁估计
严格来说,目标威胁估计是一个NP-hard问题。在JDL数据融合模型中属于第三级。目标威胁估计需要考虑的因素很多,如地形、天气情况、敌、我、友军的兵力部署以及指挥员的作战风格等。在进行威胁估计时必须综合考虑,本文选取6个典型指标,来生成GSOBP目标威胁估计模型,在此基础上,提出了基于GSOBP目标威胁估计模型的算法。
2.1 目标威胁估计因素
本文在进行目标威胁估计研究时,主要考虑以下6个因素:
(1)目标类型:大型目标(如歼击轰炸机)、小型目标(如隐身飞机、巡航导弹)、直升机。
(2)目标速度:如120、200、260m/s等。
(3)目标航向角:如11°、28°、36°等。
(4)目标干扰能力:如强、中、弱、无。
(5)目标高度:如低、超低、中、高。
(6)目标距离:如100、110、200m等。
2.2 GSOBP目标威胁估计模型
采用萤火虫优化算法来优化BP神经网络的初始权值和阈值,得到最优权值和阈值来构造目标威胁估计模型(GSOBP),然后采用该模型对目标威胁值进行预测。为适应该模型,在原始数据输入GSOBP神经网络之前,需要对数据进行预处理,包括数据量化和归一化。基于GSOBP构造的目标威胁估计模型如图1所示,下面对模型具体分析。
图1 基于GSOBP的目标威胁估计模型Fig.1 Model for target threat assessment using GSOBP
(1)数据预处理
对原始数据进行预处理,包括数据量化和归一化。从而使得预处理后的数据能够被GSOBP神经网络读入。
(2)训练集/测试集产生
为了保证训练数据的随机性,随机选取目标威胁信息库中的60组数据作为训练集数据,其余15组数据作为测试集数据。
(3)GSOBP神经网络
把训练集输入构建好的GSOBP神经网络,然后进行网络训练,具体步骤如下:①GSOBP网络创建:即利用GSO算法对BP神经网络的初始权值和阈值进行优化,再利用优化后的最优权值和阈值来构造GSOBP神经网络;②GSOBP网络训练:GSOBP网络创建完毕后,便可将训练集向量输入到网络中,利用GSOBP神经网络对网络的权值和阈值进行调整,直至满足训练要求,迭代终止。
(4)目标威胁测试
网络训练收敛后,便可以对测试集数据进行预测,即对测试集的目标威胁值进行预测。
2.3 GSOBP目标威胁估计算法
GSO算法具体实现步骤如下(见图2):
(1)初始化种群
个体编码方法为实数编码,每个个体由一个实数串表示,该实数串由以下4部分组成:输出层与隐层之间的连接权值、隐层与输入层之间的连接权值、输出层阈值以及隐层阈值。每个个体包含了BP网络全部阈值和权值,若BP网络结构已知,就可以创建一个权值、阈值和结构都确定的BP网络。
(2)适应度函数
根据最优个体编码得到BP网络的初始权值和阈值,用训练集训练BP神经网络后系统预测输出,个体适应度值F即为期望输出与预测输出之间的误差绝对值的和,如下式所示
式中:n为BP神经网络输出层节点数;yi为BP网络节点i的期望输出;oi为节点i的预测输出;k为常数。
图2 基于GSOBP的目标威胁估计算法流程图Fig.2 Flow chart for algorithm target threat assessment using GSOBP
(3)荧光素更新操作
对种群中的每个萤火虫i按式(6)计算在第t代、位置xi(t)的适应度值,然后依据式(5)利用目标函数值来计算萤火虫i的荧光素值。
(4)位置更新操作
在GSO算法中,当萤火虫i寻找到具有更高萤光素值的萤火虫j时,且若此时萤火虫i和萤火虫j的距离小于感知半径,则萤火虫i以概率pij(t)选择萤火虫j,并向此方向移动;然后按式(4)更新位置,并利用式(6)计算更新后位置的目标函数值,进而更新全局最优值。
(5)决策域更新操作
在位置更新后,萤火虫i将根据其邻居密度对决策半径进行动态更新(按式(1))。如果邻居密度太小,将增大决策半径,从而有利于搜索更多的邻居萤火虫,反之,将减小半径。
BP神经网络部分与普通BP网络类似,具体实现步骤简单介绍如下:
(1)确定BP网络结构
随机初始化BP神经网络的权值和阈值,按照萤火虫算法的编码要求对初始权值和阈值进行编码,然后将该编码输入GSO算法进行优化,算法随即执行GSO算法部分。
(2)构造GSOBP神经网络
从GSO算法部分获取GSO算法优化后的权值和阈值,构造GSOBP神经网络。采用训练集对网络进行训练,计算训练误差,训练误差满足要求时,停止对GSOBP网络的训练。
(3)预测输出
将测试集输入训练好的GSOBP神经网络,预测输出目标威胁值。
3 模型仿真与验证
采用 MATLAB R20112a(7.14),在硬件为Pentium(R)4CPU 3.06GHz,1G内存的机器上,编程实现了本文提出的基于GSOBP目标威胁估计模型的算法。
3.1 数据预处理
采集75组数据,其中大型目标、小型目标和直升机各25组。测试集分别选择大型目标、小型目标和直升机各20组,共60组。其他15组数据作为测试集。部分数据如表1所示。
表1 部分原始数据Table 1 Part of data
本文对目标威胁属性采用G.A.Miller的9级量化理论进行量化,1~9分别表示威胁程度极小、非常小、较小、小、中、大、较大、非常大、极大。对描述性属性做如下预处理:
(1)目标类型:大型目标(如歼击轰炸机)、小型目标(如隐身飞机)、直升机依次量化为3、5、8。
(2)目标干扰能力:如强、中、弱、无,依次量化为2、4、6、8。
(3)目标高度:如超低、低、中、高,分别量化为2、4、6、8。
对于目标速度、目标高度和目标距离等属性则可以直接进行归一化,然后转化为GSOBP神经网络能够识别的形式。
3.2 仿真结果
对于GSOBP神经网络,有6个输入参数、1个输出参数,所以设置GSOBP神经网络结构为6-11-1,即输入层有6个节点,隐含层有11个节点,输出层有1个节点,共有6×11+11×1=77个权值,11+1=12个阈值,所以萤火虫算法个体编码长度为77+12=89。
将原始数据随机分成两组,分别作为训练集和测试集。其中,训练集包含60组不同目标类型的数据,用于网络训练,测试集为剩余的15组数据。把训练数据预测误差绝对值的和作为个体适应度值,个体适应度值越小,该个体越优。
其他参数设置如下:在萤火虫算法中,荧光素初值l0=5,动态决策域的更新率β=0.08,用于控制萤火虫邻居数目的邻居阈值nt=5,步长s=0.05,荧光素更新率γ=0.6,荧光素挥发系数ρ=0.4,萤火虫感知范围rs=5,进化次数maxgen=100,种群规模popsize=30。在网络训练过程中,进化参数设置为:学习率net.trainParam.lr=0.1,训练目标net.trainParam.goal=0.00001。
萤火虫算法优化过程中最优个体适应度值变化如图3所示。从图3可以看出,萤火虫算法在种群为30的情况下,经过70次进化即收敛于最佳适应度值0.28,这说明萤火虫算法只需要很小的代价,就能寻找到最优的BP神经网络权值和阈值。
图3 GSO算法进化过程Fig.3 Evolution process of GSO
GSOBP和BP网络以及支持向量机等都可以进行预测,且都可以用于解决目标威胁估计问题。由于支持向量机参数c和g的选择没有统一的标准,只能依靠经验,故本文采用粒子群算法[11]来优化SVM参数c和g。
根据所采用数据的特点,BP神经网络结构为6-11-1.PSO_SVM 采用 LIBSVM 工具箱[12]。交叉验证确定最优惩罚参数c和核函数参数g时采用PSO算法进行优化。默认情况下,PSO局部搜索能力c1=1.5,全局搜索能力c2=1.7,最大进化次数maxgen=100,最大种群数popsize=30,弹性系数wv=1,SVM参数c和参数g的变化范围分别为[0.1,100]和[0.01,1000]。
采用训练好的BP网络和PSO_SVM对目标威胁估计问题进行预测,实验结果如图4和图5所示。从图4和图5可以看出,GSOBP预测结果最接近真实值,预测误差明显小于BP和PSO_SVM。其中,在样本11、13和14处,BP神经网络误差小于PSO_SVM,在样本2、3、12和15处,PSO_SVM误差小于BP神经网络,而在样本5和7处,PSO_SVM和BP神经网络误差相等,在样本6处,GSOBP和BP神经网络误差相等,在样本1、4、8、9和10处,GSOBP、BP神经网络和PSO_SVM误差相等。
图4 测试集的实际威胁值和预测威胁值Fig.4 Accurate and predictive threat value of testing set
图5 BP、PSO_SVM和GSOBP预测误差绝对值Fig.5 Absolute predictive error of BP,PSO_SVM and GSOBP
4 结束语
本文根据信息化战争对信息快速及时处理的要求,针对信息融合中目标威胁估计的特点,综合考虑了影响目标威胁值的各种因素,提出了一种基于GSOBP的目标威胁等级估计方法,建立了基于GSOBP的目标威胁估计模型,提出了基于GSOBP目标威胁估计模型的算法。选取了6个典型指标,采集了75组数据用于仿真实验。结果表明,萤火虫算法优化BP神经网络的预测误差明显小于BP和PSO_SVM。该模型及其算法具有很好的预测能力,可以快速、准确地完成对作战目标威胁的估计,为目标威胁估计提供了一种新的途径。
[1]雷英杰.基于直觉模糊推理的态势与威胁评估研究[D].西安:西安电子科技大学,2005.Lei Ying-jie.Research on situation and threat assessment based on intuitionistic fuzzy reasoning[D].Xi'an:Xidian University,2005.
[2]杨健,高文逸,刘军.一种基于贝叶斯网络的威胁估计方法[J].解放军理工大学学报:自然科学版,2010,11(1):43-48.Yang Jian,Gao Wen-yi,Liu Jun.Threat assessment method based on Bayesian network[J].Journal of PLA University of Science and Technology(Natural Edition),2010,11(1):43-48.
[3]王晓帆,王宝树.基于直觉模糊与计划识别的威胁评估方法[J].计算机科学,2010,37(5):175-177.Wang Xiao-fan, Wang Bao-shu.Techniques for threat assessment based on intuitionistic fuzzy theory and plan recognition[J].Computer Science,2010,37(5):175-177.
[4]王改革,郭立红,段红,等.基于Elman_AdaBoost强预测器的目标威胁评估模型及算法[J].电子学报,2012,40(5):901-906.Wang Gai-ge,Guo Li-hong,Duan Hong,et al.The model and algorithm for the target threat assessment based on Elman_AdaBoost strong predictor[J].Acta Electronica Sinica,2012,40(5):901-906.
[5]龚勃文,林赐云,李静,等.基于核自组织映射-前馈神经网络的交通流短时预测[J].吉林大学学报:工学版,2011,41(4):938-943.Gong Bo-wen,Lin Ci-yun,Li Jing,et al.Shortterm traffic flow prediction based on KSOM-BP neural network[J].Journal of Jilin University (Engineering and Technology Edition),2011,41(4):938-943.
[6]赵宏伟,齐一名,臧雪柏,等.基于系统辨识与T-S模糊神经网络的磨矿分级控制[J].吉林大学学报:工学版,2011,41(1):171-175.Zhao Hong-wei,Qi Yi-ming,Zang Xue-bai,et al.Control of milling classification using system identification and T-S fuzzy neural network[J].Journal of Jilin University (Engineering and Technology Edition),2011,41(1):171-175.
[7]刘大有,张冬威,李妮娅,等.基于网络聚类选择的神经网络集成方法及应用[J].吉林大学学报:工学版,2011,41(4):1034-1040.Liu Da-you,Zhang Dong-wei,Li Ni-ya,et al.Selective approach for neural network ensemble based on network clustering technology and its application[J].Journal of Jilin University (Engineering and Technology Edition),2011,41(4):1034-1040.
[8]许新征,丁世飞,史忠植,等.图像分割的新理论和新方法[J].电子学报,2010,38(2A):76-82.Xu Xin-zheng,Ding Shi-fei,Shi Zhong-zhi,et al.New theories and methods of image segmentation[J].Acta Electronica Sinica,2010,38(2A):76-82.
[9]罗艳春,郭立红,姜晓莲,等.基于模糊神经网络的空中目标威胁估计[J].微计算机信息,2007,23(34):268-270.Luo Yan-chun,Guo Li-hong,Jiang Xiao-lian,et al.Threat assessment for aerial target based on fuzzy neural network[J].Microcomputer Information,2007,23(34):268-270.
[10]Krishhand K N,Ghose D.Glowworm swarm optimization for simultaneous capture of multiple local optimal of muultimodal functions[J].Swarm Intelligence,2009,3(2):87-124.
[11]Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proceeding of the IEEE International Conference on Neural Networks,Perth,Australia,1995.
[12]Chang C C,Lin C J.LIBSVM:a library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology(TIST),2011,2(3):1-27.