神经元网络径向基函数RBF神经网络2内容提要RBF网络结构RBF算法推导RBF建模步骤相关Matlab语言3RBF网络结构两层前向型神经网络,包含一个具有径向基函数神经元的隐层和一个具有线性神经元的输出层P1w1||dist||b1w2b2RS11R111S11S11S1n1S11S1a12SS12S12S2n12S2Sya2径向基层线性层4隐层是含有S1个神经元的径向基函数层,节点函数通常为高斯函数输出层是含有S2个神经元的线性层,节点函数通常是简单的线性函数5隐层节点的作用函数对输入信号在局部产生响应当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出具有局部逼近能力,学习速度快6RBF算法推导设有N个训练样本,则系统对所有N个训练样本的目标函数为学习的目的是使J≤¢(设定的均方误差)根据梯度下降法原理,可以推出输出权值,隐层节点,高斯函数的中心及宽度参数的迭代算法:22111111()22NNLNLppPkkkPpkpkJJtye7RBF算法推导121312()(1)[()()][(1)(2)][()()]()(1)[(1)(2)][()()]()(1)[(1)(2)]jjjjjjjjjjjjjjjjjijiLjjjjijijijijikktkykakkXWbtkykabbkbkbbkbkxwwtkykabwkwkwwkwk8RBF算法推导RBF网络的学习算法分为两个阶段。第一阶段是无导师学习,根据所有的输入样本确定隐含层各节点的高斯核函数的中心向量和宽度参数;第二阶段是有导师学习。在确定隐层的参数后,根据样本,利用最小二乘原则,求出隐层与输出层之间的权值。9RBF建模步骤RBF神经网络用于建模一般分为以下几个步骤:恰当选择学习样本。激励信号的选择一是要使训练数据具有持续激励的特性,二是应使系统的全部动态特性能被充分激励;学习样本数据的处理。一般来说学习数据都应做归一化处理,以便所有的数据在计算过程中具有相同的权重,同时10RBF建模步骤由于在实时控制中采集到的数据含有噪声,因此需要进行滤波处理;确定模型的阶次和时延。这可以应用被建模系统的先验知识来确定,也可以通过试验比较的方法来确定;采用恰当的学习算法完成RBF网络的离线学习;进行模型的检验和测试。可以采用交叉验证方法,即将样本数据分成训练集和11RBF建模步骤测试集,用训练集进行RBF网络的训练,用测试集进行RBF网络模型的测试;如果系统是时变的,必须用递推算法对RBF网络进行在线校正。12相关Matlab语言根据RBF神经网络的网络结构和工作原理,可确定以下编程步骤及相关语言:初始化,确定RBF网络模型的输入,输出向量。用newrb()函数设计一个满足一定精度的RBF网络。格式:net=newrb(P,T,g,s)Newrb()可自动增加RBF网络的隐层神经13相关Matlab语言元,直到均方差满足为止。其中P,T,g,s分别是输入向量,输出向量(目标值)均方差精度和径向基层的散布常数。g和s的取值直接影响到网络的拟合和泛化能力。用sim函数进行仿真。格式:y=sim(net,P)14相关Matlab语言下面看一个例子:用RBF网络逼近Hermit多项式22()1.1(12)exp()2xyxxx训练输入样本集x=-4﹕0.08﹕4,有噪声,样本长度L=101;测试输入集x2=4﹕0.08﹕4.32,长度L1=5;学习训练中,将带有噪声的y(x)作为目标函数,均方误差为0.8,径向基函数的扩展速度为0.7,隐层的神经元最大数目为100。绘制函数逼近曲线和函数逼近外推误差曲线。15相关Matlab语言按照RBF神经网络的编程步骤可得到:x=-4:0.08:4;t=1.1*(1-x+2*x.^2).*exp(-x.^2/2)+0.1*rand(1,101);p_test1=4:0.08:4.32;net=newrb(x,t,0.8,0.7,100);Y=sim(net,p_test1);x1=-4:0.08:4.32;x2=4:0.08:4.32;t1=1.1*(1-x1+2*x1.^2).*exp(-x1.^2/2);t2=1.1*(1-x2+2*x2.^2).*exp(-x2.^2/2);e=Y-t216相关Matlab语言wc1=e./t2figure(1)plot(x1,t1,'k-',x,t,'k+',x2,Y,'r+');xlabel('自变量x');ylabel('函数值y(x)');figure(2)plot(x2,e,‘b+',x2,e,‘b-');xlabel('自变量x');ylabel(‘误差值e’);运行程序,可得到函数逼近曲线和函数逼近外推误差曲线分别为:17相关Matlab语言18相关Matlab语言19参考书徐科军,陈荣保,张崇巍《自动检测中的共性技术》,清华大学出版社,2000董长虹,《Matlab神经网络与应用》,国防工业出版社,2005飞思科技产品研发中心,《神经网络理论与MATLAB7实现》,电子工业出版社,2005张国忠,《智能控制系统与应用》,中国电力出版社,2007