MATLAB神经网络工具箱函数拟合.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB神经网络工具箱函数拟合

实验2: BP网络用于曲线拟合 要求设计一个简单的BP网络,实现对非线性函数的逼近。通过改变该函数的参数以及BP网络隐层神经元的数目,来观察训练时间以及训练误差的变化情况。 Step1: 将要逼近的非线性函数设为正弦函数 Step 2: 网络建立 应用函数newff()建立BP网络结构,为二层BP网络。隐层神经元数目n可以改变,暂设为10,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练算法采用trainlm Step 3: 网络训练 应用函数train()对网络进行训练之前,要先设置训练参数。将训练时间设置为50,精度设置为0.01,其余用缺省值。 训练后得到的误差变化过程如图: Stet 4: 网络测试 对于训练好的网络进行仿真 并绘制网络输出曲线,与原始非线性函数曲线以及未训练网络的输出结果曲线相比较 讨 论 改变非线性函数的频率k值,和BP网络隐层神经元的数目,对于函数逼近的效果有一定的影响。 网络非线性程度越高,对于BP网络的要求就越高,则相同的网络逼近效果要差一些;隐层神经元的数目对于网络逼近效果出有一定的影响,一般来说,隐层神经元数目越多,则BP网络逼近能力越强,而同时网络训练所用的时间相对来说也要长一些。 关于这些,大家可以自己通过参数调整试一试,并在实验报告中有所反映。 参考书 《Matlab神经网络与应用》,董长虹编著,国防工业出版社,2005年1月印刷 目标线 训练误差变化曲线 训练误差变化曲线(每次不同) k = 1; p = [-1:.05:1]; t = sin(k*pi*p); plot(p,t,-) title(要逼近的非线性函数); xlabel(时间); ylabel(非线性函数); n = 10; net = newff(minmax(p), [n,1], {tansig purelin}, trainlm); % 对于该初始网络,可以应用sim()函数观察网络输出 y1 = sim(net,p); % 同时绘制网络输出曲线,并与原函数相比较 figure; plot(p,t,-,p,y1,--) title(未训练网络的输出结果); xlabel(时间); ylabel(仿真输出 - - 原函数 -); 因为使用newff()函数建立网络时,权值和阈值的初始化是随机的,所以网络输出的结果很差,根本达不到函数逼近的目的,并且每次运行结果也有所不同。 net.trainParam.epochs = 50; net.trainParam.goal = 0.01; net = train(net,p,t); y2 = sim(net,p); figure; plot(p,t,-,p,y1,--,p,y2,-.) title(训练后网络的输出结果); xlabel(时间); ylabel(仿真输出); 从图中可以看出,得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后,BP网络对非线性函数的逼近效果相当好。 思考题 设计一BP网络逼近函数 实验要求 完成实验一和实验二 做思考题 本次实验不用上交,大家自己练习,下机结束时不管做得如何,把所有m文件压缩用名字学号命名上传至指定位置 50/上传目录/智能系统导论上传 MATLAB神经网络工具箱 介绍及实验要求 神经元模型 Neuron Model: 多输入,单输出,带偏置 输入:R维列向量 权值:R维行向量 阈值:标量 求和单元 传递函数 输出 常用传递函数 a Wp -b 1 -1 阈值函数 MATLAB函数: hardlim MATLAB函数: hardlims 线性函数 Purelin Transfer Function : a n MATLAB函数: purelin Sigmoid函数 Sigmoid Function : 特性: 值域a∈(0,1) 非线性,单调性 无限次可微 |n|较小时可近似线性函数 |n|较大时可近似阈值函数 MATLAB函数: logsig(对数), tansig(正切) 对数Sigmoid函数 正切Sigmoid函数 单层神经网络模型 R维输入, S个神经元的单层神经网络模型 多层神经网络模型 前馈神经网络 前馈神经网络(feed forward NN):各神经元接受前级输入,并输出到下一级,无反馈,可用一有向无环图表示。 前馈网络通常分为不同的层(layer),第i层的输入只与第i-1层的输出联结。 可见层:输入层(input layer)和输出层(output layer) 隐藏层(hidden layer) :中间层 感知器(perceptron): 单层前馈网络 传递函数为阈值函数 主要功能是模式分类 感知

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档