ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:207.61KB ,
资源ID:5926824      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5926824.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(神经网络实验指导书版1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

神经网络实验指导书版1.docx

1、神经网络实验指导书版1北京信息科技大学自编实验讲义神经网络实验指导书许晓飞 陈雯柏编著自动化学院智能科学与技术系2013年1月实验指导实验目的:(1)熟悉Matlab/Simulink的使用. (2)掌握BP神经网络的基本原理和基本的设计步骤. (3)了解BP神经网络在实际中的应用. (4)针对简单的实际系统, 能够建立BP神经网络控制模型.实验原理: 1.前馈型人工神经网络前馈型人工神经网络是整个神经网络体系中最常见的一种,其结构模型如图2所示。网络结构包含输入层、隐层(可能是多层)和输出层,它的连接方式是同层之间不相连接,相邻层之间单元为全连接型。这种网络没有反馈存在,实际运行是单向的,学

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

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

4、有较好的泛化能力。第三,BP神经网络具有一定的容错能力。因为BP神经网络输入输出间的关联信息分布存储于连接权中,由于连接权的个数总多,个别神经元的损坏对输入输出关系只有较小影响。但在实际应用中也存在一些问题,如:收敛速度慢,极有可能陷入最优陷阱(局部极值),而且典型的BP网络是一个冗余结构,它的结构及隐节点数的确定往往有人为的主观性,而且一旦人工决定之后,不能在学习过程中自主变更。其结果是隐节点数少了,学习过程不收敛;隐节点数多了,则网络的学习及推理的效率较差。实验步骤:(1)建立控制模型神经网络训练数据来源于MATLAB6.5自带的一阶T-S型模糊控制slcp.mdl。如图2所示。图2 一级

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

6、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

7、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-010TRAINLM, Epoch 50/250, MSE 4.78751e-008/0, Gradient 0.00983832/1e-010TRAINLM, Epoch 75/250, MSE 4.12

8、62e-008/0, Gradient 0.00475103/1e-010TRAINLM, Epoch 100/250, MSE 3.76953e-008/0, Gradient 0.00278629/1e-010TRAINLM, Epoch 125/250, MSE 3.52016e-008/0, Gradient 0.00194476/1e-010TRAINLM, Epoch 150/250, MSE 3.32444e-008/0, Gradient 0.00150103/1e-010TRAINLM, Epoch 175/250, MSE 3.16423e-008/0, Gradient

9、0.00121143/1e-010TRAINLM, Epoch 200/250, MSE 3.02987e-008/0, Gradient 0.000996205/1e-010TRAINLM, Epoch 225/250, MSE 2.91493e-008/0, Gradient 0.000826085/1e-010TRAINLM, Epoch 250/250, MSE 2.81489e-008/0, Gradient 0.000687935/1e-010TRAINLM, Maximum epoch reached, performance goal was not met.图4 训练误差曲线

10、可以看出,经过250步训练控制器输出与期望输出间的误差已经很小了。提示:如训练程序有错,请在help文档搜索BP神经网络函数newff,查看语法调用;P=p;T=t;net=newff(0.35 0.35;-1 1;-3 3;-3 3,12,1,tansig purelin);net.trainparam.show=25;net.trainparam.epochs=300;net,tr=train(net,P,T);神经网络的结构用语句gensim(net,-1)可以在simulink里生成控制器并使用其进行控制,其中-1的意思是系统是实时的,生成的神经网络控制器结构如图5所示。(a) 神经网

11、络控制器外部结构(b) 内部结构(c)隐层结构(d)输出层结构图5 BP神经网络结构(4) 神经网络控制的实现使用训练后的BP神经网络控制器代替原模糊控制器控制器便可进行仿真试验。控制结构如图6所示。图6 直线一级倒立摆神经网络控制仿真单击模型窗口上的run,运行以上的仿真实验,可以看出训练后的BP神经网络能成功的实现倒立摆的控制.实验指导实验目的:(1)熟悉Matlab/Simulink的使用. (2)掌握SOM神经网络的基本原理和基本的设计步骤. (3) 熟悉SOM神经网络在实际中的应用. 实验原理:通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。 自组织网络的

12、自组织功能是通过竞争学习(competitive learning)实现的。1981年芬兰Helsink大学的T.Kohonen教授提出一种自组织特征映射网,简称SOM网,又称Kohonen网。Kohonen认为:一个神经网络接受外界输入模式时,将会分为不同的对应区域,各区域对输入模式具有不同的响应特征,而且这个过程是自动完成的。自组织特征映射正是根据这一看法提出来的,其特点与人脑的自组织特性相类似。SOM网共有两层,输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大脑皮层。 Kohonen学习算法程序流程:示例:产生100个(0,0.5pi)之间的角度,用其sin和cos值作为输入向

13、量,利用输出为二维平面阵的SOM网络对其进行聚类。参考程序如下:angles = 0:0.5*pi/99:0.5*pi;P = sin(angles); cos(angles);plot(P(1,:),P(2,:),+r)net = newsom(0 1;0 1,10);net.trainParam.epochs = 10;net = train(net,P);plotsom(net.iw1,1,net.layers1.distances)p = 1;0;a = sim(net,p)实验内容:人口分类是人口统计中的一个重要指标,现有1999共10个地区的人口出生比例情况如下表所示,建立一个自组

14、织神经网络对上述数据分类,给定某个地区的男、女出生比例分别为0.5,0.5,测试训练后的自组织神经网络的性能,判断其属于哪个类别。出生男性百分比0.55120.51230.50870.50010.60120.5298 0.50000.4965 0.5103 0.5003出生女性百分比0.4488 0.4877 0.4913 0.49990.3988 0.4702 0.50000.5035 0.4897 0.4997实验步骤:(1)确定输入模式;(2)确定网络的结构,设计参数;(3)编辑相应的M文件实现SOM对数据进行聚类,运行M文件,在命令窗口察看结果。课下扩展实验:利用SOM网络对动物属性特

15、征映射1989年Kohonen给出一个SOM网的著名应用实例,即把不同的动物按其属性特征映射到两维输出平面上,使属性相似的动物在SOM网输出平面上的位置也相近。该例训练集种共有16种动物,每种动物用一个29维向量来表示,其中前16个分量构成符号向量,对不同的动物进行“16取1”编码;后13个分量构成属性向量,描述动物的13种属性,用1或0表示某动物该属性的有或无。表2中的各列给出16种动物的属性列向量。表2. 16种动物的属性向量 动物 属性 鸽子母鸡鸭鹅猫头鹰隼鹰狐狸狗狼猫虎狮马斑马牛小中大2只腿4只腿毛蹄鬃毛羽毛猎跑飞泳10010000100101001000010000100100001

16、00011001000010011100100001101010010000110100101000011010010011000100001001100001000100110001100100011000100000101100011000010110001100001011110010000101111001000010111000000实验步骤(1) 准备输入模式;(2) 设计SOM网络:SOM网的输出平面上有1010个神经元(3) SOM网络的训练:用16个动物模式轮番输入进行训练,考察输出平面上所示情况。注意事项(1)输入:P为2916的矩阵,其中29维输入向量,16为动物的个数归

17、一化(2)输出:1010(3)网络的设计:建立新的网络:net = newsom(AA,10 10,gridtop);hextop网络训练参数设定:net.trainParam.epochs = 1000;网络训练:net = train(net,P);(4)训练后的运行:a = sim(net,P)由a的值可以得到SOM的哪个输出节点对输入有所响应,即归为哪一类(4) 画出输出示意图。(提示输出a来确定获胜节点的坐标,从而进行画图)实验指导实验目的:(1)熟悉Matlab/Simulink的使用. (2)掌握DHNN神经网络的基本原理和基本的设计步骤. (3) 熟悉DHNN神经网络在实际中的

18、应用. 实验原理:Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于1982年提出,是一种单层反馈神经网络,结构如下所示。DHNN网实质上是一个离散的非线性动力学系统。网络从初态X(0)开始,若能经有限次递归后,其状态不再发生变化,即X(t+1)X(t),则称该网络是稳定的。 如果网络是稳定的,它可以从任一初态收敛到一个稳态. 若把需记忆的样本信息存储于网络不同的吸引子,当输入含有部分记忆信息的样本时,网络的演变过程便是从部分信息寻找全部信息,即联想回忆的过程。 实验内容:设印刷体数字由10*10点阵构成,就是将数字分成很多小方

19、块,每个方块就对应数字的一部分,构成数字本部分的方块用1表示,空白处用-1表示。试设计一个Hopfield网络,能够正确识别印刷体的数字0-9的识别,考察网络对受污染的数字点阵的识别,证明网络的有效性。 实验步骤:(1)确定网络的输入向量与目标向量;(2)确定网络的结构,创建一个Hopfield神经网络,设计参数;(3)编辑相应的M文件实现对给定受噪声污染的数字点阵的恢复,对DHNN网络进行仿真.要求考虑固定噪声和随机噪声两种情况。注:随机噪声的生成Noise_one=one;Noise_two=two;For i=1:100 a =rand; if a 0.2 Noise_one(i)= -

20、one(i); Noise_two(i)= -two(i); EndEnd显示图的运行结果放大图像:imresize(one,20)显示图像:imshow(one)RBF神经网络实验目的:(1)熟悉Matlab/Simulink的使用. (2)掌握RBF神经网络的基本原理和基本的设计步骤. (3) 熟悉RBF神经网络在实际中的应用. 实验原理:径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken在80年代末提出的一种神经网络,它是具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接收域(或称感受野-Receptive Fiel

21、d)的神经网络结构,因此,RBF网络是一种局部逼近网络,已证明它能任意精度逼近任意连续函数。1RBF网络特点(1) RBF网络的作用函数为高斯函数,是局部的,BP网络的作用函数为S函数,是全局的;(2)如何确定RBF网络隐层节点的中心及基宽度参数是一个困难的问题;(3)已证明RBF网络具有唯一最佳逼近的特性,且无局部极小。2. RBF网络结构RBF网络是一种三层前向网络。RBF网络结构如图2.1所示。由于输入到输出的映射是非线性的,而隐含层空间到输出空间的映射是线性的,从而可以大大加快学习速度并避免局部极小问题。 图2.1 RBF网络结构3. RBF网络的逼近 采用RBF网络逼近一对象的结构如

22、图2.2所示。图2.2 RBF网络逼近在RBF网络结构中,为网络的输入向量。设RBF网络的径向基向量,其中hj为高斯基函数:网络的第个结点的中心矢量为:其中, 设网络的基宽向量为:为节点的基宽度参数,且为大于零的数。网络的权向量为:时刻网络的输出为: (2.1)设理想输出为,则性能指标函数为: (2.2)根据梯度下降法,输出权、节点中心及节点基宽参数的迭代算法如下: (2.3) (2.4) (2.5) (2.6) (2.7)其中, 为学习速率,为动量因子。4、RBF神经网络函数newrbe及其参数介绍应用newrbe()函数可以快速设计一个径向基函数网络,且使得设计误差为0,调用方式如下:ne

23、t=newrbe(P,T,SPREAD)其中,P为输入向量,T为期望输出向量(目标值),SPREAD为径向基层的散布常数,缺省值为1。输出为一个径向基网络,其权值和阈值完全满足输入和期望值关系要求。由newrbe()函数构建的径向基函数网络,径向基层(第一层)神经元数目等于输入向量的个数。径向基层阈值的设定决定了每个径向基神经元对于输入向量产生响应的区域。因此,SPREAD应当足够大,使得神经元响应区域覆盖所有输入区间。实验内容:利用MATLAB6.5自带的一阶T-S型模糊控制slcp.mdl平台(如图1所示)设计RBF神经网络控制器,实现倒立摆的稳定控制仿真研究。实验步骤: (1)建立控制模

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

25、个数为1。而经signal to workspace模块提取出的数据为一个训练数据个数输入(或输出)个数的矩阵,因此分别将u、v转置后就得到标准训练数据。使用下面语句应用newrbe()函数设计一个RBF神经网络:input =u;output =v;net=newrbe(input,output,256)(4) 误差观察对网络进行检测,对于输入向量input应用函数sim()进行仿真,观察RBF对样本向量的逼近效果。y=sim(net,input)(5) 观察RBF网络的内部结构调用函数gensim()生成上述网络的Simulink模型。设定st=-1,生成一个连续采样的网络模块。用下面语句

26、可以在Simulink里生成控制器并使用其进行控制:gensim(net,-1)其中-1的意思是系统是实时的。生成的RBF神经网络控制器如图3.2所示(a) 外部结构 (b) 内部结构(c) 隐层结构(d) 输出层结构图3 RBF神经网络控制器(6) 利用RBF网络实现倒立摆的稳定控制使用这个RBF神经网络控制器代替原模糊控制器。运行程序,比较结果。图4 RBF神经网络控制仿真图实验思考:1.比较RBF与BP网络2.为了更直观的研究RBF网络逼近的效果,下面选取一非线性函数作为逼近对象进行仿真研究,逼近对象为: 将上式编入程序,其中采样时间取1ms。输入信号为,网络隐层神经元个数取m=4,网络

27、结构为2-4-1,网络的初始值取随机值,高斯函数的初始,。网络的学习参数取。RBF网络逼近程序:alfa=0.05;xite=0.5; x=0,0;b=1.5*ones(4,1); c=0.5*ones(2,4); w=rands(4,1); w_1=w;w_2=w_1;c_1=c;c_2=c_1;b_1=b;b_2=b_1;d_w=0*w;d_b=0*b;y_1=0;u_1=0;ts=0.001;for k=1:1:2000time(k)=k*ts;u(k)=0.50*sin(1*2*pi*k*ts);y(k)=(-0.3*y_1+u_1)/(5+y_12);x(1)=u(k);x(2)=y

28、_1;for j=1:1:4h(j)=exp(-norm(x-c(:,j)2/(2*b(j)*b(j);endym(k)=w*h;em(k)=y(k)-ym(k);for j=1:1:4 d_w(j)=xite*em(k)*h(j); d_b(j)=xite*em(k)*w(j)*h(j)*(b(j)-3)*norm(x-c(:,j)2; for i=1:1:2 d_c(i,j)=xite*em(k)*w(j)*h(j)*(x(i)-c(i,j)*(b(j)-2); endendw=w_1+ d_w+alfa*(w_1-w_2);b=b_1+d_b+alfa*(b_1-b_2);c=c_1+d_c+alfa*(c_1-c_2);%Jacobian%yu=0;for j=1:1:4yu=yu+w(j)*h(j)*(c(1,j)-x(1)/b(j)2; enddyu(k)=yu;u_1=u(k);y_1=y(k);w_2=w_1;w_1=w;c_2=c_1;c_1=c;b_2=b_1;b_1=b;end人工神经网络课程编码:2030B010 课程名称(英文):Artificial Neural Ne

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1