智能控制小作业函数逼近.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能控制小作业函数逼近.doc

Simulation Report on Intelligent Control and Application Name Student Number Advisor Category □ Master Program □ Doctoral Program Specialty School 仿真报告----利用BP神经网络与多项 式方法逼近函数的效果分析 介绍 Introduction 本仿真报告分别用多项式拟合和BP神经网络逼近函数,并分析多项式阶次和BP网络隐含层神经元个数与逼近精度之间的关系。 问题描述Problem description BP神经网络主要应用于函数逼近,模式识别,分类以及数据压缩。本仿真报告目的是之一利用Matlab建立神经网络模型,检测BP神经网络的函数逼近效果。 由数学分析知道,复杂的函数曲线可以有多项式函数逼近。因此本仿真报告将利用Matlab的polyfit函数polyfit函数的数学基础是最小二乘法曲线拟合原理,所得到的函数值在基点处的值与原来点的坐标偏差最小,常用于数据拟合。System model BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递, 误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理, 直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出, 则转入反向传播,根据预测误差调整网络权值和阈值,从而使B P神经网络预测输出不断逼近期望输出。 本设计中具体的神经网络模型如下: 采用三层BP神经网络,输入层和输出层各有一个神经元,隐含层的神经元的个数可变,选取从1到20的整数,从而分析隐含层神经元的个数与逼近效果之间的关系。 隐含层采用标准Sigmoidal激活函数,输出层采用线性激活函数。 学习率为0.003,目标误差为0.5,最大学习次数为5000次。 初始权值和阀值取[-0.1,0.1]内的随机数。 学习算法采用标准BP算法。 多项式拟合由于涉及到较深的数学理论,不再作具体介绍,只在用的地方做一些解说。 设计程序Intelligent control principle and design procedure 4.1目标函数分析 用Matlab做出函数在区间[-10,10]的曲线图,同时绘制函数y1=x以及dy=y-y1的曲线。曲线图见图1. 图1 原函数曲线图 由图1以及数学分析可以看出,在远离原点(0,0)的地方,目标函数接近y=x, 因此,需要用多项式或者BP神经网络逼近的部分在原点附近,其他部分用y=x近似,误差就已经很小了。例如,x=+/-2时,dy=3.2*10-28。因此本仿真选用的自变量x的区间为[-2,2]。 4.2 多项式拟合主要步骤介绍 根据目标函数产生样本输入输出 调用polyfit(x,y,n),产生基于最小二乘法的各阶次多项式。 设置循环变量cnt,实现在一个程序中,可以产生从1阶到30阶的多项式。 将样本输入传给多项式函数,得到逼近函数值,绘制各阶次多项式的拟合曲线。 绘制各阶次的误差变化曲线。 4.3 BP神经网络逼近主要步骤介绍 根据目标函数产生样本输入输出 设计BP神经网络。为了熟悉BP网络,本设计没有调用神经网络工具箱,而是自己编程,实现了BP神经网络,具体代码见附录中程序。 设置循环变量HiddenUnitNum,实现在一个程序中,可以产生隐含层含有从1到20的个神经元的网络。同时循环变量HiddenUnitNum为隐含层神经元数目。 用根据目标函数产生的样本输入训练神经网络,其中,样本输出为教师信号。 用训练过的BP网络拟合目标函数。同时记录下拟合效果。 仿真结果和分析Simulation results and analysis 5.1多项式仿真结果 图2中,以下各小图依次是利用多项式拟合函数的Matlab仿真图。按照从左到右,从上到下的顺序,各小图对应的多项式的阶次从1依次递增到30,由于篇幅所限,以及相邻阶次多项式之间的拟合效果很相近,因此,有一部分阶次的拟合图形没有列出。其中在每一幅小图中都包含了目标函数曲线(用黑色实线表示),样本点(用黑色加号+表示),拟合的效果图(用红色实线表示),样本点与多项式之间的误差值(用红色点划线表示)。每幅图中的标题数字对应多项式的阶次。(见下页) 5.2多项式仿真结果分析 从以下各图中可以分析得到,在选取拟合区间为[-2,2]时,利用最小二乘法得到的多项式,随着多项式阶次的增大,多项式拟合目标函数曲线的拟合曲线效果越好,也就是说,随着阶次的升高,拟合误差越来越小。并且,从图形中可以直观地看出,当多项式的阶次为20时,拟合效果已经很

文档评论(0)

四娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档