神经网络学习算法matlab仿真_第1页
神经网络学习算法matlab仿真_第2页
神经网络学习算法matlab仿真_第3页
神经网络学习算法matlab仿真_第4页
神经网络学习算法matlab仿真_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南大学自动化学院东南大学自动化学院 智能控制概论智能控制概论 神经网络学习算法研究 学 院 姓 名 学 号 日 期 2 目 录 1 任务要求叙述 3 2 系统分析及设计原理 3 3 设计实现 5 4 仿真验证 6 5 讨论与分析 16 3 一 任务要求叙述一 任务要求叙述 1 任务 a 运行算法 观察和分析现有学习算法的性能 clear all close all nu 20 pi 3 1415926 for i 1 nu p i 2 pi i nu t i 0 5 1 cos p i end minmax min p max p net newff 0 7 6 1 logsig purelin traingd traingd traingdm trainlm net trainParam epochs 10000 net trainParam goal 0 0001 net trainParam show 200 net trainParam lr 0 1 net trainParam mc 0 6 0 9 default value available for momentum net train net p t y1 sim net p figure 2 plot p t p y1 r test data nu2 nu 3 2 for i 1 nu2 p2 i 2 pi i nu2 t2 i 0 5 1 cos p2 i end y2 sim net p2 figure 3 plot t2 hold on plot y2 r xlabel times ylabel outputs figure 4 plot t2 y2 xlabel times ylabel error b 为了进一步提高学习逼近效果 可以采取那些措施 调节规律如何 根据所提的每种 措施 修改算法程序 给出仿真效果验证 过程以及相应的曲线图 给出适当的评述 c 联系 结合前向神经网络的算法样本学习 测试等过程 谈谈本人对神经网络系统的 一些认识和看法 2 要求 提交完整的报告 包括 封面 题目 个人学号姓名等信息 目录 任务要求叙述 4 系统分析及设计原理 包括神经网络学习过程的原理图及文字分析 完整的设计实现过程 包括神经网络结构 参数等选择与实现 计算 原理过程等 仿真验证 算法流程图 实 现手段介绍 系统参数选择 曲线图 结合调参对响应曲线的影响给出必要的分析 讨论 与分析 总字数要求在 2000 以上 二 系统分析及设计原理二 系统分析及设计原理 1 神经网络的学习算法 学习过程实质上是针对一组给定的输入使网络产生相应的期望输出 2 1 Npxp 的过程 总的来说 神经网络的学习算法分为两大类 有导师学习和无导师学习 图 1 有导师指导神经网络学习方式 图 2 无导师指导神经网络学习方式 由上图可见 所谓有导师学习就是在训练过程中 始终存在一个期望的网络输出 期 望输出和实际输出之间的距离作为误差度量并用于调整权值 而无导师学习指的是网络不 存在一个期望的输出 因而没有直接的误差信息 因此 为实现对网络的训练 徐建立一 个简洁的评价函数 以对网络的某种行为取向做出评价 2 多层传播网络的学习算法 给定组样本 这里为维输入矢量 为N 2211pp TXTXTX i X i n i T 维期望的输出矢量 假设矢量和分别表示网络的输出层和隐含层 o nPi 2 1 yo 的输出矢量 则训练过程为 1 选 作为最大容许误差 并将权系数初始化成某0 max E 2 1 LlW ll 一小的随机权矩阵 0 1 Ep 2 训练开始 ppp TTXO 1 按照计算出各隐含层神经元的12 1 0 1 11 1 1 LrowO r n i r j r pl r jlr r pj 输入信号 X 期望输出 T 网络输出 Y 神经网络 距离计算 输入信号 X网络输出 Y 神经网络 5 尽力输出 按照计算出各输 o n i L j L pi L jiL L pjLpj nLowNety L 2 1 1 1 1 出层神经元的激励输出 3 计算误差 okk nkEytE 2 1 2 2 4 按公式 L pjLpjpj L pj pj pj p L pj p L pj Netyt Net y y E Net E 11 1 1 k r pjr r kj r pk k r pjr r pj r pk r pk p r pj r pj r pj p r pj p r pj Netwo Net o Net Net E Net o o E Net E 计算出 r pj L pj 5 调整权阵系数 1 r pj r pj r ji ow r pj r j 6 若 跳转到 2 否则跳转到 7 Pp 1 pp 7 若 结束 否则 跳转到 2 max EE 0 1 Ep 三 设计实现三 设计实现 1 神经网络的结构 BP 算法的神经网络结构 下图是一个多层传播结构 即在输入层和输出层之间嵌入一层或多层隐含层的网络结 构 隐含层单元既可以与叔叔出单元相连也可以与其他隐含层单元相连 隐含层单元与输 入单元之间通过突触权系数连接 并可用矩阵表示全部关系 隐含层单元与输出单 1 ij w 1 w 元之间通过突触权系数连接 全部关系可用矩阵表示 21 ij w 2 w 图 3 神经网络结构图 6 2 Maltab 神经网络工具箱 1函数介绍 newc 创建级联前向网络 newff 创建前向 BP 网络 newffd 创建存在输入延迟的前向网络 在此次实验中 采用第二个函数即创建的是前向 BP 网络 前向网络中各神经元 接受前一级的输入 并输出到下一级 网络中没有反馈 可以用一个有向无环路图表 示 这种神经网络称为前向网络 前向网络中节点分为两类 输入节点和计算节点 每个输入节点可以有任意个输入 但只有一个输出 而输出可以耦合到任意多个其他 节点的输入 前向网络通常可以分为不同的层 第 i 层的输入仅与第 i 1 层的输出连接 一般认为输入节点为第一层 具有一层计算节点的网络实际上是一个两层网络 由于 输入节点和输出节点可以和外界连接 直接接受环境的影响 所以称为可见层 而其 他中间层则称为隐层 2Newff 函数参数介绍 newff 函数的格式为 net newff PR S1 S2 SN TF1 TF2 TFN BTF BLF PF 函数 newff 建立一个可训练的前馈网络 输入参数说明 PR Rx2 的矩阵以定义 R 个输入向量的最小值和最大值 Si 第 i 层神经元个数 TFi 第 i 层的传递函数 默认函数为 tansig 函数 BTF 训练函数 默认函数为 trainlm 函数 BLF 权值 阀值学习函数 默认函数为 learngdm 函数 PF 性能函数 默认函数为 mse 函数 3程序中参数含义 1 Newff 函数中的参数 a 传递函数有三种 tansig n 2 1 exp 2 n 1 logsig n 1 1 exp n purelin n n b 训练函数有 12 种 trainbrBayes 规范化 BP 训练函数 trainc 循环顺序渐增训练函数 traincgb Powell Beale 连接梯度 BP 训练函数 traincgf Fletcher Powell 连接梯度 BP 训练函数 traincgp Polak Ribiere 连接梯度 BP 训练函数 traingda 自适应 lrBP 的梯度递减训练函数 traingdx 动量及自适应 lrBP 的梯度递减训练函数 trainlm Levenberg Marquardt BP 训练函数 7 trainoss 一步正切 BP 训练函数 trainr 随机顺序递增更新训练函数 trainrp 带反弹的 BP 训练函数 trains 顺序递增 BP 训练函数 trainscg 量化连接梯度 BP 训练函数 2 其他参数 net trainParam epochs 10000 允许最大训练步数 10000 net trainParam goal 0 001 训练目标最小误差 0 001 net trainParam show 200 每间隔 200 步显示一次训练结果 net trainParam lr 0 1 学习步长 0 1 net trainParam mc 0 6 动量因子 四 仿真验证四 仿真验证 1 参数调节方法 首先改变传递函数 保持其他参数不变的条件下 将传递函数换成其余两个传递函数 观察运行结果 比较选出最符合要求的传递函数 然后使用最符合要求的传递函数 改变 训练函数 同样选出最符合要求的训练函数 最后使用最符合要求的传递函数和训练函数 改变精度 步长 动量因子 比较分析 总结变化规律 2 调节运行结果 1初始运行结果 8 图 4 初始结果 minmax 0 3142 6 2832 TRAINGD Maximum epoch reached performance goal was not met 在初始算法中 采用的是 net newff 0 7 6 1 logsig purelin traingd 由上图发现 即使最大步长为 10000 Epochs 最后也没有收敛到我们所需要的精度 这是因为 traingd 为 单纯的梯度下降训练函数 训练速度比较慢 而且容易陷入局部最小的情况 2修改传递函数 将传递函数 logsig 改为 tansig 即传递函数为 2 1 exp 2 n 1 程序为 net newff 0 7 6 1 tansig purelin traingd 结果发现改变传递函数并没有对测试数据的结果有过多的变化 说明传递函数对系统 的性能的影响不大 那么还是选用初始的传递函数 logsig minmax 0 3142 6 2832 TRAINGD Maximum epoch reached performance goal was not met 9 图 5 改变传递函数的结果 3第一次修改训练函数 将训练函数 traingd 改为 traingdm 即 net newff 0 7 6 1 logsig purelin traingdm 图 6 训练函数为 traningdm 的结果 minmax 0 3142 6 2832 TRAINGDM Maximum epoch reached performance goal was not met 10 经过 10000 次训练后 traningdm 网络的输出误差与 traningd 训练算法的结果差不多 网络误差的收敛速度也非常慢 Traningdm 是动量梯度下降算法 和 traningd 一样是启发 式训练算法 它的使用类似于函数 traingd 4第二次修改训练函数 将训练函数改为 trainlm 即 net newff 0 7 6 1 logsig purelin trainlm 图 7 训练函数为 trainlm 的结果 minmax 0 3142 6 2832 TRAINLM Performance goal met 结果表明仅仅经过 6 次训练后 网络误差就已经收敛了 说明 trainlm 算法效果最好 由于误差只是 0 001 所以在这个情况下可以加强误差限制 同时在改变步长和动量因子 观察其对结果的影响 5修改程序中的其他参数 以下研究分析都是在传递函数为 logsig 训练函数为 trainlm 的基础上进行的 a 改变动量因子 I net trainParam mc 0 9 11 图 8 改变动量因子结果 1 minmax 0 3142 6 2832 TRAINLM Performance goal met II net trainParam mc 0 6 12 图 9 改变动量因子结果 2 minmax 0 3142 6 2832 TRAINLM Performance goal met III net trainParam mc 0 4 图 10 改变动量因子结果 3 minmax 0 3142 6 2832 13 TRAINLM Performance goal met 比较以上三组结果可知 他们的训练效果都是不错的 而当 mc 减小时 发现收敛速 度变快 收敛的精度的方向却是不同的 b 改变步长的结果 保持 net trainParam mc 0 6 I net trainParam lr 0 05 图 11 改变训练步长结果 1 minmax 0 3142 6 2832 TRAINLM Performance goal met II net trainParam lr 0 5 的效果 14 图 12 改变训练步长结果 2 minmax 0 3142 6 2832 TRAINLM Performance goal met III net trainParam lr 1 的效果 15 图 13 改变训练步长结果 3 minmax 0 3142 6 2832 TRAINLM Performance goal met IV net trainParam lr 5 的效果 图 14 改变训练步长结果 4 minmax 0 3142 6 2832 16 TRAINLM Performance goal met V net

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论