BP神经网络实验-Matlab_第1页
BP神经网络实验-Matlab_第2页
BP神经网络实验-Matlab_第3页
BP神经网络实验-Matlab_第4页
BP神经网络实验-Matlab_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算智能实验报告实验名称: BP 神经网络算法实验班级名称: 2010 级软工三班专业:软件工程姓名:李 XX学号:XXXXXX2010090精品资料1、 实验目的1 ) 编程实现 BP 神经网络算法;2 ) 探究 BP 算法中学习因子算法收敛趋势、收敛速度之间的关系;3 ) 修改训练后BP 神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。2、 实验要求按照下面的要求操作,然后分析不同操作后网络输出结果。1 ) 可修改学习因子2 ) 可任意指定隐单元层数3 ) 可任意指定输入层、隐含层、输出层的单元数4)可指定最大允许误差e5 ) 可输入学习

2、样本(增加样本)6 ) 可存储训练后的网络各神经元之间的连接权值矩阵;7 ) 修改训练后的 BP 神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果三、实验原理1明确BP神经网络算法的基本思想如下:在BPNN中,后向传播是一种学习算法,体现为 BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小BPNN是一种典型的神经网络, 广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是 BPNN能够投入使用的基础和前提,而使用阶段

3、本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果2明确BP神经网络算法步骤和流程如下:1初始化网络权值2由给定的输入输出模式对计算隐层、输出层各单元输出3计算新的连接权及阀值,4选取下一个输入*II式对返回第 2步反复训练直到网络设输出误差达到要求结束训练。制逮覆口揭唱与fli»#出髓壮反忖隗“一炉花松报T雷朋仙相元嵋(st )四、实验内容和分析1.实验时建立三层BP神经网络,输入节点2个,隐含层节点2个,输出节点1个,输入训练样本如下表:输入值输出0.00.00.00.01.01.01.00.01.01.01.00.0学习因子分别为0.

4、5和0.6,最大允许误差0.01代码:P=0.0 0.0 1.0 1.0;0.0 1.0 0.0 1.0;%输入量矩阵T=0.0 1.0 1.0 0.0;% 输出量矩阵net=newff(minmax(P),T,2 1,'tansig','purelin','traingd');% 创建名为 net的 BP 神经网络inputWeights=net.IW1,1;% 输入层与隐含层的连接权重inputbias=net.b2;% 输入层与隐含层的阈值net.trainParam.epochs=5000;% 网络参数:最大训练次数为 5000 次net

5、.trainParam.goal=0.01;% 网络参数:训练精度为 0.001net.trainparam.lr=0.5;% 网络参数:学习设置率为 0.5net.trainParam.mc=0.6; % 动量net.trainparam.show=100% 网络参数: 设置为每 5 次学习显示误差曲线点net,tr=train(net,P,T);%训练A=sim(net,P);%仿真E=T-A;%误差MSE=mse(E);%均方误差i Neural Network Training (nntraintool)NeuraI INetwork Training Performance plot

6、performi); Epoch 16, Performance goal metBest Training Performance is 0.008364 at epoch 16TO1一ofow-3681016 Epochs12TrainBestGoal16训练结果: 训练次数5000 ,全局误差0.008364输入层与隐含层连接权值为» net.IWO, 1)-X 85901.3331X 9491-1.7234隐含层与输出层连接权值为» net, lw l.2j 11ana =-0.6739-0.6438隐含层神经元阈值为>> net. b 15 12.输入

7、测试样本为» Fl=0,05 0. 2 C, 3«Qh L 6 9 0. 351Pl 二0.0500Q. 20g0,S600OU 0000.90000.9500» 11=5 lm (netj PL)Il =0. 02390. 4£67-0.0674输出层神经元阈值为» net. b2, 1ans 二1. 0902可见网络性能良好,输出结果基本满足识别要求。3. 改变学习因子学习因子决定每一次循环训练中所产生的权值变化量。大的学习因子可能导致系统的不稳定;但小的学习因子导致较长的训练时间, 可能收敛很慢,不过能 保证网络的误差值不跳出误差表面的低

8、谷而最终趋于误差最小值。所以一般情况下倾向于选取较小的学习速率以保证系统的稳定性。» netitrairparaji.%惬络番数:学工询言率为口net. train? ar Em. mc=O. 3;电动量ieuri iNerworK i raining enonnance pioiperrcmij tpocn vairaaTion sxop.Best Validation Perfornnsnce is 0.097402 at epoch 0LTra in ValidationTestBestGoal0501)QJW poJmnbs 仁相三0. 38830.92870.93474.

9、改变输入层、隐含层、输出层的单元数当隐含层节点个数为3时,相同训练样本和测试样本,得到测试结果为net=newff(minmax(P),T,3 1,'tansig','purelin','traingd');% 创建名为 net 的BP神经网络>>Pl)精品资料T1 =训练次数5000,全局误差0.004126可见,改变输入层、隐含层、输出层的单元数,即改变网络结构,可以改善网络性能,增加隐含层节点个数可以更好的提取模式特征,识别结果更精确,但网络复杂度增加,可能不稳定。5. 最大允许误差£控制网络识别精度。选取较大值学习速

10、度加快,但精度降低;选取较小值,学习速度变慢,精度 提高,但可能导致网络无法收敛到允许的误差范围。net.trainParam.lr=0.05;6. 增加学习样本在基本实验的基础上,增加一个学习样本0.1 1.0 1.0后,训练次数变增加为18982 ,全局误差为0.0099993 ,相同测试样本,测试结果为在基本实验的基础上,增加一个学习样本0.1 1.0 1.0后,训练次数变增加为20000,全局误差为0.12568,相同测试样本,测试结果为>>Pl)J1 二0. 3338 0.922292S6网络学习速度降低,识别精度大大提高。另外,改变学习样本个数,将改变 原有训练结果。»fl)ri 二I”情i,a:5&q:无7. 改变部分连接权值E rU96柘! - 7535-L L631>> EBUHUL8H < 7、房幽 f B】网络性能被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论