一种基于鲸鱼优化算法的飞行动作识别规则提取方法

2018-12-14 10:57王玉伟
海军航空大学学报 2018年5期
关键词:反例鲸鱼猎物

王玉伟,高 永

(海军航空大学,山东烟台264001)

目前,飞行动作识别主要依赖于专家系统技术。其中,飞行动作知识库是识别过程中的关键技术。一般情况下,专家系统知识库是领域专家根据常年积累的经验制定和维护[1-2]。然而飞行动作识别规则完全由专家人工提取,会存在表达方式、认识水平、专家意见不统一等因素,在知识库建立的过程中容易存在效率低下,规则建立不充分或冗余等问题。因此,研究一种从飞行数据自动提取规则的方法显得尤为重要。

针对飞行动作识别规则提取,学者们展开了大量的研究工作,空军工程大学的王新亮等[3-5]分别采用了粒子群优化算法(PSO)、人工免疫算法(AIS)、量子遗传算法(QGA)三种智能优化算法进行提取,在规则提取问题中取得了一定优化效果。然而,传统智能优化算法在实际应用中普遍存在调节参数过多,早熟收敛,容易陷入局部极值问题[6-16]。为此,本文将一种新型仿生智能优化算法——鲸鱼优化算法(Whale Optimization Algorithm,WOA)应用于飞行动作识别规则提取的问题中。

1 基于鲸鱼优化算法的飞行动作识别规则提取

1.1 鲸鱼优化算法

鲸鱼被认为是世界上最大的哺乳动物。成年鲸鱼可长到30 m,体重180 t。有研究表明鲸鱼的大脑某些区域的共同细胞和人类相似,称之为梭形细胞区域,这些细胞负责判断,情绪和人类的社会行为[17-18]。WOA算法有包围猎物,搜索猎物和螺旋泡网捕食机动3个数学模型。

1.1.1 包围猎物

驼背鲸可以识别猎物位置并圈选它们。由于最优设计在搜索空间中的位置并不是先验知道的,所以WOA算法假定当前最佳候选解决方案是目标猎物或接近最优。在定义了最佳搜索代理之后,其他搜索代理将尝试将其位置更新为最佳搜索代理。此行为表示为:

系数A、B的计算式如下:

式(2)、(3)中:a在整个过程中从2线性地减少到0;r是取值范围为[0,1]的一个随机系数。

1.1.2 泡泡网攻击法

模仿驼背鲸的气泡网行为进行数学建模,设计了2种方法。

1)收缩包围机制。该行为是通过降低式(2)中a值来实现的,同时A也随着a的减小而减小。A是区间[-a,a]中的随机值,搜索代理的新位置可以在代理的原始位置和当前最佳代理的位置之间的任何位置定义。

2)螺旋更新位置。该方法首先计算位于(x,y)处的鲸鱼和位于(x*,y*)处的猎物之间的距离;然后,在鲸鱼和猎物的位置之间创建一个螺旋方程,以模仿驼背鲸的螺旋形运动,即:

式(4)中:D′= |X*(t)-X(t)|;b是定义对数螺线形状的常数;l是[-1,1]中的随机常数。

鲸鱼沿着缩小的圆形螺旋路径在猎物周围徘徊。为了模拟这种同时发生的行为,假设有50%的概率可以选择缩小的环绕机制,或者选择螺旋模型来更新鲸鱼的位置。在优化期间,数学模型如下:

p是[0 ,1]中的一个随机数,除了气泡网攻击法,座头鲸还随机搜索猎物。

1.1.3 搜索猎物

同样的方法基于变化的矢量同样可以利用来搜索猎物。事实上,鲸鱼可根据彼此的位置搜索猎物。也就是说,当数值A大于1或等于1时,系数A取随机值,迫使鲸偏离猎物,从而寻找其他更合适的猎物,这与泡泡网攻击阶段相反,其根据随机选择的搜索代理更新在搜索阶段的位置,取代目前发现的最佳搜索代理。此机制增强了搜索捕食能力,允许WOA算法执行全局搜索。数学模型如下:

Xrand在式(6)、(7)中是当前鲸群中随机选择的位置。

1.2 算法性能验证

为了验证鲸鱼优化算法的性能,选取Rastrigin标准测试函数进行测试,其表达式如下:

Rastrigin函数为多峰函数,存在比较多的局部极小点,各个变量之间相互独立,其最优状态和最优值为min(F(x*))=F(0,0,…,0)=0。选取粒子群优化算法PSO和鲸鱼优化算法WOA进行对比。

其中,粒子群算法PSO参数设置为:位置变化上限Pmax为5.12,位置变化下线Pmin为-5.12,局部影响c1为0.8,全局影响c2为0.8,惯性权重系数w1、w2分别为0.9、0.1。鲸鱼优化算法参数设置为:最大值ub为5.12,最小值lb为-5.12。其中共同参数设置有:种群规模sizepop为100,进化迭代次数为200,变量个数n为30。

图1是对Rastrigin测试函数重复运行50次2种算法每一种的平均最优解变化曲线。算法测试结果性能的数值对比,如表1所示。由表1及图1可以看出WOA测试结果,最优值和迭代次数都明显优于PSO算法。

图1 Rastrigin测试函数平均最优值对比Fig.1 Rastrigin test function average optimal value comparison

表1 Rastrigin函数测试结果对比Tab.1 Comparison of Rastrigin function test results

1.3 鲸鱼群算法在飞行动作识别规则提取的应用

利用鲸鱼群算法提取飞行动作规则的基本思路:首先进行飞行规则属性选择。本文提取了12个动作属性作为决策变量,再对规则进行了二进制编码,并由数据求出12个规则的边界;初始化鲸鱼种群,随机生成个体,鲸鱼群中每个个体代表了一组飞行规则;然后,设定目标函数,确定每个鲸鱼个体所处空间位置的优劣,利用鲸群的不同形式的捕食策略不断更新当前鲸鱼个体的空间位置,反复迭代直到获得最优个体,即规则提取的最优解。具体步骤如下:

1)属性选择。飞机飞行过程中会采集各种数据,其中与飞行动作最为密切的参数有高度H、速度v、航向角θ、滚转角φ、俯仰角γ。在飞行动作时间段内,由这5个关键参数提取了12个动作识别属性。识别属性定义为:为高度差;为速度差;为航向角差;为高度累加变化量;为速度累加变化量;为航向角累加变化量 ;为滚转角累加变化量;为俯仰角累加变化量;C9=max(φi)为最大滚转角;C10=min(φi)为最小滚转角;C11=max(γi)为最大俯仰角;C12=min(γi)为最小俯仰角。

2)规则编码。规则的获取过程就是对各个属性相互结合、取舍的过程。因此,根据属性的取舍对规则采取二进制编码的方法,编码的长度与规则数量相同。从获取的正例样本中,统计C1~C12及每个参数的最大值和最小值,得出24条规则边界值。将24个规则边界按规定的顺序排列,如:minC1,minC2,…,minC12;maxC1,maxC2,…,maxC12。

编码为0表示没有选择此规则,编码为1表示选中此规则。如100000000000100000000000表示选中的规则为:{C1>minC1C1<maxC1} 。

3)目标函数设置。目标函数是评价种群所表示规则优劣程度的尺度。好的目标函数应该符合如下条件,规则应该尽量多的符合正例;规则应该尽量多排斥反例;规则数量应适中。根据以上条件,设计目标函数为:

式(9)中:a为规则排斥反例的数量;max(a)为全部的反例数量;b为选中规则的数量;max(b)=24是所有规则的数量;λ为比例系数。

由式(9)可知,规则越排斥反例,解越好,目标函数值则越大。比例系数λ是规则正确性与简洁性的比例,系数过大,得到规则数量过多,出现冗余规则,影响后期识别效率;系数过小,得到规则数量过少,造成识别精度不够。经多次仿真实验得到,系数取3~5时,结果较理想。

2 仿真实验

2.1 平飞样本数据及算法初始化设置

以平飞为实验动作来提取规则,其中,选取正例样本23个,反例样本26个,空间维度24。设置种群规模为20,迭代次数为50。其中,1个平飞正例,1个平飞反例,如图2、3所示。

图2 正例Fig.2 Positive example

图3 反例Fig.3 Counter example

2.2 具体算法步骤

采用Matlab编程,流程如下:

1)导入数据样本,正例z1~z23,反例f1~f26;

2)提取数据属性C1~C12,并用正例样本统计得出24个规则边界值 minC1,minC2,…,minC12,maxC1,maxC2,…,maxC12;

3)初始化种群,包括最优个体位置的位置初始化,以及最优个体目标函数值的初始化;设置种群规模,迭代次数,最大最小值;

4)进行第一次寻优过程,计算种群目标函数值,得到第一次寻优的最优个体位置及目标函数值,更新种群,再进行第二次寻优。到寻优次数达到50时,运行结束。

2.3 结果分析

将算法独立运行15次,得到最优解为:

其目标函数值均收敛到4.815,对应4条飞行动作识别规则为:

物理含义为:高度差小于8.51 m,高度差大于-11.63 m,高度累加变化量小于20.34 m,航向角累加变化量小于6.84°。且规则对应正例全部符合,反例没有漏判。

为证明鲸鱼算法在飞行动作识别规则提取的优越性能,复现了文献[5]基于PSO的规则提取方法。由于原PSO优化算法是对连续函数,文中的解形式是符号化的01形式,无法用正常PSO算法计算,因而采用了离散二进制PSO,即BPSO算法进行计算,具体理论和公式见文献[5]。

将BPSO算法独立运行15次,其最优解为:

其目标函数值收敛到4.52,对应8条规则:

物理意义为:高度差大于-11.63 m,速度差大于-0.58,航向角累加变化量大于0.087,俯仰角累加变化量大于0.054,高度差小于8.51 m,高度累加变化量小于20.34 m,航向角累加变化量小于6.84°滚转角最大值小于0.72°。

2种算法运行迭代曲线对比如图4所示。由图4和规则可以看出,WOA算法相比于BPSO收敛的目标函数值更大,结果更优,且规则更加简洁,没有冗余规则。

图4 WOA与BPSO迭代曲线对比Fig.4 Comparison of WOAand BPSO iteration curves

3 结束语

本文针对智能优化算法提取飞行动作规则存在早熟收敛,容易陷入局部极值现象,介绍了一种新型仿生智能优化算法——鲸鱼优化算法。经过Rastrigin测试函数及仿真实例表明,鲸鱼优化算法寻优精度高于传统智能优化算法PSO,提取的规则相比BPSO方法更简洁、有效,提高了飞行动作识别知识库建立的效率和精度,工程应用性较强。

猜你喜欢
反例鲸鱼猎物
几个存在反例的数学猜想
三木落
迷途鲸鱼
鲸鱼
可怕的杀手角鼻龙
Duck-billed platypuses
活用反例扩大教学成果
聪明误
利用学具构造一道几何反例图形
鲸鱼会得潜水病吗?