BP神经网络实验_Matlab

2019-06-05 12:52

计算智能实验报告

实验名称: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.输入测试样本为

隐含层与输出层连接权值为 输出层神经元阈值为


BP神经网络实验_Matlab.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国象棋活动小组教案51课时

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: