BP神经网络实验 - Matlab
更新时间:2023-11-27 01:34:01 阅读量: 教育文库 文档下载
- BP神经网络实验报告推荐度:
- 相关推荐
计算智能实验报告
实验名称:BP神经网络算法实验
班级名称:专 业:姓 名:学 号:
级软工三班 软件工程 李XX
2010 XXXXXX2010090
一、 实验目的
1)编程实现BP神经网络算法;
2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系;
3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。
二、 实验要求
按照下面的要求操作,然后分析不同操作后网络输出结果。 1)可修改学习因子
2)可任意指定隐单元层数
3)可任意指定输入层、隐含层、输出层的单元数 4)可指定最大允许误差ε
5)可输入学习样本(增加样本)
6)可存储训练后的网络各神经元之间的连接权值矩阵;
7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果 。
三、 实验原理
1 明确BP神经网络算法的基本思想如下:
在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架
反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小
BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果
2 明确BP神经网络算法步骤和流程如下:
1初始化网络权值
2由给定的输入输出模式对计算隐层、输出层各单元输出 3计算新的连接权及阀值,
4选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。
四、实验内容和分析
1.实验时建立三层BP神经网络,输入节点2个,隐含层节点2个,输出节
点1个,输入训练样本如下表: 输入值 输出 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 1.0 1.0 1.0 0.0 学习因子分别为0.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.IW{1,1};%输入层与隐含层的连接权重 inputbias=net.b{2};%输入层与隐含层的阈值
net.trainParam.epochs=5000;%网络参数:最大训练次数为5000次 net.trainParam.goal=0.01;%网络参数:训练精度为0.001 net.trainparam.lr=0.5;%网络参数:学习设置率为0.5 net.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); %均方误差
训练结果:
训练次数5000,全局误差0.008364 输入层与隐含层连接权值为 隐含层神经元阈值为 2.输入测试样本为
隐含层与输出层连接权值为 输出层神经元阈值为
可见网络性能良好,输出结果基本满足识别要求。 3.改变学习因子
学习因子决定每一次循环训练中所产生的权值变化量。大的学习因子可能导致系统的不稳定;但小的学习因子导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于误差最小值。所以一般情况下倾向于选取较小的学习速率以保证系统的稳定性。
4.改变输入层、隐含层、输出层的单元数
当隐含层节点个数为3时,相同训练样本和测试样本,得到测试结果为 net=newff(minmax(P),T,[3 1],{'tansig','purelin'},'traingd');%创建名为net的BP神经网络
训练次数5000,全局误差0.004126
可见,改变输入层、隐含层、输出层的单元数,即改变网络结构,可以改善网络性能,增加隐含层节点个数可以更好的提取模式特征,识别结果更精确,但网络复杂度增加,可能不稳定。
5.最大允许误差ε控制网络识别精度。
选取较大值学习速度加快,但精度降低;选取较小值,学习速度变慢,精度
提高,但可能导致网络无法收敛到允许的误差范围。
net.trainParam.lr=0.05; 6.增加学习样本
在基本实验的基础上,增加一个学习样本0.1 1.0 1.0后,训练次数变增加为18982,全局误差为0.0099993,相同测试样本,测试结果为
在基本实验的基础上,增加一个学习样本0.1 1.0 1.0后,训练次数变增加为20000,全局误差为0.12568,相同测试样本,测试结果为
网络学习速度降低,识别精度大大提高。另外,改变学习样本个数,将改变原有训练结果。
7.改变部分连接权值 网络性能被改变。
四、 实验小结
通过这次实验,我对BP神经网络有了更为重要的理解。明白了BP神经网络算法的基
本步骤,会运用Matlab构建简单的BP神经网络。同时,了解了BP神经网络各个参数的意义。在实验过程中,通过改变参数的值,调整BP神经网络的输出结果。
正在阅读:
BP神经网络实验 - Matlab11-27
常见的烃知识要点复习学案xf05-04
2017公需科目判断题(326题)06-02
中国新闻传播史名词解释04-15
51单片机原理及应用-基于keil C与Proteus课后习题答案05-14
作文审题立意训练每日练01-05
光电课程设计01-27
基于STM-32指纹识别密码锁控制系统的设计与实现毕业论文 - 图文12-06
三亚市休闲体育产业的优劣势分析与对策研究02-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 神经网络
- 实验
- Matlab
- K3+Cloud+BOS开发培训 - 插件开发1-接口
- 移动通信术语中英文对照
- 秩序维护员工作守则
- 流体力学 课后习题部分1~4章
- 浙江2010版定额换算解析
- 新改版苏教版语文三年级上册23 珍惜自己教案
- 微机原理与接口技术考试题库(选择题、判断题精选)
- 年产10000吨白萝卜汁生产线项目可行性研究报告 2
- 五四红旗团委申报材料 - 图文
- MATLAB多元函数导数求极值或最优值
- 3D MAX 快捷键 中英文对照表都有,3D界面翻译
- 第四讲 作业及答案doc
- 修改版实验三:Ethereal Lab - TCP协议
- 浅析磁器口古镇旅游开发对环境的影响及其发展(定稿)
- 居家养老服务中心简介(社区养老)
- 水平井产液剖面解释方法研究
- 浙江省温州市2016届初中毕业生升学第一次适应性考试数学试题含答案
- 市场营销每章重点
- 催眠师
- 2017-2018学年小学六年级英语上学期期末考试试卷及答案