




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称 BP神经网络实验 实验名称 一级倒立摆实验 实验仪器 matlab、一级倒立摆实验台 系别 自动化 专业 班级/学号 学生姓名 实验日期 2014年4月8日 成绩 指导老师 一级倒立摆实验实验目的:(1)熟悉Matlab/Simulink的使用. (2)掌握BP神经网络的基本原理和基本的设计步骤. (3)了解BP神经网络在实际中的应用. (4)针对简单的实际系统, 能够建立BP神经网络控制模型.实验原理: 1.前馈型人工神经网络前馈型人工神经网络是整个神经网络体系中最常见的一种,其结构模型如图2所示。网络结构包含输入层、隐层(可能是多层)和输出层,它的连接方式是同层之间不相连接,相邻层之间单元为全连接型。这种网络没有反馈存在,实际运行是单向的,学习方式是一种监督式学习。前馈型神经网络具有很强的非线性映射能力,寻找其映射是靠学习实践的,只要学习数据足够完备,就能够描述任意未知的复杂系统。因此前馈神经网络为非线性系统的建模和控制提供了有力的工具。图1 前馈型神经网络结构2.BP算法原理BP(Back Propagation)神经网络是一种利用误差反向传播训练算法的前馈型网络,BP学习算法实质是求取网络总误差函数的最小值问题2。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数,它是梯度下降法在多层前馈网络中的应用。具体学习算法包括两大过程,其一是输入信号的正向传播过程,其二是输出误差信号的反向传播过程。1.正向传播输入的样本从输入层经过隐层单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。2.反向传播反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。网络各层的权值改变量,则由传播到该层的误差大小来决定。3.BP算法的特点BP神经网络具有以下三方面的主要优点3:第一,只要有足够多的隐含层和隐层节点,BP神经网络可逼近任意的非线性映射关系;第二,BP学习算法是一种全局逼近方法,因而它具有较好的泛化能力。第三,BP神经网络具有一定的容错能力。因为BP神经网络输入输出间的关联信息分布存储于连接权中,由于连接权的个数总多,个别神经元的损坏对输入输出关系只有较小影响。但在实际应用中也存在一些问题,如:收敛速度慢,极有可能陷入最优陷阱(局部极值),而且典型的BP网络是一个冗余结构,它的结构及隐节点数的确定往往有人为的主观性,而且一旦人工决定之后,不能在学习过程中自主变更。其结果是隐节点数少了,学习过程不收敛;隐节点数多了,则网络的学习及推理的效率较差。实验步骤:(1)建立控制模型神经网络训练数据来源于MATLAB6.5自带的一阶T-S型模糊控制slcp.mdl。如图2所示。图2 一级倒立摆的模糊控制仿真在上面的控制系统中提取摆角、角速度、位移、速度初始条件为分别为0. 5rad,1rad/s, 0和0,在此条件下响应的输入输出对, (2) 提取训练数据如图3所示,利用【Signal To Workspace】模块获取一阶T-S型模糊控制仿真过程的控制器输入输出数据对,并保存到工作区中,可以直接用到神经网络的训练中。图3 数据提取(3) BP神经网络控制器的训练首先将提取出的训练数据变为标准的训练数据形式,标准的训练数据分为输入和目标输出两部分。输入部分是一个形式为输入个数训练数据个数的矩阵,这里输入个数为4。目标输出为一个输出个数训练数据个数的矩阵,这里输出个数为1。而经signal to workspace模块提取出的数据为一个训练数据个数输入(或输出)个数的矩阵,因此分别将p、t转置后就得到标准训练数据p,t。接着选择要训练的步数,训练步数的选择可由下面语句定义:net.trainParam.epochs=250这一语句定义了一个500步的训练步数。做完上面的工作后就可以对网络进行训练了,按照上一节中的选择和定义初始化网络后,在没有输入延迟和输出延迟的条件下,并设训练后的网络还为NET,便可用下面语句对网络训练:net,tr=train(net,P,T, , )使用下面语句初始化BP神经网络控制器并进行训练:P=p;T=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, , );系统提示如下:图4 训练误差曲线可以看出,经过250步训练控制器输出与期望输出间的误差已经很小了。神经网络的结构用语句gensim(net,-1)可以在simulink里生成控制器并使用其进行控制,其中-1的意思是系统是实时的,生成的神经网络控制器结构如图5所示。图5神经网络控制器外部结构(4) 神经网络控制的实现使用训练后的BP神经网络控制器代替原模糊控制器控制器便可进行仿真试验。控制结构如图6所示。图6 直线一级倒立摆神经网络控制仿真单击模型窗口上的run,运行以上的仿真实验,可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论