您好,欢迎访问三七文档
3.5径向基函数神经网络模型概述1985年,Powell提出了多变量插值的径向基函数(RadicalBasisFunction,RBF)方法1988年,Moody和Darken提出了一种神经网络结构,即RBF神经网络RBF网络是一种三层前向网络RBF网络的基本思想用RBF作为隐单元的“基”构成隐含层空间,将输入矢量直接(即不需要通过权连接)映射到隐空间当RBF的中心点确定后,映射关系也就确定隐含层空间到输出空间的映射是线性的RBF网络特点只有一个隐层,且隐层神经元与输出层神经元的模型不同。隐层节点激活函数为径向基函数,输出层节点激活函数为线性函数。隐层节点激活函数的净输入是输入向量与节点中心的距离(范数)而非向量内积,且节点中心不可调。隐层节点参数确定后,输出权值可通过解线性方程组得到。隐层节点的非线性变换把线性不可分问题转化为线性可分问题。局部逼近网络(MLP是全局逼近网络),这意味着逼近一个输入输出映射时,在相同逼近精度要求下,RBF所需的时间要比MLP少。具有唯一最佳逼近的特性,无局部极小。合适的隐层节点数、节点中心和宽度不易确定。222exprr22exp11rr2/1221rr1.Gauss(高斯)函数:2.反演S型函数:3.拟多二次函数:σ称为基函数的扩展常数或宽度,σ越小,径向基函数的宽度越小,基函数就越有选择性。径向基函数(RBF)全局逼近和局部逼近全局逼近网络局部逼近网络当神经网络的一个或多个可调参数(权值和阈值)对任何一个输出都有影响,则称该神经网络为全局逼近网络。对网络输入空间的某个局部区域只有少数几个连接权影响网络的输出,则称该网络为局部逼近网络学习速度很慢,无法满足实时性要求的应用学习速度快,有可能满足有实时性要求的应用RBF网络的工作原理函数逼近:以任意精度逼近任一连续函数。一般函数都可表示成一组基函数的线性组合,RBF网络相当于用隐层单元的输出构成一组基函数,然后用输出层来进行线性组合,以完成逼近功能。分类:解决非线性可分问题。RBF网络用隐层单元先将非线性可分的输入空间设法变换到线性可分的特征空间(通常是高维空间),然后用输出层来进行线性划分,完成分类功能。RBF神经网络两种模型正规化网络RN广义网络GN通用逼近器模式分类基本思想:通过加入一个含有解的先验知识的约束来控制映射函数的光滑性,若输入一输出映射函数是光滑的,则重建问题的解是连续的,意味着相似的输入对应着相似的输出。基本思想:用径向基函数作为隐单元的“基”,构成隐含层空间。隐含层对输入向量进行变换,将低维空间的模式变换到高维空间内,使得在低维空间内的线性不可分问题在高维空间内线性可分。两种模型的比较隐节点=输入样本数隐节点<输入样本数所有输入样本设为径向基函数的中心径向基函数的中心由训练算法确定径向基函数取统一的扩展常数径向基函数的扩展常数不再统一由训练算法确定没有设置阈值输出函数的线性中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值之平均值之间的差别。RNGN3.5.1RBF神经网络模型径向基神经网络的神经元结构激活函数采用径向基函数以输入和权值向量之间的距离作为自变量2-distR(dist)=edist径向基神经网络结构RBF网络与BP网络比较:RBF网络的输出是隐单元输出的线性加权和,学习速度加快BP网络使用sigmoid()函数作为激活函数,这样使得神经元有很大的输入可见区域径向基神经网络使用径向基函数(一般使用高斯函数)作为激活函数,神经元输入空间区域很小,因此需要更多的径向基神经元RBF学习算法RBF学习的三个参数:①基函数的中心②方差(扩展常数)③隐含层与输出层间的权值ijwiit当采用正归化RBF网络结构时,隐节点数即样本数,基函数的数据中心即为样本本身,参数设计只需考虑扩展常数和输出节点的权值。当采用广义RBF网络结构时,RBF网络的学习算法应该解决的问题包括:如何确定网络隐节点数,如何确定各径向基函数的数据中心及扩展常数,以及如何修正输出权值。学习方法分类(按RBF中心选取方法的不同分)随机选取中心法自组织选取中心法有监督选取中心法正交最小二乘法等3.5.2RBF网络的学习算法自组织选取中心学习方法第一步,自组织学习阶段无导师学习过程,求解隐含层基函数的中心与方差;第二步,有导师学习阶段求解隐含层到输出层之间的权值。高斯函数作为径向基函数221R()=exp(-)2pipiccxx网络的输出(网络结构如图2-21所示)设d是样本的期望输出值,那么基函数的方差可表示为:21mjjijdycPh22i=11y=exp(-)=1,2,,2jijpiwcjnx自组织选取中心算法步骤1.基于K-均值聚类方法求取基函数中心(1)网络初始化。随机选取个训练样本作为聚类中心。(2)将输入的训练样本集合按最近邻规则分组。按照与中心为之间的欧氏距离将分配到输入样本的各个聚类集合中。(3)重新调整聚类中心。计算各个聚类集合中训练样本的平均值,即新的聚类中心,如果新的聚类中心不再发生变化,则所得到的即为RBF神经网络最终的基函数中心,否则返回(2),进入下一轮的中心求解。h(1,2,,)icihpxicpx(1,2,,)ppPpicic2.求解方差RBF神经网络的基函数为高斯函数时,方差可由下式求解:式中为中所选取中心之间的最大距离。3.计算隐含层和输出层之间的权值隐含层至输出层之间神经元的连接权值可以用最小二乘法直接计算得到,计算公式如下:max,1,2,2icihhmaxc22maxexp()1,2,,;1,2,,pihwxcpPihc3.5.3RBF网络学习算法的MATLAB实现函数名功能newrb()新建一个径向基神经网络newrbe()新建一个严格的径向基神经网络newgrnn()新建一个广义回归径向基神经网络newpnn()新建一个概率径向基神经网络RBF网络的MATLAB函数及功能newrb()功能建立一个径向基神经网络格式net=newrb(P,T,GOAL,SPREAD,MN,DF)说明P为输入向量,T为目标向量,GOAL为圴方误差,默认为0,SPREAD为径向基函数的分布密度,默认为1,MN为神经元的最大数目,DF为两次显示之间所添加的神经元神经元数目。newrbe()功能建立一个严格的径向基神经网络,严格是指径向基神经网络的神经元的个数与输入值的个数相等。格式(1)net=newrb(P,T,SPREAD)说明各参数的含义见Newrb。举例:RBF网络实现函数逼近1.问题的提出:假设如下的输入输出样本,输入向量为[-11]区间上等间隔的数组成的向量P,相应的期望值向量为T。P=-1:0.1:1;T=[-0.9602-0.5770-0.07290.37710.64050.66000.46090.1336-0.2013-0.4344-0.5000-0.3930-0.16470.09880.30720.39600.34490.1816-0.0312-0.2189-0.3201];%以输入向量为横坐标,期望值为纵坐标,绘制训练用样本的数据点。figure;plot(P,T,'+')title('训练样本')xlabel('输入矢量P')ylabel('目标矢量T')gridon%目的是找到一个函数能够满足这21个数据点的输入/输出关系,其中一个方法是通过构建径向基函数网络来进行曲线拟合2.网络设计:设计一个径向基函数网络,网络有两层,隐含层为径向基神经元,输出层为线性神经元。p=-3:0.1:3;a=radbas(p);figure;plot(p,a)title('径向基传递函数')xlabel('输入p')ylabel('输出a')gridon%每一层神经元的权值和阈值都与径向基函数的位置和宽度有关系,输出层的线性神经元将这些径向基函数的权值相加。如果隐含层神经元的数目足够,每一层的权值和阈值正确,那么径向基函数网络就完全能够精确的逼近任意函数。a2=radbas(p-1.5);a3=radbas(p+2);a4=a+a2*1+a3*0.5;figure;plot(p,a,'b-',p,a2,'b-',p,a3,'b-',p,a4,'m--');title('径向基传递函数之和')xlabel('输入p')ylabel('输出a')gridon%应用newb()函数可以快速构建一个径向基神经网络,并且网络自动根据输入向量和期望值进行调整,从而进行函数逼近,预先设定均方差精度为eg以及散布常数sc。eg=0.02;sc=1;net=newrb(P,T,eg,sc);3.网络测试:将网络输出和期望值随输入向量变化的曲线绘制在一张图上,就可以看出网络设计是否能够做到函数逼近。figure;plot(P,T,'+');xlabel('输入');X=-1:0.01:1;Y=sim(net,X);holdon;plot(X,Y);holdoff;legend('目标','输出')gridon例2建立一个径向基神经网络,对非线性函数y=sqrt(x)进行逼近,并作出网络的逼近误差曲线。%输入从0开始变化到5,每次变化幅度为0.1x=0:0.1:5;y=sqrt(x);%建立一个目标误差为0,径向基函数的分布密度为%0.5,隐含层神经元个数的最大值为20,每增加5个%神经元显示一次结果net=newrb(x,y,0,0.5,20,5);t=sim(net,x);%在以输入x和函数值与网络输出之间的差值y-t坐标%上绘出误差曲线,并用"*"来标记函数值与网络输%出之间的差值plot(x,y-t,'*-')误差曲线和逼近曲线
本文标题:径向基函数神经网络
链接地址:https://www.777doc.com/doc-7271951 .html