Matlab神经网络工具箱介绍数值试验.docVIP

  • 2
  • 0
  • 约2.92千字
  • 约 17页
  • 2018-03-16 发布于江苏
  • 举报
Matlab神经网络工具箱介绍数值试验

Matlab神经网络工具箱介绍与数值试验 Matlab神经网络工具箱中BP网络相关函数介绍 MATLAB神经网络工具箱中包含了许多用于BP网络分析和设计的函数。BP网络的常用函数如表4-1所示。[10,12] 表4-1 BP网络的常用函数 函数类型 函数名称 函数用途 前向网络创建函数 newcf 创建一个多层前馈BP网络 newff 创建一个前向BP网络 newfftd 创建一个前馈输入延迟BP网络 传递函数 logsig S型的对数函数 dlogsig Logig的导函数 tansig S型的正切函数 dtansig tansig的导函数 purelin 纯线性函数 学习函数 traingd 基于标准BP算法的学习函数 trainrp 采用Rprop算法训练 trainlm 采用LM算法训练 traincgf 基于共轭梯度法的学习函数 仿真函数 sim 仿真一个神经网络 数值试验 “异或”问题 “异或”问题(XOR)是典型的非线性划分问题。这里以它为例,简单介绍BP网络的应用。 在Matlab7.0环境下,建立一个三层的BP神经网络,其中输入层和隐层分别各有两个神经元,输出层有一个神经元。现要求训练这一网络,使其具有解决“异或”问题的能力。 “异或”问题的训练输入和期望输出如表5-1。 表5-1 异或问题的训练输入和期望输出 0 0 0 0 1 1 1 0 1 1 1 0 基于标准BP算法 结果如下及图5.1所示: 横轴表示迭代次数,纵轴表示误差。迭代到第240次时达到预设精度。迭代停止时,误差为9.97269e-005,此时的梯度为0 图5.1 基于标准BP算法的“异或”问题 基于共轭梯度法 结果如下及图5.2所示: 横轴表示迭代次数,纵轴表示误差。迭代到第16次时达到预设精度。迭代停止时,误差为9.0770e-005,此时的梯度为0 图5.2 基于共轭梯度法的“异或”问题 基于LM算法 结果如下及图5.3所示: 横轴表示迭代次数,纵轴表示误差。迭代到第4次时达到预设精度。迭代停止时,误差为8.8892e-006,此时的梯度为0 图5.3 基于LM算法的“异或”问题 基于RPROP算法 结果如下及图5.4所示: 横轴表示迭代次数,纵轴表示误差。迭代到第31次时达到预设精度。迭代停止时,误差为4.6696e-005,此时的梯度为0 图5.4 基于RPROP算法的“异或”问题 连续函数拟合问题 一个神经网络最强大的用处之一是在函数逼近上。它可以用在诸如被控对象的模型辨识中,即将过程看成一个黑箱子,通过测量其输入/输出特性,然后利用所得实际过程的输入/输出数据训练一个神经网络,使其输出对输入的响应特性具有与被辨识过程相同的外部特性。进行拟合。结果如图5.5,红色虚线和“+”号表示拟合结果。 迭代到第8次时达到预设精度。迭代停止时,误差为2.49485e-005,此时的梯度为0.0190722。 图5.5 线性函数拟合 二次函数拟合 使用RPROP算法,对函数进行拟合。结果如图5.6,红色虚线和“+”号表示拟合结果。 迭代到第320次时达到预设精度。迭代停止时,误差为9.9923e-005,此时的梯度为0 图5.6 二次函数拟合 sin函数拟合 使用共轭梯度算法,对函数进行拟合。结果如图5.7,红色虚线和“+”号表示拟合结果。 迭代到第119次时达到预设精度。迭代停止时,误差为9.92315e-005,此时的梯度为0.0025562。 图5.7 sin函数拟合 指数函数拟合 使用LM算法,对函数进行拟合。结果如图5.8,红色虚线和“+”号表示拟合结果。 迭代到第8次时达到预设精度。迭代停止时,误差为5.99591e-005,此时的梯度为0.0544397。 图5.8 指数函数拟合 复合函数拟合 使用LM算法,对函数进行拟合。结果如图5.8,红色虚线和“+”号表示拟合结果。 迭代到第9次时达到预设精度。迭代停止时,误差为9.73363e-005,此时的梯度为0.0163562。 图5.9 复合函数拟合 3-bit Parity问题 这次仿真我们考虑3-bit Parity问题,该问题被认为是“异或”问题的三位形式。这个问题描绘了三个二进制输入得到一个二进制输出的过程。如果输入中1的个数是奇数个,则输出是1。反之,输出为0[14]。 3-bit Parity问题的训练输入和期望输出如表5-2。 表5-2 3-bit Parity问题的训练输入和期望输出 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1

文档评论(0)

1亿VIP精品文档

相关文档