RBF网络

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1BP网络具有函数逼近功能,属于全局逼近神经网络。全局的含义是节点的激活函数是全局性的,每个隐节点都影响网络的输出。而且激活函数在输入量上相互重叠,相互影响。使得网络的学习逼近和适应过程缓慢。BP网络易陷入局部极小的问题对其广泛应用有影响。寻求搜索速度快,克服局部极小的局部神经网络非常有必要。径向基函数(RBF)网络就是一种局部神经网络。三、径向基函数(RBF)神经网络2径向基函数(RBF,RadialBasisFunction)神经网络是一种局部神经网络。其生物学基础是大脑皮层和视觉皮层的局部调节和交叉重叠的接受域。与BP网络主要的不同是隐含层网络节点的激活函数用了径向基函数。1.RBF网络结构RBF网络的理论基础是函数逼近,用一个具有单隐层的前向网络来逼近任意函数。它可以任意精度逼近任意函数。输入层隐含层输出层隐含层的激活函数实现了输入输出的非线性映射。输出层对隐含层的输出进行线性加权组合,属于线性变换。3RBF网络代表一类采用具有中心点的激活函数的神经网络。RBF:bj(x)是隐含层输出;是基函数;表示欧氏范数;cj是基函数的中心点。以输入空间的点x与中心cj的距离作为函数的自变量。因距离是径向同性的,固函数得名径向基函数。22()exp()2jjjbxxc高斯函数是具有局部分布,对中心点径向对称衰减,非负的非线性函数。是扩展常数或宽度。越小,函数宽度越小。输入信号靠近中心点cj时,隐含层才有较大的输出,具有局部化接收域的能力。通常采用高斯型的基函数。()(),1,2,,jjjbxjpxc()jjj42.网络输出计算隐含层:输出层:m1(),1,2,,iijjjywbimxbp(x)b1(x)22()exp(),1,2,,2jjjbxjpxc53.RBF网络的训练1)基函数固定根据输入样本随机选取基函数的中心点,如果基函数个数足够多,就能充分反映输入样本的概率分布,网络学习的结果能很好地逼近非线性函数。连接权的修正公式:基函数固定的RBF网络一般需要更多的基函数才能实现对较为复杂的非线性函数的逼近,网络规模一般较大。*[1][]([])()/()()Tijijiijwkwkyykbxbxbx62)基函数与权值同时调整RBF网络调整的参数分别是中心向量cj、RBF的宽度、和网络的连接权值。分为两个阶段:a.由输入样本用聚类分析方法求出隐含层各节点的cj和b.由训练样本利用有教师学习算法训练调整连接权值。jjbp(x)b1(x)①无教师学习对所有输入样本进行聚类,求得各隐层节点RBF的中心。用k-均值聚类算法调整中心。7算法步骤:(1)随机给定各隐节点的初始中心(2)计算欧氏距离,并求出最小距离的节点(3)调整中心:学习速率,(4)k=k+1,转到第(2)步,重复上述过程,直到c(k)的改变量小于要求的值。(5)确定扩展常数(0)1,2,,jjpc,min()()(1),1()min()():jjjrdkkkjpdkdkdkrc隐层节点序号,x()(1),1,()(1)(()(1))jjrrrkkjpjrkkkkcccccx()minjjiijkcdc01jjd8②有教师学习当确定后,训练由隐层至输出层间的连接权值,它是线性方程组,则求连接权值成为线性优化问题,可利用各种线性优化算法求得,如:LMS算法、最小二乘递推法等。设有q组输入/输出样本xq/dq,q=1,2,…,L。目标函数应用LMS,连接权值调整当,算法结束。jc2221=11112LLLmqqqiqiqqqqiJdyedy2()(1)()qjqjijiqekxwkwkxJ9RBF网络训练通用的方法是用误差反传机制,利用随机梯度法对基函数的中心和权值同时进行调整。假设RBF网络是单输出,k时刻的性能指标代入高斯函数22*11[][][][]([],[])22MjjjEkekykwkbkkxc222*2[][]11[][][][]exp22[]MjjjjkkEkekykwkkxc10按随机梯度法得到参数修正公式[][[1][][[][]]][]2[1][][][][][]([],[],[])([][])[]jjjjccckjjjcjjjjkkEkcekwkkbkkkkkkcccxcxc[]22[1][][][][][]([],[],[])[][][]jjjjkjjjjjjjkkEkekwkkbkkkkkkxcxc114.RBF网络用于函数逼近用RBF逼近函数matlabRBF函数net=newrb(P,T,GOAL,SPREAD,MN,DF)P:输入向量,T:输出向量,GOAL:均方误差SPREAD:扩展速度MN:最大隐层节点数DF:显示间隔间加的神经元数22()1.1(12)exp2xyxxx12x1=-4:0.08:4.32;%自变量范围[-4,4.32]%原始函数t1=1.1*(1-x1+2*x1.^2).*exp(-x1.^2/2);figure(1);plot(x1,t1);holdon;pausex=-4:0.08:4;%训练数据自变量范围[-4,4]N=length(x);%带噪声的训练数据t=1.1*(1-x+2*x.^2).*exp(-x.^2/2)+0.05*rand(1,N)%RBF网络生成net=newrb(x,t,0.01,0.2,100);%均方误差,扩展速度,最多100个节点t1p=sim(net,x+0.01);figure(1);plot(x+0.01,t1p,‘ro’);holdon;pausex2=4:0.08:4.32;%外推自变量范围[4,4.32]t2=sim(net,x2);%外推数据figure(1)plot(x2,t2,'bo');holdoff;22()1.1(12)exp2xyxxx13-4-3-2-101234500.511.522.53xy(x)22()1.1(12)exp2xyxxx1444.054.14.154.24.254.34.350.0910.0920.0930.0940.0950.0960.0970.0980.0990.1xe155.基于RBF网络的PID参数整定要求:采用自整定PID控制使被控对象输出跟踪输入信号。设非线性被控对象20.1(1)(1)()1(1)ykukykyk跟踪输入信号:矩形波(1,-1)()sgn(sin(2))rkt00.20.40.60.811.21.41.61.82-1.5-1-0.500.511.5time(s)rin,yout16PID控制采用增量表示的位置型()(1)[()(1)]()[()2(1)(2)]PIDukukKekekkekKekekek令(1)()(1),(2)(),(3)()2(1)(2)cccxekekxekxekekek()(1)(1)(2)(3)PcIcDcukukKxkxKx17用梯度下降法求PID参数更新规律定义性能指标21(),()()()2Jekekrkyk()(1)PPPPcPPJJyukekxkyuuyk()(2)IIIIcIIJJyukekxkyuuyk()(3)DDDDcDDJJyukekxkyuuyk()(1)(1)(2)(3)PcIcDcukukKxkxKx()(1)()(1)()(1)PPPIIIDDDKkKkkKkKkkKkKkk(1)()(1)(2)()(3)()2(1)(2)cccxekekxekxekekek18是被控对象输出对其输入的灵敏度(Jacobian信息)。用RBF网络作为辨识器跟踪被控对象的变化,在线获取。用RBF输出yL跟踪y()()()()LykykukukRBF网络结构:N3-6-1,网络的三个输入分别是u(k),y(k),y(k-1)。22exp2jjjbXCjmjjLbwy1yu()()ykuk121mjjjjjcxwb1mjjjbwu1xu19按梯度下降法得RBF的迭代公式))2()1(())()(()1()(kwkwbkykykwkwjjjLjj23jjLjjjykykwb(()())XC))2()1(()1()(kkkkjjjjj2jjijiLjjxccykykw(()())112jijijijijickckcckck()()(()())节点中心节点宽度权值211(()())2LJykyk辨识器性能指标20仿真程序设计1.设定变量及初值2.输入信号计算(r)3.对象输出计算(y)4.RBF计算,网络输出计算(yL)5.RBF参数更新6.Jacobian信息计算7.自适应PID参数计算8.PID控制量计算(uk)9.参数回传计算10.绘图21rin(k)=1.0*sign(sin(2*pi*k*ts));%计算输入信号yout(k)=(-0.1*y_1+u_1)/(1+y_1^2);%计算非线性对象输出forj=1:1:6h(j)=exp(-norm(x-ci(:,j))^2/(2*bi(j)*bi(j)));%径向基函数计算endymout(k)=w‘*h;%RBF输出forj=1:1:6d_w(j)=aite*(yout(k)-ymout(k))*h(j);%RBF权值增量endw=w_1+d_w+alfa*(w-w_1);%RBF权值更新forj=1:1:6%计算RBF宽度增量d_bi(j)=aite*(yout(k)-ymout(k))*w(j)*h(j)*(bi(j)^-3)*norm(x-ci(:,j))^2;endbi=bi_1+d_bi+alfa*(bi_1-bi_2);%RBF宽度更新22yu=0;forj=1:1:6yu=yu+w(j)*h(j)*(-x(1)+ci(1,j))/bi(j)^2;%Jacobian信息计算enddyout(k)=yu;error(k)=rin(k)-yout(k);%计算误差e=r-ykp(k)=kp_1+aitekp*error(k)*dyout(k)*xc(1);%自适应PID参数计算kd(k)=kd_1+aitekd*error(k)*dyout(k)*xc(2);ki(k)=ki_1+aiteki*error(k)*dyout(k)*xc(3);u(k)=u_1+kp(k)*xc(1)+kd(k)*xc(2)+ki(k)*xc(3);%PID控制量计算ifu(k)=10,u(k)=10;end%控制量限幅ifu(k)=-10,u(k)=-10;end23x=[u(k)yout(k)y_1]‘;%准备RBF的输入xc(1)=error(k)-error_1;xc(2)=error(k)-2*error_1+error_2;xc(3)=error(k);u_1=u(k);y_1=yout(k);w_2=w_1;w_1=w;%权值传递error_2=error_1;%误差传递error_1=error(k);kp_1=kp(k);kd_1=kd(k);ki_1=ki(k);%PID参数传递24PID参数未整定时仿真结果:固定参数kP=0.03,kI=0.01,kD=0.03输出跟踪输入性能不好。00.20

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功