BP RBF 神经网络作业.docx

上传人:b****6 文档编号:6424077 上传时间:2023-01-06 格式:DOCX 页数:13 大小:332.95KB
下载 相关 举报
BP RBF 神经网络作业.docx_第1页
第1页 / 共13页
BP RBF 神经网络作业.docx_第2页
第2页 / 共13页
BP RBF 神经网络作业.docx_第3页
第3页 / 共13页
BP RBF 神经网络作业.docx_第4页
第4页 / 共13页
BP RBF 神经网络作业.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

BP RBF 神经网络作业.docx

《BP RBF 神经网络作业.docx》由会员分享,可在线阅读,更多相关《BP RBF 神经网络作业.docx(13页珍藏版)》请在冰豆网上搜索。

BP RBF 神经网络作业.docx

BPRBF神经网络作业

 

人工神经网络作业

神经网络在预测问题中的应用

 

姓名:

田敏

专业:

动力工程

班级:

动研124

学号:

2201200306

 

2013年7月

 

1、网络结构

图2Elman网络结构图

图3RBF网络结构图

二、网络实现

给定的1000组预测数据中,第7维为预测的目标值,前6维为影响因素。

则可设定输入节点Pn=6,输出节点r=1,利用公式

,其中Pm隐层节点数,Pn为输入节点数,r为输出节点数,L为1-10之间的一个整数。

求得隐层节点数Pm为4-12个。

针对不同的隐层节点数,分别建立模型和进行仿真计算,通过观察训练部数和训练时间,在综合考虑测试误差的基础上选取适合网络的隐层节点数。

本文在给定的1000组预测数据中,选取前990组为训练样本,后10组为测试样本,将给定的数据的前6维提取出来明明Matlab1,后1维提取出来命名为Matlab2,选取BP、Elman、RBF三种神经网络进行预测,学习率采用0.8,目标值定位0.003。

3、用MATLAB对BP神经网络进行训练

>>clearall;

loadmatlab1p;

loadmatlab2t;

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:

1000,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);

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

隐层节点数

范数

隐层节点数

范数

4

1.8486

9

1.7228

5

1.8276

10

1.7223

6

1.7501

11

1.7232

7

1.7408

12

1.7198

8

1.7203

如上表隐层节点数应该选择12二范数1.7198

4、用MATLAB对Elman神经网络进行训练

>>clearall;

loadmatlab1p;

loadmatlab2t;

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]=mapminmax(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=mapminmax('reverse',output2,outputps2);

eror=T_test-outputn_test;

r=norm(eror)

隐层节点数对范数的影响:

隐层节点数

范数

隐层节点数

范数

4

1.8536

9

1.7952

5

1.8208

10

1.7892

6

1.8109

11

1.7658

7

1.8079

12

1.7437

8

1.8021

如上表,采用Elman神经网络时选用的隐层节点数为12.

5、用MATLAB对RBF神经网络进行训练

>>clearall;

loadmatlab1p;

loadmatlab2t;

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:

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);

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