1、RBF神经网络RBF神经网络科学计算与数据处理实验报告 S312060007 毛施平 学姓 名 号 实验RBF神经网络的非线性映射 名称 1、 深入研究MATLAB在神经网络方面的应用 实2、 熟悉MATLAB中专业级Toolbox或Simulink的功能和用法 验3、 学会综合运用MATLAB解决神经网络方面的问题。 目的 一、背景知识: 实神经网络本质上是一个大规模非线性连续时间自适应的信息处理系统, 通过大量验简单关系连接实 现复杂的函数关系。系统具有很强的鲁棒性和容错性, 善于联想、 概括、类比和推广, 有很强的自学习能力, 可在学习过程中不断完善自己, 不断创新。 神方经网络模式识别
2、理论的研究一直是非常活跃的学科, 其发展与神经网络理论可以说是案 同步。 RBF(Radial basis function)网络是最早可能是Krige ,他在1951 年把矿藏的沉积看成是一个各向同性的稳定的随机函数的实现. 从而导出了广泛应用于矿藏分析的Kriging 方法。1971 年Hardy 用径向基函数Multi-Quadric来处理飞机外形设计曲面拟合问题, 取得了非常好的效果。1975 年Duchon 从样条弯曲能最小的理论出发导出了多元问题的薄板样条. 这些从不同领域导出的方法, 事实上都是径向基函数的插值方法, 二、BP学习过程 1、首先确定基函数的中心点和宽度 2、其次是
3、权值的学习 本示例程序采用2层网络,隐层为径向基神经元,输出层为线性神经元,应用newrb()函数构建径向基网络,预先设定均方差精度eg以及散布常数sc,本例中eg为0.02,sc为1,。应用grnn进行函数逼近,应用pnn进行变量的分类,使用离散的数据点,通过更改输入变量进行网络测试,就可以模拟具有很好的非线性映射能力的RBF神经网络。 三、实验步骤: 1、 通过工具箱Toolbox函数newrb()函数构建径向基网络 2、 通过改变输入值来获得不同的神经映射网络,来体会RBF神经网络的非线性映射能力。 3、 观察实验图形,总结实验。 1 1、 实验程序 实验%应用newrb()函数构建径向
4、基网络,对一系列数据点进行函数逼近 记P=-1:0.1:1; 录 T=-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609. 0.1336 -0.2013 -0.4344 -0.500 -0.3930 -0.1647 -0.0988. 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201; %绘制训练用样本的数据点 plot(P,T,r*); title(训练样本); xlabel(输入向量P); ylabel(目标向量T); %设计一个径向基函数网络,网络有两层,隐层为径向基神经元,输出层为线
5、性神经元 %隐层神经元的权值、阈值与径向基函数的位置和宽度有关,只要隐层神经元数目、权值、阈值正确,可逼近任意函数 %例如 a2=radbas(p-1.5); a3=radbas(p+2); a4=a+a2*1.5+a3*0.5; plot(p,a,b,p,a2,g,p,a3,r,p,a4,m-) title(径向基传递函数权值之和) xlabel(输入p); ylabel(输出a); %应用newrb()函数构建径向基网络的时候,可以预先设定均方差精度eg以及散布常数sc eg=0.02; 2 sc=1; %其值的选取与最终网络的效果有很大关系,过小造成过适性,过大造成重叠性 net=new
6、rb(P,T,eg,sc); %网络测试 plot(P,T,*) xlabel(输入); X=-1:.01:1; Y=sim(net,X); hold on plot(X,Y); hold off legend(目标,输出) %应用grnn进行函数逼近 P=1 2 3 4 5 6 7 8; T=0 1 2 3 2 1 2 1; plot(P,T,.,markersize,30) axis(0 9 -1 4) title(待逼近函数) xlabel(P) ylabel(T) %网络设计 %对于离散数据点,散布常数spread选取比输入向量之间的距离稍小一些 spread=0.7; net=new
7、grnn(P,T,spread); 3 %网络测试 A=sim(net,P); hold on outputline=plot(P,A,o,markersize,10,color,1 0 0); title(检测网络) xlabel(P) ylabel(T和A) %应用pnn进行变量的分类 P=1 2;2 2;1 1; %输入向量 Tc=1 2 3; %P对应的三个期望输出 %绘制出输入向量及其相对应的类别 plot(P(1,:),P(2,:),.,markersize,30) for i=1:3 text(P(1,i)+0.1,P(2,i),sprintf(class %g,Tc(i) en
8、d axis(0 3 0 3); title(三向量及其类别) xlabel(P(1,:) ylabel(P(2,:) %网络设计 T=ind2vec(Tc); spread=1; net=newgrnn(P,T,speard); 4 %网络测试 A=sim(net,P); Ac=vec2ind(A); %绘制输入向量及其相应的网络输出 plot(P(1,:),P(2,:),.,markersize,30) for i=1:3 text(P(1,i)+0.1,P(2,i),sprintf(class %g,Ac(i) end axis(0 3 0 3); title(网络测试结果) xlabe
9、l(P(1,:) ylabel(P(2,:) 2、 实验结果 第一步:绘制训练用样本的数据点 0.80.60.40.20-0.2-0.4-0.6-0.8-1-1-0.8-0.6-0.4-0.200.20.40.60.815 第二步: 设计一个径向基函数网络,网络有两层,隐层为径向基神经元,输出层为线性神经元 径向基传递函数权值之和1.81.61.41.21输出a0.80.60.40.20-3-2-10123输入p 第三步:网络测试结果(动态测试的结果) NEWRB, neurons = 0, MSE = 0.175859 NEWRB, neurons = 2, MSE = 0.161543 N
10、EWRB, neurons = 3, MSE = 0.125333 NEWRB, neurons = 4, MSE = 0.0273982 NEWRB, neurons = 5, MSE = 0.0255775 NEWRB, neurons = 6, MSE = 0.00133993 6 第四步:应用grnn进行函数逼近,网络测试结果 检测网络43.532.521.5T和A10.50-0.5-10123456789P 第五步:应用pnn进行变量的分类 7 检测网络43.532.5class 1class 221.5T和A10.50-0.5-10123456789P 通过本次试验,很好的熟悉了T
11、oolbox中的函数的应用,尤其是统计工具箱里实的一些函数。 验本程序用到的是matlab的工具箱toolbox,参考了朱琳、王正林编著的精通MATLAB神经网络一书的194224页,一些功能函数的实际内容被隐藏,并不能深总刻的理解工具箱的实际内容。 结 参考了径向基函数( RBF) 神经网络及其应用一文,王 炜1 ,吴耿锋2 ,张博锋2 ,王 媛2(1. 上海市地震局, 上海 200062 ; 2. 上海大学计算机学院, 上海 200072) 对于MATLAB这一强大的工具有了更为深刻的认识,在以后的研究工作中可以充分的利用其又是为自己的工作服务,从而提高效率 总之,通过这么课程是自己在科学计算及其仿真方面有了一些基础,为以后的研究奠定了一定地基础,但是仅仅通过几节课的学习,还是无法掌握matlab强大的功能。为此,还需要在以后的学习中多加以训练。 成绩评定 注:实验方案要详略得当、条理清晰,实验记录数据详实,实验总结应做高度归纳和提炼。 8
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1