神经网络实验报告.docx

神经网络实验报告.docx

ID:53047700

大小:251.70 KB

页数:7页

时间:2020-03-31

神经网络实验报告.docx_第1页
神经网络实验报告.docx_第2页
神经网络实验报告.docx_第3页
神经网络实验报告.docx_第4页
神经网络实验报告.docx_第5页
资源描述:

《神经网络实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告课程名称BP神经网络实验实验名称一级倒立摆实验实验仪器matlab、一级倒立摆实验台系别自动化专业班级/学号学生姓名实验日期2014年4月8日成绩指导老师一级倒立摆实验实验目的:(1)熟悉Matlab/Simulink的使用.(2)掌握BP神经网络的基本原理和基本的设计步骤.(3)了解BP神经网络在实际中的应用.(4)针对简单的实际系统,能够建立BP神经网络控制模型.实验原理:1.前馈型人工神经网络前馈型人工神经网络是整个神经网络体系中最常见的一种,其结构模型如图2所示。网络结构包含输入层、隐层(可能是多层)和输出层,它的连接方式是同层之间不相连接,相邻层之间单元为全

2、连接型。这种网络没有反馈存在,实际运行是单向的,学习方式是一种监督式学习。前馈型神经网络具有很强的非线性映射能力,寻找其映射是靠学习实践的,只要学习数据足够完备,就能够描述任意未知的复杂系统。因此前馈神经网络为非线性系统的建模和控制提供了有力的工具。图1前馈型神经网络结构2.BP算法原理BP(BackPropagation)神经网络是一种利用误差反向传播训练算法的前馈型网络,BP学习算法实质是求取网络总误差函数的最小值问题[2]。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数,它是梯度下降法在多层前馈网络中的应用。具体学习算法包括两大过程,其一是输入

3、信号的正向传播过程,其二是输出误差信号的反向传播过程。1.正向传播输入的样本从输入层经过隐层单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。2.反向传播反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。网络各层的权值改变量,则由传播到该层的误差大小来决定。3.BP算法的特点BP神经网络具有以下三方面的主要优点[3]:第一,只要有足够多的隐含层和隐层节

4、点,BP神经网络可逼近任意的非线性映射关系;第二,BP学习算法是一种全局逼近方法,因而它具有较好的泛化能力。第三,BP神经网络具有一定的容错能力。因为BP神经网络输入输出间的关联信息分布存储于连接权中,由于连接权的个数总多,个别神经元的损坏对输入输出关系只有较小影响。但在实际应用中也存在一些问题,如:收敛速度慢,极有可能陷入最优陷阱(局部极值),而且典型的BP网络是一个冗余结构,它的结构及隐节点数的确定往往有人为的主观性,而且一旦人工决定之后,不能在学习过程中自主变更。其结果是隐节点数少了,学习过程不收敛;隐节点数多了,则网络的学习及推理的效率较差。实验步骤:(1)建立控制模

5、型神经网络训练数据来源于MATLAB6.5自带的一阶T-S型模糊控制slcp.mdl。如图2所示。图2一级倒立摆的模糊控制仿真在上面的控制系统中提取摆角、角速度、位移、速度初始条件为分别为0.5rad,1rad/s,0和0,在此条件下响应的输入输出对,(2)提取训练数据如图3所示,利用【SignalToWorkspace】模块获取一阶T-S型模糊控制仿真过程的控制器输入输出数据对,并保存到工作区中,可以直接用到神经网络的训练中。图3数据提取(3)BP神经网络控制器的训练首先将提取出的训练数据变为标准的训练数据形式,标准的训练数据分为输入和目标输出两部分。输入部分是一个形式为输

6、入个数训练数据个数的矩阵,这里输入个数为4。目标输出为一个输出个数训练数据个数的矩阵,这里输出个数为1。而经signaltoworkspace模块提取出的数据为一个训练数据个数输入(或输出)个数的矩阵,因此分别将p、t转置后就得到标准训练数据p’,t’。接着选择要训练的步数,训练步数的选择可由下面语句定义:net.trainParam.epochs=250这一语句定义了一个500步的训练步数。做完上面的工作后就可以对网络进行训练了,按照上一节中的选择和定义初始化网络后,在没有输入延迟和输出延迟的条件下,并设训练后的网络还为NET,便可用下面语句对网络训练:[net,tr]=t

7、rain(net,P,T,[],[])使用下面语句初始化BP神经网络控制器并进行训练:P=p';T=t';net=newff([-0.350.35;-11;-33;-33],[121],{'tansig','purelin'},'trainlm','learngdm');net.trainParam.show=25;net.trainParam.epochs=250;[net,tr]=train(net,P,T,[],[]);系统提示如下:图4训练误差曲线可以看出,经过250步训练控制器输出与期望输出间

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。