您好,欢迎访问三七文档
BP神经网络及MATLAB实现实验报告姓名:李英杰学号:123109302专业:机械电子工程2013年6月19日2012级机械电子工程李英杰1231093021.BP网络的MATLAB设计MatlabR2012神经网络工具箱(NeuralNetworktoolbox)为用户提供了丰富的神经网络设计与分析函数,可是用它们来编程不容易掌握。我们通过对神经网络工具箱的实践应用研究表明,使用神经网络工具箱中的NNTool对神经网络进行设计和仿真简便易行直观,不需要编程,且设计和仿真的结果证明完全能够满足一般工程设计人员的需要,能够取得事半功倍的效果。下面我们以一个单隐含层的BP网络设计为例,介绍利用神经网络工具箱中的NNTool对BP网络的设计和分析。利用NNTool设计一个BP网络,该网络的输入层和输出层的神经元个数均为1。训练样本定义如下:输入变量为p=[-1131;-115-3]目标变量为t=[-1243]打开Matlab应用软件后,双击NeuralNetworktoolbox中的NNTool图标,或在命令窗口键入nntool,即可进入神经络设计主界面,如下图。图1NNTool设计主界面1.训练样本数据的导入点击New按钮,在弹出窗口选择Date选项卡,按如图2,3所示创建输入变量和目标变量。2012级机械电子工程李英杰1231093022图2创建新的输入变量2012级机械电子工程李英杰1231093023图3创建新的目标变量2.神经网络的创建点击主界面中点击New按钮,在弹出窗口选择Newwork选项卡,并在对话框中可对网络的名称、类型、结构和训练函数等进行设置,如图4所示。2012级机械电子工程李英杰1231093024图4创建神经元网络界面在上面窗口中对该网络命名为:tracylee;网络类型为:Feed-forwardbackprop,即前馈BP神经网络;Inputranges:点击GetFromInput下拉框选择样本输入变量p加入输入向量;Trainingfunction:在下拉列表中选择TRAINGDM训练函数;采用动量梯度下降算法训练BP网络。Adaptionlearningfunction和Performancefunction:一般分别选择默认的LRARNGDM和MSE。Layer1NumberofNeurons:隐层的神经元个数,这是需要经验慢慢尝试并调整的,大致上由输入向量的维数、样本的数量和输出层(Layer2)的神经元个数决定,根据下面的隐含层最佳神经单元个数参考公式先设置为3,还可以更改该层神经元的个数提高网络性能,因为对于BP网络,存在一个重要的结论,即单隐层的BP网络可以逼近任意的非线性映射,前提是隐含层的神经元个数可以任意调整。设置完毕后,点击右下角的View按钮,可查看神经网络的结构示意图,如图2012级机械电子工程李英杰12310930255所示。图5神经网络结构示意图3.神经网络的初始化神经网络创建完之后,得到如图所示主界面。图6创建样本和网络后的主界面双击Netmworks下的bp_example1,选择View/EditWeights选项卡,可以看到如图7所示的界面。2012级机械电子工程李英杰1231093026图7网络权值或阈值修改界面神经网络创建完之后,网络的权值和域值已进行了初始化,有时BP网络训练时为避免陷入局部最优,有时需要对权值和域值重新设置,这在NNTool中变得简单易行,在上面所示窗口中编辑即可。4.神经网络的训练设定好网络的权值和阀值后,选择上面窗口中的Train选项卡,即可进入训练页面,设置好训练信息TrainingInfo和训练参数TrainingParameters后,点击TrainNetwork即开始了对网络的训练。同时,可得到网络训练误差变化曲线。图8神经网络训练信息界面上图的TrainingInfo选项卡中,在输入向量[Inputs]和目标输入向量[Targets]下拉框中选择你要训练的向量(即第一步加入的对象)。2012级机械电子工程李英杰1231093027图9神经网络训练参数设定上图的TrainParameters选项卡,填入适当的最大训练次数epochs,目标误差goal,学习步长lr,最大失败次数max_fail,最小梯度要求min_grad,加速动量mc,结果显示频率show(例如要每隔50次训练显示结果,则填50),最大训练时间time。图10网络误差变化曲线2012级机械电子工程李英杰12310930285.神经网络的仿真当网络训练好之后,可以对其进行仿真,点击图中的Simulate项,可进入训练页面,设置好仿真数据后,点击SimulateNetwork,主界面的Outputs框中出现仿真结果变量。图11Simulate仿真窗口6.结果和数据的导出网络经过训练和仿真后得到的主界面如下:图训练和仿真后的主界面与上面的主界面对比,该主界面包含了训练的输出结果和误差,仿真输入和输出。为了保存上述主界面中的数据,点击Export按钮,弹出如图的数据窗口,选择要保存的项,点击Export则所选变量导出至工作空间;点击Save则弹出文件对话框,可将所选变量保存至相应文件中。2012级机械电子工程李英杰1231093029图导出数据窗口到此,完成了一个BP网络的建立,训练,仿真与数据保存。如果还想进一步优化网络结构,还可以在图中改变隐层数,重新进行训练,也可以通过改变传函类型或训练算法研究它们对网络特性的影响。从以上仿真实例可以看出,利用NNTtool来构建神经网络系统,简单快速,精度较高,从神经网络模型建立、训练到最终的仿真分析,用户都不需要编写计算机程序,而且模型的改变、参数的修改简单易行,显示出了Matlab功能的强大。需要指出的是,神经网络的种类很多,诸如:感知器神经网络、线性神经网络、径向基函数网络、自组织网络、反馈网络等等,也能执行上述功能。
本文标题:神经网络作业
链接地址:https://www.777doc.com/doc-4066415 .html