1、BP RBF 神经网络作业人工神经网络作业神经网络在预测问题中的应用姓 名 : 田 敏 专 业 : 动力工程 班 级 : 动研124 学 号 : 2201200306 2013年7月1、网络结构图2 Elman网络结构图图3 RBF网络结构图二、网络实现 给定的1000组预测数据中,第7维为预测的目标值,前6维为影响因素。则可设定输入节点Pn=6,输出节点r=1,利用公式,其中Pm隐层节点数,Pn为输入节点数,r为输出节点数,L为1-10之间的一个整数。求得隐层节点数Pm为4-12个。针对不同的隐层节点数,分别建立模型和进行仿真计算,通过观察训练部数和训练时间,在综合考虑测试误差的基础上选取适
2、合网络的隐层节点数。本文在给定的1000组预测数据中,选取前990组为训练样本,后10组为测试样本,将给定的数据的前6维提取出来明明Matlab1,后1维提取出来命名为Matlab2,选取BP、Elman、RBF三种神经网络进行预测,学习率采用0.8,目标值定位0.003。3、用MATLAB对BP神经网络进行训练 clear all;load matlab1 p;load matlab2 t; input_train=p(1:990,1:6);output_train=t(1:990,1:1); inputn_test=p(991:1000,1:6);outputn_test=t(991:10
3、00,1:1); inputn,inputps=mapminmax(input_train);outputn,outputps=mapminmax(output_train);net=newff(minmax(inputn),11,1,tansig,purelin,trainlm);net.trainParam.epochs=20000;Lp.lr=0.8;net.trainParam.goal=0.003;net=train(net,inputn,outputn);y=sim(net,inputn);e=y-outputn;res=norm(e);T_test=sim(net,inputn)
4、;a=mapminmax(reverse,outputn,outputps);e=y-outputn;res=norm(e);T_test=sim(net,input2);a=mapminmax(reverse,output2,outputps2);eror=T_test-outputn_test;r=norm(eror);对于不同的隐层节点数,网络的图像以及范数存在着差异,下表反应了隐层节点数对范数的影响:隐层节点数为11 隐层节点数为4 隐层节点数5 很明显 图线太平不收敛隐层节点数为6 隐层节点数为7 隐层节点数为8 隐层节点数为9 隐层节点数为10 隐层节点数为12 隐层节点数范数隐层
5、节点数范数41.848691.722851.8276101.722361.7501111.723271.7408121.719881.7203如上表隐层节点数应该选择12 二范数 1.7198 4、用MATLAB对Elman神经网络进行训练clear all;load matlab1 p;load matlab2 t;input_train=p(1:990,1:6);output_train=t(1:990,1:1);inputn_test=p(991:1000,1:6);inputn,inputps=mapminmax(input_train);outputn,outputps=mapmin
6、max(output_train);input2,inputps2=mapminmax(inputn_test);output2,outputps2=mapminmax(outputn_test);net=newelm(minmax(inputn),12,1,tansig,purelin);net.trainParam.epochs=20000;net.trainParam.goal=0.003;net=train(net,inputn,outputn);y=sim(net,inputn);e=y-outputn;res=norm(e);T_test=sim(net,input2);a=map
7、minmax(reverse,output2,outputps2); eror=T_test-outputn_test;r=norm(eror) 隐层节点数对范数的影响:隐层节点数范数隐层节点数范数41.85369 1.795251.820810 1.789261.8109111.765871.8079121.743781.8021 如上表,采用Elman神经网络时选用的隐层节点数为12.5、用MATLAB对RBF神经网络进行训练clear all;load matlab1 p;load matlab2 t;input_train=p(1:990,1:6);output_train=t(1:9
8、90,1:1);inputn_test=p(991:1000,1:6);outputn_test=t(991:1000,1:1); inputn,inputps=mapminmax(input_train);outputn,outputps=mapminmax(output_train);input2,inputps2=mapminmax(inputn_test);output2,outputps2=mapminmax(outputn_test);mse=0.1;spread=0.5;net=newrb(inputn,outputn,mse,spread);y=sim(net,inputn);
9、e=y-outputn;res=norm(e);T_test=sim(net,input2);a=mapminmax(reverse,output2,outputps2);eror=T_test-outputn_test;r=norm(eror) 运行程序后,得到的范数为 1.7394。参考文献1 董长虹.Matlab神经网络与应用M.北京.国际工业出版社.2007.64-71.2 武俊梅,黄翔,邹平辉等.人工神经网络在流体动力式喷水室热工性能研究中的应用J. 流体机械,2000,28(2):51-53.3 苏高利,邓芳萍.论基于MATLAB语言的BP神经网络的改进算法J.科技通报, 2003, 19(2): 130-135.4 武俊梅,苏光辉.人工神经网络在预测流动沸腾曲线中的应用J.原子能科学技术,2007,41(3): 3152320.5 孙琦峰,孙晓峰.基于改进BP神经网络的公路客流量预测N.2008-11.6 严绍瑾,郭光.神经网络BP模型用于月降水预报的研究N.1995-08.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1