BP神经网络实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算智能实验报告
实验名称:BP神经网络算法实验
班级名称:
专业:
姓名:
学号:
联系电话:
一、实验目的
1)编程实现BP神经网络算法;
2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系;
3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。
二、实验要求
按照下面的要求操作,然后分析不同操作后网络输出结果。
1)可修改学习因子
2)可任意指定隐单元层数
3)可任意指定输入层、隐含层、输出层的单元数
4)可指定最大允许误差ε
5)可输入学习样本(增加样本)
6)可存储训练后的网络各神经元之间的连接权值矩阵;
7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果。
三、实验原理
1 明确BP神经网络算法的基本思想如下:
2 明确BP神经网络算法步骤和流程如下:
四、实验内容和分析
1.实验时建立三层BP神经网络,输入节点2个,隐含层节点2个,输出节
2.训练结果:
训练次数3906,全局误差0.0099955
输入层与隐含层连接权值为
-5.25626 5.04393
-5.35186 5.43925
隐含层与输出层连接权值为
7.79517 -7.43036
隐含层神经元阈值为
-2.77105 2.78374
输出层神经元阈值为
3.48078
3.输入测试样本为
0.05 0.1
0.2 0.9
0.86 0.95
输出测试结果为
0.046
0.786
0.043
可见网络性能良好,输出结果基本满足识别要求。
4.改变学习因子
学习因子决定每一次循环训练中所产生的权值变化量。大的学习因子可能导致系统的不稳定;但小的学习因子导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于误差最小值。所以一般情况下倾向于选取较小的学习速率以保证系统的稳定性。
5.改变输入层、隐含层、输出层的单元数
当隐含层节点个数为3时,相同训练样本和测试样本,得到测试结果为
0.045
0.799
0.039
训练次数3742,全局误差0.0099959
可见,改变输入层、隐含层、输出层的单元数,即改变网络结构,可以改善网络性能,增加隐含层节点个数可以更好的提取模式特征,识别结果更精确,但网络复杂度增加,可能不稳定。
6.最大允许误差ε控制网络识别精度。
选取较大值学习速度加快,但精度降低;选取较小值,学习速度变慢,精度提高,但可能导致网络无法收敛到允许的误差范围。
7.增加学习样本
在基本实验的基础上,增加一个学习样本0.1 1.0 1.0后,训练次数变增加为18982,全局误差为0.0099993,相同测试样本,测试结果为
0.005
0.806
0.002
网络学习速度降低,识别精度大大提高。另外,改变学习样本个数,将改变原有训练结果。
8.改变部分连接权值
将初始训练结果输入层与隐含层连接权值中-5.35186改为-4.00000后,测试结果为
0.045
0.785
0.036
网络性能被改变。
五、实验过程及实验结果
六、实验小结