神经网络实验指导书2013版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
神经网络实验指导书2013版

北京信息科技大学自编实验讲义 实验指导书 许晓飞编著 自动化学院 智能科学与技术系 201年1月 :(1)熟悉Matlab/Simulink的使用. (2)掌握BP神经网络的基本原理和基本的设计步骤. (3)了解BP神经网络在实际中的应用. (4)针对简单的实际系统, 能够建立BP神经网络控制模型. 实验原理: 1.前馈型人工神经网络 前馈型人工神经网络是整个神经网络体系中最常见的一种,其结构模型如图2所示。网络结构包含输入层、隐层(可能是多层)和输出层,它的连接方式是同层之间不相连接,相邻层之间单元为全连接型。这种网络没有反馈存在,实际运行是单向的,学习方式是一种监督式学习。 前馈型神经网络具有很强的非线性映射能力,寻找其映射是靠学习实践的,只要学习数据足够完备,就能够描述任意未知的复杂系统。因此前馈神经网络为非线性系统的建模和控制提供了有力的工具。 图BP(Back Propagation)神经网络是一种利用误差反向传播训练算法的前馈型网络,BP学习算法实质是求取误差函数的最小值问题[]。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数它是梯度下降法在多层前馈网络中的应用。具体学习算法包括两大过程,其一是输入信号的正向传播过程,其二是输出误差信号的反向传播过程。 1正向传播 输入的样本从输入层经过隐层单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。 2反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小网络各层的权值改变量,则由传播到该层的误差大小来决定。算法[3]:第一,只要有足够多的隐含层和隐层节点,BP神经网络BP学习算法是一种全局逼近方法,因而它具有较好的泛化能力。第三,BP神经网络BP神经网络神经网络训练数据来源于MATLAB6.5自带的一阶T-S型模糊控制slcp.mdl。如图所示。 图 一级倒立摆的模糊控制仿真 在上面的控制系统中提取摆角、角速度、位移、速度初始条件为分别为0. 5rad,1rad/s, 0和0,在此条件下响应的输入输出对,图所示,利用【Signal To Workspace】模块获取一阶T-S型模糊控制仿真过程的控制器输入输出数据对,并保存到工作区中,可以直接用到神经网络的训练中。 图 数据提取BP神经网络控制器的训练 首先将提取出的训练数据变为标准的训练数据形式,标准的训练数据分为输入和目标输出两部分。输入部分是一个形式为输入个数训练数据个数的矩阵,这里输入个数为4。目标输出为一个输出个数训练数据个数的矩阵,这里输出个数为1。而经signal to workspace模块提取出的数据为一个训练数据个数输入(或输出)个数的矩阵,因此分别将p、t转置后就得到标准训练数据p’,t’。 接着选择要训练的步数,训练步数的选择可由下面语句定义: net.trainParam.epochs=250 这一语句定义了一个500步的训练步数。 做完上面的工作后就可以对网络进行训练了,按照上一节中的选择和定义初始化网络后,在没有输入延迟和输出延迟的条件下,并设训练后的网络还为NET,便可用下面语句对网络训练: [net,tr]=train(net,P,T,[ ],[ ]) 使用下面语句初始化BP神经网络控制器并进行训练: P=pT=t; net=newff([-0.35 0.35;-1 1;-3 3;-3 3],[12 1],{tansig,purelin},trainlm,learngdm); net.trainParam.show=25; net.trainParam.epochs=250; [net,tr]=train(net,P,T,[ ],[ ]); 系统提示如下: TRAINLM, Epoch 0/250, MSE 10.1011/0, Gradient 2554.35/1e-010 TRAINLM, Epoch 50/250, MSE 4.78751e-008/0, Gradient 01e-010 TRAINLM, Epoch 75/250, MSE 4.1262e-008/0, Gradient 01e-010 TRAINLM, Epoch 100/250, MSE 3.76953e-008/0, Gradient 01e-010 TRAINLM, Epoch 125/250, MSE 3.52016e-008/0, Gr

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档