基于matlab_的神经网络的仿真

基于matlab_的神经网络的仿真

ID:13947574

大小:409.00 KB

页数:6页

时间:2018-07-25

基于matlab_的神经网络的仿真_第1页
基于matlab_的神经网络的仿真_第2页
基于matlab_的神经网络的仿真_第3页
基于matlab_的神经网络的仿真_第4页
基于matlab_的神经网络的仿真_第5页
资源描述:

《基于matlab_的神经网络的仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能控制基于MATLAB的神经网络的仿真学院:机电工程学院姓名:白思明学号:2011301310111年级:自研-11学科:检测技术与自动化装置日期:2012-4-3一.引言人工神经网络以其具有信息的分布存储、并行处理以及自学习能力等优点,已经在模式识别、信号处理、智能控制及系统建模等领域得到越来越广泛的应用。MATLAB中的神经网络工具箱是以人工神经网络理论为基础,利用MATLAB语言构造出许多典型神经网络的传递函数、网络权值修正规则和网络训练方法,网络的设计者可根据自己的需要调用工具箱中有关神

2、经网络的设计与训练的程序,免去了繁琐的编程过程。二.神经网络工具箱函数最新版的MATLAB神经网络工具箱为Version4.0.3,它几乎涵盖了所有的神经网络的基本常用类型,对各种网络模型又提供了各种学习算法,我们可以根据自己的需要调用工具箱中的有关设计与训练函数,很方便地进行神经网络的设计和仿真。目前神经网络工具箱提供的神经网络模型主要用于:1.数逼近和模型拟合;2.信息处理和预测;3.神经网络控制;4.故障诊断。神经网络工具箱提供了丰富的工具函数,其中有针对某一种网络的,也有通用的,下面列表中

3、给出了一些比较重要的工具箱函数。三.仿真实例BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。BP网络模型结构见图1。网络同层节点没有任何连接,隐层节点可以由一个或多个。网络的学习过程由正向和反向传播两部分组成。在正向传播中,输入信号从输入层节点经隐层节点逐层传向输出层节点。每一层神经元的状态只影响到下一层神经元网络,如输出层不能得到期望的输出,那么转入误差反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,在经正向传播过程,这两个过程反

4、复运用,使得误差信号最小或达到人们所期望的要求时,学习过程结束。利用神经网络工具箱进行设计和仿真的具体步骤:1.确定信息表达方式:将实际问题抽象成神经网络求解所能接受的数据形式;2.确定网络模型:选择网络的类型、结构等;3.选择网络参数:如神经元数,隐含层数等;4.确定训练模式:选择训练算法,确定训练步数,指定训练目标误差等;5.网络测试:选择合适的训练样本进行网络测试。下面给出一个利用BP神经网络进行函数逼近的例子。第一步问题的提出设计一个简单的BP网络,实现对非线性函数的逼近,通过改变BP网络

5、的隐层神经元的数目,采用不同的训练方法来观察训练时间和训练误差的变化情况。假设将要将要逼近的函数为正弦函数,其频率参数N=1,绘制此函数见图2所示。N=1;p=[-1:0.05:1];t=sin(N*pi*p);%假设N=1,绘制此函数曲线plot(p,t,'r*')title('要逼近的非线性函数')xlabel('时间');第二步网络建立应用newff()建立两层的BP网络,隐层神经元数目可以改变,此时S=8,输出层一个神经元,隐层和输出层的传递函数分别为tansig和purelin,学习算法

6、采用Levenberg-Marquadt(trainlm)。用sim()观察初始化网络输出如图3所示。S=8;net=newff(minmax(p),[S,1],{'tansig','purelin'},'trainlm');y1=sim(net,p);figure;plot(p,t,'r*',p,y1,'b-')title('未训练网络的输出结果')xlabel('时间');ylabel('仿真输出-原函数*');legend('要逼近的非线性函数','未训练网络的输出结果')图2要逼近的非线性

7、函数图3未训练时网络的输出结果第三步网络训练将训练时间设为10,精度为0.001,用train()进行训练,误差曲线见图4所示。net.trainParam.epochs=10;net.trainParam.goal=0.001;net1=train(net,p,t)图4训练过程图第四步网络测试用sim()观察训练后的网络输出如图5所示。y2=sim(net1,p)figure;plot(p,t,'r*',p,y1,'b-',p,y2,'ko')title('训练后网络的输出结果')xlabel(

8、'时间');ylabel('仿真输出')legend('要逼近的非线性函数','未训练网络的输出结果','训练后网络的输出结果')图5训练后网路的输出结果从图5可以看出经过很短时间的训练后BP网络很好的逼近了非线性函数。讨论:1.改变非线性函数的频率,即改变N的值时发现,网络的训练时间会长些,逼近效果要差些。2.改变隐层的神经元数目对网络的逼近效果也有影响,一般来说,隐层的神经元数目越多,则BP网络逼近非线性函数能力越强,但也并非隐层的神经元数目越多,网络性能就越好,而同时训练时间

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

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

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