第四章 Matlab 神经网络工具箱与数值试验 1 第一章 Matlab神经网络工具箱介绍与数值试验 1.1 Matlab神经网络工具箱中BP网络相关函数介绍 MATLAB 神经网络工具箱中包含了许多用于BP 网络分析和设计的函数。BP 网络的常用函数如表4-1 所示。[10,12] 表4-1 BP 网络的常用函数 函数类型 函数名称 函数用途 前向网络创建函数 new cf 创建一个多层前馈BP 网络 new ff 创建一个前向BP 网络 new fftd 创建一个前馈输入延迟BP 网络 传递函数 logsig S 型的对数函数 dlogsig Logig 的导函数 tansig S 型的正切函数 dtansig tansig 的导函数 purelin 纯线性函数 学习函数 traingd 基于标准BP 算法的学习函数 trainrp 采用Rprop 算法训练 trainlm 采用LM 算法训练 traincgf 基于共轭梯度法的学习函数 traingdm 动量梯度下降算法学习函数 仿真函数 sim 仿真一个神经网络 1.2 数值试验 1.2.1. “异或”问题 “异或”问题(XOR)是典型的非线性划分问题。这里以它为例,简单介绍BP 网络的应用。 在 Matlab7.0环境下,建立一个三层的BP 神经网络,其中输入层和隐层分别各有两个神经元,输出层有一个神经元。现要求训练这一网络,使其具有解决“异或”问题的能力。 第四章 Matlab 神经网络工具箱与数值试验 2 “异或”问题的训练输入和期望输出如表 5-1。 表 5-1 异或问题的训练输入和期望输出 1X 2X 1d 0 0 0 0 1 1 1 0 1 1 1 0 1) 基于标准 BP 算法 结果如下及图 5.1 所示: 横轴表示迭代次数,纵轴表示误差。迭代到第240 次时达到预设精度。迭代停止时,误差为 9.97269e-005,此时的梯度为 0.00924693。 05010015020010 -410 -310 -210 -110 010 1240 EpochsTraining-Blue Goal-BlackPerformance is 9.97269e-005, Goal is 0.0001 图 5.1 基于标准 BP算法的“异或”问题 2) 基于共轭梯度法 结果如下及图5.2 所示: 第四章 Matlab 神经网络工具箱与数值试验 3 横轴表示迭代次数,纵轴表示误差。迭代到第16 次时达到预设精度。迭代停止时,误差为9.0770e-005,此时的梯度为0.00318592。 024681012141610 -410 -310 -210 -110 010 116 EpochsTraining-Blue Goal-BlackPerformance is 9.07705e-005, Goal is 0.0001 图5.2 基于共轭梯度法的“异或”问题 3) 基于LM 算法 结果如下及图5.3 所示: ...