MATLAB神经网络工具箱1ppt整理.ppt

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

例1: 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月印刷 BP网络的生成 newff 函数newff用来生成一个BP网络 net=newff(PR,[S1 S2...SN],{TF1 TF2... TFN},BTF,BLF,PF) PR: 一个R×2矩阵, 由R维输入向量的每维最小值和最大值组成 Si: 第i层的神经元个数 TFi: 第i层的传递函数, 默认为tansig BTF: 训练函数, 默认为trainlm BLF: 学习函数, 默认为learngdm PF: 性能函数, 默认为mse net=newff([0,10;-1,2],[5,1],{‘tansig’,’purelin’},’trainlm’); %生成一个两层BP网络,隐层和输出层神经的个数为5和1, 传递函数分别为tansig和purelin, 训练函数为trainlm, 其他默认 BP网络的初始化 newff 函数在建立网络对象的同时, 自动调用初始化函数, 根据缺省的参数设置网络的连接权值和阈值. 使用函数init可以对网络进行自定义的初始化. 通过选择初始化函数, 可对各层连接权值和阈值分别进行不同的初始化. BP网络的学习规则 权值和阈值的调节规则采用误差反向传播算法(back propagation). 反向传播算法分二步进行,即正向传播和反向传播。 1.正向传播 输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。 2.反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。 BP算法实质是求取误差函数的最小值问题。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。 BP网络的快速学习算法与选择 适用于提前停止的方法 较小 收敛较慢 模式分类 traingdx 计算量岁网络规模的增大呈几何增长 较大 收敛较快 函数拟合 trainbfg 尤其适用于网络规模较大的情况 中等 收敛较快 性能稳定 函数拟合 模式分类 trainscg 性能随网络训练误差减小而变差 较小 收敛最快 模式分类 trainrp 性能随网络规模增大而变差 大 收敛快,误差小 函数拟合 trainlm 其他特点 占用存储空间 收敛性能 适用问题类型 学习算法 MATLAB神经网络工具箱对常规BP算法进行改进,提供了一系列快速算法,以满足不同问题的需要 BP网络的训练 利用已知的”输入—目标”样本向量数据对网络进行训练,采用train 函数来完成. 训练之前, 对训练参数进行设置 0.01 学习率 net.trainParam.lr INf 训练允许时间 net.trainParam.time 0 训练目标误差 net.trainParam.goal 25 显示训练结果的间隔步数 net.trainParam.show 100 训练步数 net.trainParam.epochs 默认值 参数含义 训练参数 net = train(net, P, T) BP网络的设计(1) 网络层数

文档评论(0)

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

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

1亿VIP精品文档

相关文档