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

上传人:012****78 文档编号:192750767 上传时间:2021-08-19 格式:DOC 页数:19 大小:860KB
返回 下载 相关 举报
Matlab神经网络工具箱介绍与数值试验_第1页
第1页 / 共19页
Matlab神经网络工具箱介绍与数值试验_第2页
第2页 / 共19页
Matlab神经网络工具箱介绍与数值试验_第3页
第3页 / 共19页
Matlab神经网络工具箱介绍与数值试验_第4页
第4页 / 共19页
Matlab神经网络工具箱介绍与数值试验_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《Matlab神经网络工具箱介绍与数值试验》由会员分享,可在线阅读,更多相关《Matlab神经网络工具箱介绍与数值试验(19页珍藏版)》请在金锄头文库上搜索。

1、Matlab神经网络工具箱介绍与数值试验 作者: 日期:19 个人收集整理 勿做商业用途第一章 Matlab神经网络工具箱介绍与数值试验1.1 Matlab神经网络工具箱中BP网络相关函数介绍MATLAB神经网络工具箱中包含了许多用于BP网络分析和设计的函数。BP网络的常用函数如表41所示。10,12表4-1 BP网络的常用函数函数类型函数名称函数用途前向网络创建函数newcf创建一个多层前馈BP网络newff创建一个前向BP网络newfftd创建一个前馈输入延迟BP网络传递函数logsigS型的对数函数dlogsigLogig的导函数tansigS型的正切函数dtansigtansig的导函

2、数purelin纯线性函数学习函数traingd基于标准BP算法的学习函数trainrp采用Rprop算法训练trainlm采用LM算法训练traincgf基于共轭梯度法的学习函数仿真函数sim仿真一个神经网络1.2 数值试验1.2.1. “异或”问题“异或”问题(XOR)是典型的非线性划分问题。这里以它为例,简单介绍BP网络的应用.在Matlab7。0环境下,建立一个三层的BP神经网络,其中输入层和隐层分别各有两个神经元,输出层有一个神经元。现要求训练这一网络,使其具有解决“异或”问题的能力。“异或”问题的训练输入和期望输出如表51。表5-1 异或问题的训练输入和期望输出0000111011

3、101) 基于标准BP算法结果如下及图5.1所示:横轴表示迭代次数,纵轴表示误差。迭代到第240次时达到预设精度.迭代停止时,误差为9。97269e005,此时的梯度为0。00924693。图5.1 基于标准BP算法的“异或”问题2) 基于共轭梯度法结果如下及图5。2所示:横轴表示迭代次数,纵轴表示误差。迭代到第16次时达到预设精度。迭代停止时,误差为9.0770e005,此时的梯度为0。00318592。图5.2 基于共轭梯度法的“异或问题3) 基于LM算法结果如下及图5。3所示:横轴表示迭代次数,纵轴表示误差.迭代到第4次时达到预设精度.迭代停止时,误差为8.8892e006,此时的梯度为

4、0。00727382。图5.3 基于LM算法的“异或”问题4) 基于RPROP算法结果如下及图5.4所示:横轴表示迭代次数,纵轴表示误差。迭代到第31次时达到预设精度.迭代停止时,误差为4。6696e-005,此时的梯度为0。00721433。图5。4 基于RPROP算法的“异或”问题1.2.2. 连续函数拟合问题一个神经网络最强大的用处之一是在函数逼近上。它可以用在诸如被控对象的模型辨识中,即将过程看成一个黑箱子,通过测量其输入/输出特性,然后利用所得实际过程的输入/输出数据训练一个神经网络,使其输出对输入的响应特性具有与被辨识过程相同的外部特性10。1) 线性函数拟合使用标准BP算法,对函

5、数进行拟合.结果如图5。5,红色虚线和“”号表示拟合结果。迭代到第8次时达到预设精度。迭代停止时,误差为2。49485e005,此时的梯度为0.0190722。图5。5 线性函数拟合2) 二次函数拟合使用RPROP算法,对函数进行拟合.结果如图5.6,红色虚线和“”号表示拟合结果。迭代到第320次时达到预设精度.迭代停止时,误差为9。9923e005,此时的梯度为0。00135595.图5.6 二次函数拟合3) sin函数拟合使用共轭梯度算法,对函数进行拟合。结果如图5.7,红色虚线和“”号表示拟合结果。迭代到第119次时达到预设精度.迭代停止时,误差为9。92315e005,此时的梯度为0.

6、0025562。图5.7 sin函数拟合4) 指数函数拟合使用LM算法,对函数进行拟合.结果如图5。8,红色虚线和“”号表示拟合结果.迭代到第8次时达到预设精度。迭代停止时,误差为5。99591e-005,此时的梯度为0。0544397.图5.8 指数函数拟合5) 复合函数拟合使用LM算法,对函数进行拟合。结果如图5。8,红色虚线和“”号表示拟合结果.迭代到第9次时达到预设精度。迭代停止时,误差为9。73363e005,此时的梯度为0.0163562。图5。9 复合函数拟合1.2.3. 3bit Parity问题这次仿真我们考虑3-bit Parity问题,该问题被认为是“异或”问题的三位形式

7、。这个问题描绘了三个二进制输入得到一个二进制输出的过程。如果输入中1的个数是奇数个,则输出是1。反之,输出为014。3-bit Parity问题的训练输入和期望输出如表5-2。表5-2 3bit Parity问题的训练输入和期望输出000000110101011010011010110011111) 基于标准BP算法结果如下及图5.10所示:横轴表示迭代次数,纵轴表示误差。迭代到第113次时达到预设精度。迭代停止时,误差为9。99979e005,此时的梯度为0.00799224。图5.10 基于最速下降法的3-bit Parity问题2) 基于共轭梯度法结果如下及图5。11所示:横轴表示迭代次

8、数,纵轴表示误差.迭代到第60次时达到预设精度.迭代停止时,误差为9。42383e-005,此时的梯度为0。0161969。图5。11 基于共轭梯度法的3-bit Parity问题3) 基于LM算法结果如下及图5.12所示:横轴表示迭代次数,纵轴表示误差.迭代到第19次时达到预设精度。迭代停止时,误差为 9。49592e006,此时的梯度为0。025507.图5。12 基于LM算法的3-bit Parity问题4) 基于RPROP算法结果如下及图5。13所示:横轴表示迭代次数,纵轴表示误差。迭代到第33次时达到预设精度。迭代停止时,误差为9.09842e-005,此时的梯度为0。0115333

9、。图5.13 基于RPROP算法的3bit Parity问题第二章 总结BP网络的算法实际上就是解决一个无约束最优化问题。标准BP算法是BP神经网络的最基本的算法,应用了最速下降法的思想,所以它不可避免的具备了最速下降法所带了的缺点。为了克服标准BP算法的缺陷,人们进行了更深入的研究,对标准BP算法进行了改进,并提供了一系列快速学习算法,以满足解决不同问题的需要。快速BP算法从改进途径上可分为两大类:一类是采用启发式学习方法,如引入动量因子的学习算法、变学习速率学习算法等;另一类则是采用更有效的数值优化方法,如共轭梯度学习算法、LevenbergMarquardt算法以及B&B算法等。对于不同

10、的问题,在选择学习算法对 BP 网络进行训练时,不仅要考虑算法本身的性能,还要视问题的复杂度、样本集大小、网络规模、 网络误差目标和所要解决的问题类型而定10。2.1 各种算法的优缺点比较标准BP算法易于理解,方法简单,每一次迭代的工作量较小,所需要的存储空间也较小,而且即使从一个不好的初值开始计算,也可以保证算法的收敛性11.不过正如前文中数值试验所表现的那样,标准BP算法在收敛速度上很慢,迭代次数很多,而且受学习率的影响很大。Levenberg-Marquardt算法是应用于训练BP网络问题的牛顿算法的一个简单版本。它的突出优点是收敛速度快,而且收敛误差小。它的缺点也很突出,它所需的存储空间很大,计算量也很大,所以当网络规模增大时,它的性能会变得很差。另外,LM算法对初值的选择很敏感,不恰当的初值会使算法不收敛。对于规模较小的BP网络,LM算法不失为一个极好的选择。共轭梯度算法是上面两种算法的一个折中算法。它比标准BP算法收敛速度快,比LM算法的计算量小,性能稳定,所需的存储空间也不算很大。它更适合解决网络规模比较大的情况。RPROP算法是一种有“弹性”的学习算法。算法直观易理解,计算难度小,收敛速度较快,占用存储空间较小。RPROP算法在分类问题上的表现比在函数逼近问题上的表现要更好.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 工学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号