遗传算法与递归神经网络在非线性系统辨识中的应用.docx
《遗传算法与递归神经网络在非线性系统辨识中的应用.docx》由会员分享,可在线阅读,更多相关《遗传算法与递归神经网络在非线性系统辨识中的应用.docx(10页珍藏版)》请在冰豆网上搜索。
遗传算法与递归神经网络在非线性系统辨识中的应用
遗传算法与递归神经网络在非线性系统辨识中的应用
遗传算法与递归神经网络在非线性系统辨识中的应用摘要:
本文提出了一种遗传算法与递归神经网络的非线性系统辨识算法。
该算法中的递归神经网络使用的是连续型Hopfield神经网络结构,在文章中首先对该种神经网络的收敛性能进行了分析,然后将其应用于对非线性系统的辨识。
同时,应用遗传算法来获得网络的参数,并给出了遗传算法的简要步骤。
最后进行了仿真,仿真结果表明这种算法能成功地应用在非线性系统的辨识中。
1引言
神经网络是一个各元素交互关联的系统,是人脑神经系统的模拟。
神经网络的各个神经单元都是在同一时刻对数据信息进行处理,而不是传统一步一步地计算方法。
近年来,在人工神经网络领域有两种网络越来越受到人们的重视,即多层神经网络和递归神经网络。
文献[1-4]证明了多层神经网络在模式识别中得到了非常大的成功,而递归神经网络也应用于联合记忆的优化问题[5-8]。
从一个理论角度来看,多层神经网络用于映射静态非线性系统的特性,而递归神经网络用于再现动态非线性反馈系统。
在本文中,我们的重点是用递归神经网络对非线性动态对象进行系统辨识。
Hopfield和Tank介绍了一种应用于各种优化问题的神经网络[6-7]。
本文的目标主要是对Hopfield神经网络进行改进,并将其应用于非线性系统辨识。
许多关于用离散时间模型来辨识未知系统方面的研究表明用阶跃指数函数作为激活函数容易陷入局部极小值[9-12]。
为了加快网络的学习速度,Hopfield提出了一种模拟神经网络,用该网络的联系单元来分级响应。
因此,我们选取连续型Hopfield神经网络来解决系统辨识问题。
在训练连续型Hopfield神经网络时,首先要确定一些初始的设置。
在系统辨识模型时,遗传算法(GA)是最先用于优化递归神经网络的网络参数的。
GA是并行、全局算法,是模拟生物进化和遗传。
通常用于对参数的搜索,即通过对参数编码集的操作来搜索最优解。
在文献[14]中对GA算法的复杂性进行了讨论。
由于GA具有高效的全局优化能力,所以它在很多领域都备受关注。
在控制领域也获得了很多成功的应用[15-18]。
在本文中,用GA算法来设置递归网络的初始参数值。
通过适当操作,系统的误差达到最小,从而达到辨识系统的目的。
连续Hopfield神经网络的模型和网络的收敛性将会在第2节进行介绍。
系统辨识的参数是神经网络的神经元状态值。
在第3节中将讨论GA算法在搜索递归神经网络用于系统辨识的模型参数。
第4节将给出系统的表示和学习过程,并且在第5节给出了一个非线性系统辨识的例子。
最后一节进行总结。
2.网络结构和收敛性
Hopfield网络是由一层相互作用的处理单元即神经元组成的,与多层网络不同的是,递归网络的神经元是一种扩展的反馈[5-6]。
这种网络中每个神经元的状态方程是用微分(连续型)或差分方程(离散型)方程来表示的。
在本文,我们只考虑连续型模型。
带有反馈层的网络结构主要用于系统辨识、控制和滤波。
从计算的角度来看,含有反馈状态的递归神经网络与单纯的前馈网络相比其计算量会更大。
由Hopfield提出的一种递归神经网络是只含N个神经元单层网络,如图1所示。
该种网络结构可以表示一组时间连续的动态系统,其工作方式为:
其中vi是第i个神经元的状态,yi是第i个神经元的输出,是从第j个神经元到第i个神经元的连接权值,Ii是第i个神经元的输入的偏置,f()是一个Sigmoid函数,N是所需神经元的个数。
在文献[9]中用简化的能量函数对该种网络的稳定性进行了研究,
对上式的两边求导,则得到
应用求导定理,有
将方程(5)代入(4)中,得到
由于yi是关于vi的Sigmoid函数,则可知道总是大于0,因此,其能量梯度为非正。
这就说明动态系统服从能量最小。
该系统的的学习过程是由下式决定,
其中f是一个非系统函数,是学习速率,s是限制值,使,是时间间隔。
误差代价函数为定义:
其中T是时间段,e是误差矢量,为系统的实际状态和估计值之差。
我们的目标是使被辨识的求知对象参数的代价函数最小,将对象分成三部分,线性状态,非线性状态和控制信号,则有,
其中A、B、C为未知矩阵,x是对象的线性状态矢量,xnl是对象的非线性状态矢量,u是控制矢量。
则未知系统的状态方程定义如下:
现在,我们需要使最小,即使最小,因此误差代价函数的形式为:
根据Hopfield网络的收敛特性可知,当偏微分式为0时,可以得到系统的稳定状态。
用代入方程中的x,假设是待估参数的最优解,则有
由于,则有:
因为明显不为0,则x(t)和u(t)在[0,T]内线性独立,且xnl(t)和u(t)在[0,T]内也线性独立。
基于上述条件,则可得到网络的收敛特性。
从而可辨识到非线性系统的状态矩阵A,B,C。
3.应用遗传算法获得网络的操作算子
因为遗传算法具有全局优化的能力,因此适合确定递归网络的操作算子s和T,这些操作算子能指出系统的性能。
GA是基于生物进化和人类遗传原理的搜索和优化算法。
GA的基本原理首先是由Holland提出的[20]。
GA算法是假设问题潜在解是一个个体,且由一系统参数表示。
这些参数即为基因的染色体,是由一串二进制构成的。
一般来说,当适应度值为正时,则表明染色体具有“优秀”的基因,而适应度值则是与问题的目标函数相关联的[21]。
通过遗传进化,经过淘汰而留下的染色体的后代具有更好的适应性,因而可作为问题的最优解。
在一些GA算法的应用中,染色体群的初始值都是随机设定的。
在每一轮遗传进化
中,现存的染色体群通过进化操作生成后代。
这些能成功进化的染色体群即被称为父代群或配偶池,是通过一些特殊的选择规则来确定的。
父代基因通过交叉和重组产生后代。
在进化的过程中,好的染色体会生成更多的下代,其后代也会有更高的存活率,这是模拟自然界中的优胜劣汰规则。
本文采用的选择操作是一个普遍的轮盘选择法[22]。
通过重复进化,直到达到了期望的终止条件。
这个终止条件或为进化的代数,或为不同代数个体变化数量,或为一个预先定义的适应度值。
为了使简化GA的进化,选择规则是由其他操作算子决定,同时需要两个基本的操作,即交叉和变异。
本文所用的交叉算子是随机设定的。
两组染色体的部分在交叉点处的右边通过互换位置形成下代。
交叉概率(Pc)通过在0.6到1.0之间。
而对于变异算子,则是在交叉之后对每一个后代个体进行的。
是对染色体的每一位以小概率进行变异,这个概率(Pm)通过小于0.1。
变异概率Pm和交叉概率Pc作为控制参数是解决复杂非线性优化问题的参数。
另外,他们的设定值是依赖于目标函数的。
在本文中,群体大小为20,交叉概率为0.8,变异概率为0.01,每串染色体有24位,每8位分别为s和T,适应度函数定义为:
其中小于1,n是进化代数的间隔,x是期望状态值,是待辨识系统的估计值。
4.系统表示和学习过程
给出一个简单的非线性系统:
其中aij,bi,ci是系统的待辨识参数,u是控制信号,则Hopfield网络中的方程(14)为:
其中yi为第i个神经元的输出,方程(16)也叫估计系统,展开方程(11),并代入到Hopfield网络表示式(19)中,可得到
权值和输入偏置如下:
图2所示为用本文讨论的单层递归神经网络来辨识一个连续时间模型的方框图,应用方程(9)来辨识系统结构,下面将描述如何来辨识非线性系统。
.
Step1:
应用GA得到递归神经网络的操作算子s和T。
Step2:
给定u(t),yi(0),x1(0),x2(0),令,计算
Step3:
通过方程(18)计算,方程(18)中的元素可以通过对Step2的结果进行累加。
Step4:
应用方程
(2)和(7)更新神经元的输出。
Step5:
检验系统的收敛性,如果对于所有的均成立,则跳至Step6,否则令,然后跳回Step4。
Step6:
检验GA的适应度值,如果出现收敛,则停止学习,并打印出未知系统的参数,否则跳回Step1。
5.例子
本节应用仿真计算来讨论非线性动态系统的辨识效果。
待辨识的系统用方程(15)表示,本文用一个简单的非线性系统来测验我们的学习算法。
用试错法辨识非线性系统的结果如图3至10所示,最大误差点在b2处
表I显示了不同的时间段T其收敛速度也不同的。
Sigmoid函数的不同幅值S,得到的误差也不同,如表格II所示。
对于不同的系统,优化集T、s和也是不同的。
表格III表示了用GA优化网络操作算子的结果。
最大误差小于0.8%,与试错法的最大误差1.28%相比,,从误差角度来看该算法改进了40%。
6.结论
用一个简单的非线性系统来检验算法的效果,理论上来说,这种类型的非线性系统都能被辨识。
然而,在实际估计中,收敛特性由很多因素影响,如时间段T,学习速率,幅值s,。
从仿真结果可知,如果未优化网络的操作牌子,则非线性系统的误差是很大的,用本文提出的结合GA和Hopfield神经网络来辨识非线性系统,其效果是较理想的。