您的当前位置:首页RBF网络的建立以及其在预测控制的应用

RBF网络的建立以及其在预测控制的应用

2020-05-08 来源:爱问旅游网
RBF网络的建立以及其在预测控制的应用

动103 杨一航 10101380

摘要 本次论文主要描述了RBF神经网络,与BP网络相似但又有区别,简单介绍BP网络,着重介绍了RBF神经网络原理,并进行matlab编程,建立并检测RBF网络的性能。最后描述了RBF网络在存在时滞比较大的控制系统中进行预测控制的应用。

关键字:RBF神经网络 matlab编程 预测控制 0引论

神经网络的结构类型很多,大致可以分为前向网络和反馈网络。其中最常用的两种是BP神经网络和RBF神经网络,另外还有基于这两种网络的多种改进模型[1]。RBF神经网络可以根据具体问题确定相应的网络拓扑结构,具有自学习、自组织、自适应功能,它对非线性连续函数具有一致逼近性,学习速度快,可以进行大范围的数据融合,可以并行高速地处理数据。RBF神经网络的优良特性使得其显示出比BP神经网络更强的生命力,正在越来越多的领域内替代BP神经网络。

1 BP网络介绍

BP神经网络(即Back-Propagation网络)是当前应用最广泛的一种人工神经网络。它的结构比较简单,工作状态稳定,硬件容易实现。BP网络是一种反向传递并修正误差的多层映射网络,通常由输入层,中间隐含层,输出层三层神经元组成,一般可用LMS法实现误差后向传播学习方法[2]。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

2 RBF神经网络 2.1 RBF网络原理

RBF神经网络即径向基函数神经网络(Radical Basis Function)。径向基函数神经网络是一种高效的前馈式神经网络,它具有其他前向网络所不具有的最佳逼近性能和全局最优特性,并且结构简单,训练速度快。同时,它也是一种可以广泛应用于模式识别、非线性函数逼近等领域的神经网络模型[3]。 径向基函数神经网络,其结构与BP网络相似,由3层组成,隐层神经元的激励函数选取高斯函数:Ri(p)exp(||pci||)

2i2 与BP网络不同,隐层神经元中的基函数用以实现从输入向量到Ri(R)的非线性映射,其中p为R维输入向量,ci为高斯函数中心,i为该函数围绕中心点的宽度。||pci||为输入模式与中心向量之间的距离。

从自己理解上看,RBF只是把输入映射到另一个空间,类似于时域与频域这两者之间的映射关系一样。从而,原先的几个输入,如果目标是分类的话,可能因分布杂乱而无法达到,但映射到另一空间后,就能达到分类的目的。RBF的隐层,就是输入层映射过去的那一层,这跟BP网络的隐层是不同的。

空间1 :非线性 空间2:线性

1(x) W1 X1  输出y

X2 1(x) W2

图1 RBF原理图示

2.2一个简单RBF网络的matlab建立

假设给定一个f函数,它的表达式已知,那么对于每个输入,都有确定的输出。对于一个RBF网络,在matlab中,只需给定输入,然后用newrb即可建立该网络,然后可以进行训练,程序如下所示(参考matlab编程视频编写)

这个是一个简单RBF网络,x为输入,F为输出。直接运行即可对该RBF网络进行训练(跟BP网络的不同之处),如下图所示。这是训练结果,训练不断修改权值,直至误差小到一定程度。

图2 训练误差函数曲线

2.3检验该RBF网络的性能

在网络建好之后,编写以下程序,来进行检测这个网络的输出,与理想的输出之间的误差。

程序代码如下:

%首先产生一些数据,再转换成一维数据,合并成输入

interval=0.1;

[i, j]=meshgrid(-1.5:interval:1.5); row=size(i); tx1=i(:); tx1=tx1'; tx2=j(:); tx2=tx2'; tx=[tx1;tx2];

%将tx带入网络,进行模拟,画出输出图形 ty=sim(net,tx);

v=reshape(ty,row); figure subplot(1,3,2) mesh(i,j,v); zlim([0,60])

%带入原函数,画出理想图形

interval=0.1;

[x1, x2]=meshgrid(-1.5:interval:1.5);

F = 20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2); subplot(1,3,1) mesh(x1,x2,F); zlim([0,60])

%画误差曲线

subplot(1,3,3) mesh(x1,x2,F-v); zlim([0,60])

图3 RBF网络预测结果图

从图中可以看出,左边那幅图是理想输出三维曲线,中间的图则是经过训练之后的RBF网络的预测输出,图形大致与理想相符。右边这幅图是理想输出与RBF网络输出之间的误差。每一次运行结果图形都会略有不同,因为在训练过程中产生的权值不同,但相差不大。

从误差图的结果可以看到,在四个角上的误差特别大,这可能是由于训练数据不够导致该网络不够完善,所以可以牺牲时间,即增加学习数据的个数,如下图所示,当将原程序学习数据的个数从100增加到400时(运行时发现,训练时间远远不止原来的4倍,因此学习数据过少,会达不到精度要求,而数据过多,则会消耗大量的时间)结果误差变很小了。

图4 增加训练次数后的结果图

3 RBF在控制系统中的应用

RBF神经网络能够逼近任意复杂的非线性函数关系(一般神经网络都可以), 具有很强的模式识别和自学习能力, 从之前matlab编程测试结果也可看出,因而显示出解决高度非线性系统在模型辨识和控制方面等问题的巨大潜力.

BP 网络是被最为广泛应用的一类网络, 但BP网络由于存在局部最优、训练速度慢及效率低等问题, 很难在实时控制中应用. RBF 网络在一定程度上克服了这些问题。

RBF 网络 Ki Kp Kd D r(k) e PID控制器 被控对象 y -

图5 RBF神经网络PID控制系统

3.1RBF 神经网络预测控制模型

在已知系统模型时, 为得到多步预测模型, 可利用白噪声信号作为系统输入,用采集到的输入量和输出量来构造训练样本, 首先根据所有的输入样本利用Kmeans 算法决定隐层各节点的高斯核函数的中心值和宽度向量, 然后在决定好隐层的参数后, 根据样本利用最小二乘原则求出输出层的权值[4]。

设定参考轨迹,然后进行反馈校正,滚动优化。

在实用中受采样周期限制, 规定一个最大迭代次数N max , 这样即使最后未达到最优解, 仍然是沿着最优解的方向得到了较满意的解。 综上可得到如下控制步骤:

1. 用白噪声或其他信号激励对象, 得到被控对象的开环输入输出信号, 把此信号作为训练神经网络辨识器的样本, 经过反复训练, 最终得到精度令人满意的神经网络模型。

2. k 时刻, 测得系统的输出y(k),利用预测值ym(k)计算得到模型偏差修正e(k) 3. 取u(k)= u(k-1),将u(k),u(k-1),输入到神经网络模型得其输出ym(k+p) 4. 由步骤2和3得到的e(k)和ym(k+p),按式(2)求出yc(k+p) 5. 利用式(4)求出新的u(k)

6. 判断u(k)是否满足要求或迭代次数是否超过Nmax , 否则转步骤3, 是则转步骤7

7. 将由步骤6 得到的u ( k ) 送入实际对象和神经网络模型, 产生实际响应y ( k ) 与模型预测y m ( k+ p ) 。

8. 下一时刻, 利用实时采到的数据回到步骤b,计算下一步的控制量。

3.2 仿真试验

采用下述的仿真试验. 控制对象选取具有时滞的非线性时变系统

参考输入是幅度为1 的正负跳变的方波, 方波的周期为200, 由图6可以看出, 本系统有较好的跟踪性能, 当被控对象的参数发生变化后, 系统仍有较强的自适应能力, 控制效果令人满意。 图7 为系统的控制量曲线。

图6 方波跟踪响应仿真曲线 图7 控制量曲线

仿真结果表明该算法具有良好的动态响应和较强的鲁棒性, 取得了较好的控制效果. 说明该算法适合于一类具有时滞的非线性系统,将基于RBF 神经网络的预测控制用于一些过程控制系统中,可以取得良好的控制效果,优于一般的常规PID控制。

参考文献

[1] 吕俊,张兴华。几种BP算法的比较研究,现代电子技术,2005,167(24):96-100

[2] 黄忠霖.控制系统MATLAB计算及仿真。第一版。北京:国防工业出版社, 2001,340—350

[3] 王旭东 RBF神经网络及其在过程控制中的应用 上海交通大学博士学位论文,上海,1997

[4] 宫赤坤,华泽钊.基于模糊神经的广义预测控制。吉林大学学报, 2002, 32(2):78~ 82

因篇幅问题不能全部显示,请点此查看更多更全内容