- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
课程名称:计算智能
一、实验目的及要求
实验目的:
了解BP网络的非线性函数拟合
实验要求:
1、建立一个BP网络拟合所给的非线性函数
2、随机选择所给数据中的1900个作为训练数据,训练BP网络相关参数,用剩下的100个
作为测试数据,测试所建立的BP网络的拟合性能
3、对数据进行归一化处理
4、给出预测结果
5、分析预测效果
6、画出图形,包括非线性函数轨迹、期望输出与预测输出的比较、预测误差曲线图等。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)
Windows7word2010matlab2010a
第1页共5页
三、实验内容及步骤(包含简要的实验步骤流程)
实验内容:建立BP神经网络拟合非线性函数yxx1222:
1、该非线性函数有两个输入参数、一个输出参数,即输入层含2个节点、输出层一个节点,
需要确定的是隐含层层数和相应的节点数(可用公式确定大概的范围,而后实验法确定最后
的选择);
2、BP网络用非线性函数输入输出数据训练神经网络,使训练后的网络能够预测非线性函数
的输出。可从所提供的数据中随机选择其中的一部分(如1900组)作为训练数据,剩下的作
为测试数据,用于测试网络的拟合性能;
3注意分析预测效果。
四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)
1、训练数据与预测数据的提取及归一化
%从1到2000之间随机排序
k=rand(1,2000);
[m,n]=sort(k);
input_train=input(n(1:1900),:);
output_train=output(n(1:1900));
input_test=input(n(1901:2000),:);
output_test=output(n(1901:2000));
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
2、BP网络训练
net=newff(inputn,outputn,5);
net.trainParam.epochs=200;
net.trainParam.lr=0.05;
net.trainParam.goal=0.000004;
net=train(net,inputn,outputn);
3、BP网络预测
input_test=mapminmax(apply,input_test,inputps);
an=sim(net,input_test);
BPoutput=mapminmax(reverse,an,outputps);
4、结果分析
figure(1)
plot(BPoutput,:og)
holdon
第2页共5页
plot(output_test,-*);
legend(预测输出,实际输出)
title(网络输出和实际输出对比’)
%预测误差
eor=BPoutput-output_test;
figure(2)
plot(eor,-*)
title(BP网络预测误差)
figure(3)
plot((output_test-BPoutput)./BPoutput,-*);
title(神经网络预测误差百分比)
eorsum=sum(abs(eor))
输出误差结果及相关图像
errorsum=3.8735
网络输出和实际输出对比
40
预测输出
35实际输出
30
25
20
文档评论(0)