融合改进布谷鸟搜索算法和DRNN的非线性系统辨识

2018-10-17 06:05朱笑花王宇野
陕西科技大学学报 2018年5期
关键词:测试函数布谷鸟鸟巢

朱笑花,王宇野

(闽南师范大学 物理与信息工程学院,福建 漳州 363000)

0 引言

实际工控对象往往具有明显的非线性特性.为了设计有效的控制系统,需要对非线性系统进行辨识[1].辨识的实质是根据过程的测量信息和评价准则,选择一个模型,使它逼近系统的动态特性.传统的辨识方法需要先建立依赖于参数的模型,然后利用最小二乘法或极大似然法进行参数估计.然而,对于非线性系统,传统的辨识方法存在较多的局限性[2].人工神经网络是模拟人脑结构和功能的信息处理系统.它具有自学习、自适应、分布存储、并行处理等特点,能实现输入与输出间的非线性映射关系,广泛应用于信息处理、系统辨识、预测、组合优化等众多领域[3-6].因此,人工神经网络的出现为非线性系统的辨识开辟了新的路径.

神经网络在得到广泛应用的同时,它的缺点也阻碍了其应用,例如神经网络收敛速度慢,存在局部极小值,网络的优化(结构选择和权值确定)是棘手问题.为了解决网络优化问题,神经网络和智能优化算法的结合成为神经网络理论研究和应用的热点[7,8].在各类智能优化算法中,布谷鸟搜索算法(CS:Cuckoo search algorithm)受到了研究者们的关注,已有一些文献利用布谷鸟搜索算法优化神经网络,并取得了较好的效果.

CS是2009年Yang等[9]在模拟布谷鸟寻窝产卵的繁殖行为后,提出的一种新型仿生优化算法.由于具有结构简单,控制参数少,全局搜索能力强等优点,CS被广泛用于系统辨识[10]、分配问题[11],多目标优化[12]和人脸识别[13]等问题.然而,CS存在后期搜索速度慢,精度不高等缺点,因此,许多学者进行了CS的改进研究.文献[14]将基于适应值和当前代数的自适应步长策略的CS用于人脸识别;文献[15]将两种变异算子和自适应发现概率引入到CS中,并通过仿真实验检验其有效性;文献[16]利用混沌理论产生初始种群提高种群的多样性,并引入基于蛙跳算法的局部搜索来避免CS过早陷入局部最优;文献[17]提出一种自适应步长和自适应发现概率的CS,并通过测试函数表明算法的竞争力.神经网络的优化问题是高度非线性的,且存在大量局部解,对算法的性能提出更高的要求,因此,本文拟继续探索CS算法的改进策略.

针对非线性系统神经网络辨识模型的优化问题,本文设计了杂交操作策略,并将其引入到布谷鸟搜索中,提出hCS算法.通过标准测试函数和神经网络优化的仿真实验,检验所提出hCS的性能.

1 对角回归型神经网络辨识模型

神经网络分为前馈式和反馈式两种基本类型.反馈式神经网络也称为递归或回归网络.常见的反馈型神经网络有Elman神经网络、Hopfield神经网络和Boltzmann神经网络等.对角回归型神经网络(DRNN:Diagonal Recurrent Neural Network)是一种新型的回归神经网络,该网络能够更好地逼近系统的动态特性.与BP网络基本结构不同的是,DRNN具有存储内部状态的功能,从而使该网络具有更好的适应时变特性的能力[18].它是一种包含输入层、网络回归层和输出层的多层前向网络,其网络结构如图1所示.

图1 对角回归型神经网络结构

(1)

Bj(k)=f(Sj(k))

(2)

(3)

式(2)中:回归层神经元激活函数f(·)可取双S函数,表达式如式(4)所示:

(4)

本文将更多的动态特性引入到DRNN中,即将历史时刻的输入输出量引入到网络输入层,以使模型能更好地反映工控系统的动态特性.同时,为了提高模型精度,采用本文提出的hCS算法来优化模型 (hCS-DRNN).

本文考虑具有如式(5)所示的SISO非线性系统:

y(k)=f(y(k-1),…,y(k-n),

u(k-1),…,u(k-m))

(5)

式(5)中:y(k)为系统输出;n和m为滞后常数;f(·)为非线性函数.

综上所示,采用DRNN对非线性动态系统进行辨识,结构如图2所示.

图2 DRNN辨识结构

2 hCS

2.1 基本的CS

布谷鸟采用寻窝产卵的方式繁殖下一代,它们将自己的蛋偷偷产入宿主鸟巢中,让其它鸟类孵化.当宿主鸟发现鸟巢中的外来鸟蛋时,则会将该鸟蛋丢弃,或者选择新地方搭建鸟巢.实际的布谷鸟寻窝产卵过程非常复杂,Yang等[9]提出了3个理想化假设:(1)每只布谷鸟以随机方式选择1个寄生鸟巢,并产1个蛋;(2)产有最好布谷鸟蛋的鸟巢将直接被保留到下一代;(3)宿主鸟巢数量不变,布谷鸟蛋被发现是外来鸟蛋的概率是pa∈[0,1].

在CS中,每个解代表布谷鸟产的一个蛋,解的适应度值代表鸟蛋的质量,产生新解的两个主要方式为:列维飞行随机游动和偏好随机游动.

在列维飞行随机游动中,布谷鸟鸟巢的位置更新公式表示为[9]:

i=1,2,…,N;j=1,2,…,D

(6)

布谷鸟蛋一旦被发现,则以偏好随机游动方式对位置进行更新[17]:

j=1,2,…,D

(7)

式(7)中:k1,k2∈{1,2,…,N},且k1,k2和i互不相等;r是(0,1)间服从均匀分布的随机数.

2.2 杂交操作策略

仿生学研究成果表明,自然界中大多生物种群个体间存在着交流现象.例如,蚂蚁之间通过一种称为外激素的物质进行信息传递,蚂蚁在移动过程中可以感知其它蚂蚁留下的外激素,并指导自己的运动方向[19].而在上述的布谷鸟搜索中,布谷鸟之间没有信息传递和交流.

在自然生物进化过程中,两种遗传基础不同的生物进行杂交,杂交所得的子代的各种性状均优于父辈.而且,如果父辈间基因差异大,则有利于增加后代基因多样性.同时,遗传评定方法指出,遗传价值越高的个体种用价值越高.

受这些生物现象的启发,本文设计了一种新的杂交操作策略,并将该策略引入到布谷鸟搜索中以获得适应度更好的个体.

杂交操作策略的具体实施步骤为:

步骤1:选择一个适应度值较低的个体,标记为Xt,同时将最优个体标记为Xbest,如式(8)所示.

Xbest=[x1…xb…xb+l……xD]

Xt=[x1……xc…xc+l…xD]

(8)

步骤2:将个体Xt中的任意一段[xc…xc+l]用Xbest中的任意一个等长段[xb…xb+l]代替,新个体标记为Xnew,如式(9)所示.

Xnew=[x1……xb…xb+l…xD];

(9)

步骤3:如果个体Xnew优于Xt,则用Xnew替代Xt,如式(10)所示:

(10)

综上所述,hCS流程图如图3所示.

图3 hCS流程图

hCS实现步骤可归纳为:

步骤1:首先设定N、N0(杂交操作个体数量)、pa(发现概率)、α、λ、tmax(最大迭代次数),然后随机产生N个鸟巢位置,计算每个鸟巢位置的适应度;

步骤2:按照式(6)的列维飞行方式产生新的鸟巢位置,并以贪婪方式选择较优解;

步骤3:产生服从均匀分布的随机数w,如果w

步骤4:选择N0个适应度值较低的个体,执行杂交操作,更新该N0个个体;

步骤5:判断是否满足终止条件,如满足则终止算法,输出最优解,否则转步骤2.

3 算法性能测试

为了观察所提出hCS的性能,将其用于求解12个典型测试函数.函数的维度为D=30,各函数的全局最小值均为0,测试函数如下:

(1)Sphere

(2)Rotated hyper-ellipsoid

(3)Axis parallel hyperellipoid

(4)Sum Squares

(5)Schwefel′s problem 12

(6)High conditioned elliptic

(7)Quartic

(8)Schwefel′s problem 2.22

(9)Powell

(x4i-2-2x4i-1)4+10(x4i-3+x4i)4]

xi∈[-10,10]

(10)Bent cigar

(11)Alpine

(12)Salomon

xi∈[-100,100]

本文使用了CS算法来求解相同的测试函数,并将测试结果与hCS的测试结果进行比较.两种算法的参数设置为:N=30,N0=5(仅用于hCS),pa=0.25,α=1,λ=1.5,tmax=2 000.为了得到算法的性能统计结果,将两种算法在每个测试函数上均独立运行50次,算法的终止条件为达到最大迭代次数,并将每个算法的平均值和方差列于表1.其中,平均值用来反映解的精度,方差用来反映解的稳定性.从表1的实验结果可以看出: hCS的平均值和方差均明显优于CS,hCS寻找到的解精度更高.因此,杂交操作策略对于提高种群多样性具有显著的作用.

表1 测试结果比较

4 结果与分析

本节介绍用所设计的hCS-DRNN来建立 2 个非线性对象的辨识模型.根均方差作为目标(准则)函数,计算公式为:

(11)

式(11)中:S为数据点数.

4.1 Goodwin方程

考虑Goodwin方程,其非线性时不变时间模型可表示为[20]:

cy3(t)=u(t)

(12)

式(12)中:a,b和c为时不变参数.

(a)hCS-DRNN训练误差

(b)CS-DRNN训练误差

(c)hCS-DRNN测试误差

(d)CS-DRNN测试误差

(e)预测结果图4 Goodwin的DRNN辨识结果

为了更加形象的比较两种模型,两种模型的RMSE均列于表2中.

表2 RMSE值

4.2 高维混沌系统

Mackey-Glass高维混沌系统是一个典型的非线性系统,相应的混沌时间序列可由以下的时滞微分方程产生[20]:

(13)

式(13)中:τ为时滞参数.

当τ≥17时,系统出现混沌特性.参数越大,混沌特性越明显.在r=17和x(0)=1.2的条件下,利用Simulink仿真环境(参数设置与4.1节相同)解微分方程.DRNN模型输入输出数据如式(14)所示:

[x(t-5),x(t-4),x(t-3),x(t-2),x(t-1);x(t)]

(14)

hCS算法参数设置与第3节相同,仿真结果见图5所示.对应的根均方差列于表3中.观察图5和表3可知,在高维混沌系统的辨识建模中,hCS-DRNN依旧具有更好的模型精度.

(a)hCS-DRNN训练误差

(b)CS-DRNN训练误差

(c)hCS-DRNN测试误差

(d)CS-DRNN测试误差

(e)预测结果图5 混沌系统的DRNN辨识结果

表3 RMSE值

5 结论

本文针对非线性系统DRNN辨识模型的优化问题,提出了一种改进的布谷鸟搜索算法(hCS).hCS引入了杂交操作策略,从而提高算法的搜索性能.通过对12个典型测试函数的寻优和DRNN模型的优化,结果验证了本文方法的有效性,该方法也适用于其他非线性系统的辨识.

猜你喜欢
测试函数布谷鸟鸟巢
解信赖域子问题的多折线算法
布谷鸟读信
布谷鸟读信
一种基于精英选择和反向学习的分布估计算法
鸟巢
基于自适应调整权重和搜索策略的鲸鱼优化算法
重回鸟巢
鸟巢大作战
具有收缩因子的自适应鸽群算法用于函数优化问题
布谷鸟叫醒的清晨