神经网络实验报告文档格式.docx

上传人:b****6 文档编号:8663441 上传时间:2023-05-12 格式:DOCX 页数:7 大小:203.22KB
下载 相关 举报
神经网络实验报告文档格式.docx_第1页
第1页 / 共7页
神经网络实验报告文档格式.docx_第2页
第2页 / 共7页
神经网络实验报告文档格式.docx_第3页
第3页 / 共7页
神经网络实验报告文档格式.docx_第4页
第4页 / 共7页
神经网络实验报告文档格式.docx_第5页
第5页 / 共7页
神经网络实验报告文档格式.docx_第6页
第6页 / 共7页
神经网络实验报告文档格式.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

神经网络实验报告文档格式.docx

《神经网络实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《神经网络实验报告文档格式.docx(7页珍藏版)》请在冰点文库上搜索。

神经网络实验报告文档格式.docx

成绩

指导老师

一级倒立摆实验

实验目的:

(1)熟悉Matlab/Simulink的使用.

(2)掌握BP神经网络的基本原理和基本的设计步骤.

(3)了解BP神经网络在实际中的应用.

(4)针对简单的实际系统,能够建立BP神经网络控制模型.

实验原理:

1.前馈型人工神经网络

前馈型人工神经网络是整个神经网络体系中最常见的一种,其结构模型如图2所示。

网络结构包含输入层、隐层(可能是多层)和输出层,它的连接方式是同层之间不相连接,相邻层之间单元为全连接型。

这种网络没有反馈存在,实际运行是单向的,学习方式是一种监督式学习。

前馈型神经网络具有很强的非线性映射能力,寻找其映射是靠学习实践的,只要学习数据足够完备,就能够描述任意未知的复杂系统。

因此前馈神经网络为非线性系统的建模和控制提供了有力的工具。

图1前馈型神经网络结构

2.BP算法原理

BP(BackPropagation)神经网络是一种利用误差反向传播训练算法的前馈型网络,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所示,利用【SignalToWorkspace】模块获取一阶T-S型模糊控制仿真过程的控制器输入输出数据对,并保存到工作区中,可以直接用到神经网络的训练中。

图3数据提取

(3)BP神经网络控制器的训练

首先将提取出的训练数据变为标准的训练数据形式,标准的训练数据分为输入和目标输出两部分。

输入部分是一个形式为输入个数

训练数据个数的矩阵,这里输入个数为4。

目标输出为一个输出个数

训练数据个数的矩阵,这里输出个数为1。

而经signaltoworkspace模块提取出的数据为一个训练数据个数

输入(或输出)个数的矩阵,因此分别将p、t转置后就得到标准训练数据p’,t’。

接着选择要训练的步数,训练步数的选择可由下面语句定义:

net.trainParam.epochs=250

这一语句定义了一个500步的训练步数。

做完上面的工作后就可以对网络进行训练了,按照上一节中的选择和定义初始化网络后,在没有输入延迟和输出延迟的条件下,并设训练后的网络还为NET,便可用下面语句对网络训练:

[net,tr]=train(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步训练控制器输出与期望输出间的误差已经很小了。

神经网络的结构

用语句gensim(net,-1)可以在simulink里生成控制器并使用其进行控制,其中-1的意思是系统是实时的,生成的神经网络控制器结构如图5所示。

图5神经网络控制器外部结构

(4)神经网络控制的实现

使用训练后的BP神经网络控制器代替原模糊控制器控制器便可进行仿真试验。

控制结构如图6所示。

图6直线一级倒立摆神经网络控制仿真

单击模型窗口上的’run’,运行以上的仿真实验,可以看出训练后的BP神经网络能成功的实现倒立摆的控制.

倒立摆实际的实验效果如下图所示:

实验总结:

为减少导轨的摩擦影响在进行倒立摆的实验的操作前,应在导轨上涂抹适量的油,然后运行程序并打开电源,要慢慢把杆转上去,转到正立起来后快速收手。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2