基于MATLAB神经网络仿真毕业论文_第1页
基于MATLAB神经网络仿真毕业论文_第2页
基于MATLAB神经网络仿真毕业论文_第3页
基于MATLAB神经网络仿真毕业论文_第4页
基于MATLAB神经网络仿真毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、基于MATLAB神经网络仿真摘 要随着人工神经网络的研究和应用越来越广泛,误差反向传播算法BP算法的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权值调整问题,BP神经网络如今成为最广泛使用的网络,研究它对探索非线性复杂问题具有重要意义,而且它具有广泛的应用前景。以BP神经网络为例,讨论了BP神经网络及几种改良BP神经网络性能的算法;通过BP学习算法的推导和分析得知BP网络是一种多层前馈网络,采用最小均方差的学习方式,缺点是仅为有导师训练,训练时间长,易限于局部极小;运用MATLAB来实现各种BP神经网络的实现的设计与训练,比拟不同BP神经网络的性能,验证改良BP网络的优势,得出如何根

2、据对象选取神经网络的结论。关键词:人工神经网络、BP神经网络、误差反向传播算法、MATLAB、仿真AbstractWith the artificial neural network of research and application of more and more widely, the error back-propagation algorithm (BP algorithm) is proposed, successfully resolved the continuous function for solving nonlinear multi-layer feed-forwa

3、rd neural network weights adjustment, BP network has become now the most widely used networks, Study to explore its complicated nonlinear problem has important significance, but also has broad application prospects. BP neural network is discussed and several improvements in the performance of BP neu

4、ral network algorithm. BP learning algorithm through the derivation and analysis that the BP network is a multi-layer feedforward networks, the use of least-mean-variance approach to learning, there is only disadvantage is that the training instructors, training time, limited to local minimum easily

5、. The use of MATLAB to achieve a variety of BP neural network to achieve the design and training, to compare the performance of BP neural network to verify the advantages of improving the BP network, how to draw the object selected in accordance with the conclusions of neural networks.Key words: Art

6、ificial neural network, BP neural networks, error back-propagation algorithm, MATLAB, simulation目 录 TOC o 1-3 h z u HYPERLINK l _Toc231979677 1.绪论 PAGEREF _Toc231979677 h 5 HYPERLINK l _Toc231979678 1.1 引言 PAGEREF _Toc231979678 h 5 HYPERLINK l _Toc231979681 1.2 神经网络概述 PAGEREF _Toc231979681 h 5 HYPER

7、LINK l _Toc231979682 121 神经网络起源 PAGEREF _Toc231979682 h 5 HYPERLINK l _Toc231979684 122 神经网络的开展历程 PAGEREF _Toc231979684 h 5 HYPERLINK l _Toc231979700 123 神经网络国内开展概况 PAGEREF _Toc231979700 h 6 HYPERLINK l _Toc231979701 124 神经网络研究现状 PAGEREF _Toc231979701 h 7 HYPERLINK l _Toc231979706 研究目的、方法和问题BP神经网络 P

8、AGEREF _Toc231979706 h 8 HYPERLINK l _Toc231979707 131 研究目的 PAGEREF _Toc231979707 h 8 HYPERLINK l _Toc231979710 132 研究方法 PAGEREF _Toc231979710 h 8 HYPERLINK l _Toc231979712 133 研究问题 PAGEREF _Toc231979712 h 8 HYPERLINK l _Toc231979718 神经网络 PAGEREF _Toc231979718 h 10 HYPERLINK l _Toc231979719 2.1 BP神经

9、网络相关原理 PAGEREF _Toc231979719 h 10 HYPERLINK l _Toc231979720 211 神经元非线性模型 PAGEREF _Toc231979720 h 10 HYPERLINK l _Toc231979726 212 有教师监督学习 PAGEREF _Toc231979726 h 10 HYPERLINK l _Toc231979728 213 神经元数学模型 PAGEREF _Toc231979728 h 11 HYPERLINK l _Toc231979736 214 Delta学习规那么 PAGEREF _Toc231979736 h 11 HY

10、PERLINK l _Toc231979750 215 神经元激活函数 PAGEREF _Toc231979750 h 12 HYPERLINK l _Toc231979753 216 BP神经网络收敛准那么 PAGEREF _Toc231979753 h 12 HYPERLINK l _Toc231979765 2.2 BP神经网络学习过程描述 PAGEREF _Toc231979765 h 13 HYPERLINK l _Toc231979766 221 BP神经网络计算模型建立 PAGEREF _Toc231979766 h 13 HYPERLINK l _Toc231979772 22

11、2 BP神经网络学习过程描述 PAGEREF _Toc231979772 h 14 HYPERLINK l _Toc231979775 223 BP神经网络方框图 PAGEREF _Toc231979775 h 14 HYPERLINK l _Toc231979777 2.3 BP神经网络学习方法 PAGEREF _Toc231979777 h 14 HYPERLINK l _Toc231979778 231 BP神经网络信号流程 PAGEREF _Toc231979778 h 14 HYPERLINK l _Toc231979781 232 误差反向传播计算 PAGEREF _Toc2319

12、79781 h 15 HYPERLINK l _Toc231979840 233 BP神经网络算法描述 PAGEREF _Toc231979840 h 18 HYPERLINK l _Toc231979851 2.4 影响因素分析 PAGEREF _Toc231979851 h 19 HYPERLINK l _Toc231979852 241 权值初始值设置影响分析 PAGEREF _Toc231979852 h 19 HYPERLINK l _Toc231979855 242 权值调整方法影响分析 PAGEREF _Toc231979855 h 19 HYPERLINK l _Toc2319

13、79862 243 激活函数选择影响分析 PAGEREF _Toc231979862 h 20 HYPERLINK l _Toc231979873 244 学习率选择影响分析 PAGEREF _Toc231979873 h 20 HYPERLINK l _Toc231979881 245 输入输出归一化影响分析 PAGEREF _Toc231979881 h 21 HYPERLINK l _Toc231979885 246 其他影响因素分析 PAGEREF _Toc231979885 h 22 HYPERLINK l _Toc231979894 2.5 BP学习算法的改良 PAGEREF _T

14、oc231979894 h 22 HYPERLINK l _Toc231979895 251 BP学习算法的优缺点 PAGEREF _Toc231979895 h 22 HYPERLINK l _Toc231979901 252 增加动量项 PAGEREF _Toc231979901 h 23 HYPERLINK l _Toc231979905 253 弹性BP学习算法 PAGEREF _Toc231979905 h 23 HYPERLINK l _Toc231979908 254 自适应学习速率法 PAGEREF _Toc231979908 h 24 HYPERLINK l _Toc2319

15、79909 255 共轭梯度法 PAGEREF _Toc231979909 h 25 HYPERLINK l _Toc231979910 256 Levenberg-Marquardt算法 PAGEREF _Toc231979910 h 25 HYPERLINK l _Toc231979911 神经网络仿真 PAGEREF _Toc231979911 h 27 HYPERLINK l _Toc231979912 3.1 仿真平台MATLAB PAGEREF _Toc231979912 h 27 HYPERLINK l _Toc231979913 311 MATLAB简介 PAGEREF _To

16、c231979913 h 27 HYPERLINK l _Toc231979915 312 仿真平台的构建和策略 PAGEREF _Toc231979915 h 27 HYPERLINK l _Toc231979925 3.2 仿真实验 PAGEREF _Toc231979925 h 28 HYPERLINK l _Toc231979926 321 BP神经网络MATLAB设计 PAGEREF _Toc231979926 h 28 HYPERLINK l _Toc231980016 322 各种BP学习算法MATLAB仿真 PAGEREF _Toc231980016 h 29 HYPERLIN

17、K l _Toc231980039 323 各种算法仿真结果比拟与分析 PAGEREF _Toc231980039 h 32 HYPERLINK l _Toc231980075 324 调整初始权值和阈值的仿真 PAGEREF _Toc231980075 h 33 HYPERLINK l _Toc231980101 325 其他影响因素仿真 PAGEREF _Toc231980101 h 35 HYPERLINK l _Toc231980112 神经网络应用实例 PAGEREF _Toc231980112 h 37 HYPERLINK l _Toc231980113 4.1 实例概述 PAGE

18、REF _Toc231980113 h 37 HYPERLINK l _Toc231980204 网络设计 PAGEREF _Toc231980204 h 37 HYPERLINK l _Toc231980220 4.3 网络训练 PAGEREF _Toc231980220 h 38 HYPERLINK l _Toc231980240 4.4 网络测试 PAGEREF _Toc231980240 h 39 HYPERLINK l _Toc231980262 4.5 实例总结 PAGEREF _Toc231980262 h 40 HYPERLINK l _Toc231980265 5.总结与展望

19、 PAGEREF _Toc231980265 h 41 HYPERLINK l _Toc231980266 5.1 BP神经网络研究总结 PAGEREF _Toc231980266 h 41 HYPERLINK l _Toc231980274 5.2 神经网络研究展望 PAGEREF _Toc231980274 h 42 HYPERLINK l _Toc231980278 致谢 PAGEREF _Toc231980278 h 43 HYPERLINK l _Toc231980280 参考文献 PAGEREF _Toc231980280 h 44 HYPERLINK l _Toc23198028

20、2 附录461.绪论1.1 引言随着计算机的问世与开展,人们设法了解人的大脑,进而构造具有人类智能的智能计算机。在具有人脑逻辑推理能力延伸的计算机战胜人类棋手的同时引发人们对模拟人脑信息处理的人工神经网络的研究。人工神经网络Artificial Neural Networks, ANN注:简称为神经网络,一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而到达处理信息的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新

21、的输入数据来推算输出结果,这种学习分析的过程被称为“训练。引自?环球科学?2007年第一期?神经语言:老鼠胡须下的秘密?1.2 神经网络概述121神经网络起源早在1890年,美国心理学家William James1842-1910出版了?Principles of Psychology?专著,本书研究了心理活动与大脑神经生理活动的关系,开创性提出学习、联想记忆的根本原理。指出:“让我们假设所有后继推理的根底遵循这样的规那么:当两个根本的脑细胞曾经一起或相继被激活过,其中一个受刺激激活时会将刺激传播到另一个。他还认为在大脑皮层上的任意一点的刺激量是其他所有发射点进入该点刺激总和。1943年,心理

22、学家W.S.McCulloch和数理逻辑学家W.A.Pitts建立了神经网络和数学模型,称为M-P模型。他们通过M-P模型提出了神经元的形式化数学描述和网络结构方法,证明了单个神经元能执行逻辑功能,从而开创了人工神经网络研究的时代。122 神经网络的开展历程1943年,心理学家W.S.McCulloch和数理逻辑学家W.Pitts建立了神经网络和数学模型,称为M-P模型;1949年,心理学家Donald Olding Hebb出版了?Organization of Behavior?,在该书他首先提出了连接权训练算法,即如今人们称为的Hebb算法;1958年,计算机科学家Frank Rosen

23、blatt,在一篇著名的文章中提出了一种具有三层网络特性的“感知器perceptron神经网络; 1960年,电机工程师Bernard Widrow和Marcian Hoff发表了?Adaptive Switching Circuits?文章,不仅把人工神经网络在计算机上仿真,而且用硬件电路实现了它。因此Widrow-Hoff的学习训练算法也称误差大小算法或最小均方LMS算法也应运而生;1969年,人工智能的创始人之一,MMinsky和S.Papert经过数年研究,仔细分析了以感知器为代表的神经网络系统的功能及局限后,出版了?Perceptron?一书,指出感知器不能解决高阶谓词问题;1969

24、年,美国波士顿大学自适应系统中心的S.Grossberg教授及其夫人G.A.Carpenter提出了著名的自适应共振理论adaptive resonance theory模型;1972年,芬兰的T.Kohonen教授提出了自组织映射SOM理论,并称其神经网络结构为“associative memory;与此同时,美国的神经生理学家和心理学家J.Anderson,提出了一个类似的神经网络“interactive memory;1980年,日本东京NHK播送科学研究实验室的福岛邦彦Kunihiko Fukushima,发表了?Neocognitron?,开发了一些神经网络结构和训练算法,还有一系列

25、的改良的文章,新认知机在于视觉模式识别机制的模型;博士发表一篇著名的文章,吸收前人的研究成果,把各种结构和算法概括综合起来建立起新颖而有力的Hopfield网络;1985年,提出了波耳兹曼模型,在学习中采用统计热力学模拟退火技术,保证整个系统趋于全局稳定点;1986年进行认知微观结构地研究,提出了并行分布处理的理论;1987年首届国际神经网络学术会议在美国加州圣地亚哥召开,成立了国际神经网络学会INNS;1987年以来,神经网络理论、应用、实现和相关开发工具开展迅速,涉及神经生理学、认知科学、心理学、数理科学、信息科学、计算机科学、微电子学、光学、生物电子学等多学科交叉、综合的前沿科学。应用于

26、各个领域,如自动控制领域、处理组合优化问题、模式识别、图像处理、机器人控制、医疗等。可见人工神经网络具有广泛的研究和应用前景;以下是1987年后的一些开展历程:1988年,Broomhead Lower提出径向基函数网络Radial Basis Function,RBF,网络设计采用原理化方法,有坚实的数学根底;1992-1998年,Vapnik提出了支持向量机Support Vector Machine,SVM,在模式分类问题上能提供良好的泛化能力。123 神经网络国内开展概况1980年,涂序言教授等出版了?生物控制论?一书,“神经系统控制论一章系统地介绍了神经元和神经网络的结构、功能和模型

27、,是我国最早涉及神经网络的著作;因此到80年代中期,我国学术界掀起了研究神经网络的热潮;1988年北京大学非线性研究中心举办了Beijing International Workshop on Neural Networks: Learning and Recognition, a Modern Approach;1989年召开可全国非正式的神经网络会议,于1990年在北京召开了中国神经网络首届学术大会,第二年在南京召开了第二届,并成立了中国神经网络学会;1992年国际神经网络学会和IEEE神经网络委员会在北京召开神经网络的国际性会议;自此中国神经网络研究在国家研究方案的支持和学术及工程人员的

28、开展与应用下取得一系列丰硕成果。124 神经网络研究现状神经网络是可大规模并行处理和分布式信息存储,具有良好的自学习、自适应、自组织性,以及很强的联想记忆和容错功能,可以充分逼近任意复杂的非线性关系,可有很强的信息综合能力,能同时处理定量和定性信息,能很好的协调多种输入信息关系,适用于处理复杂非线性和不确定对象。目前的神经网络的研究中主要有以下几种类型:松耦合模型:符号机制的专家系统和联接机制的神经网络通过一个中间媒介如数据文件进行通信;紧耦合模型:其通信数据是直接的内部数据,具有很高的效率;转换模型:将专家系统知识转换成神经网络,或把神经网络转换成专家系统知识,转换需要在两种机制之间,确定结

29、构上的一致性,目前主要问题还没有一种能够精确而完备的实现二者转换;综合模型:将具有符号机制的逻辑功能和具有联接机制的自适应和容错性结合为一个整体,共享数据结构和知识表示;混沌理论:是系统从有序突然变为无序状态的一种演化理论,是对确定性系统中出现的内在“随机过程形成的途径、机制的研讨,从而与神经网络融合,到达取长补短的效果;模糊集理论:用语言和概念代表脑的宏观功能,按照人为引入的隶属度,将模糊性的语言信息进行逻辑处理,与神经网络结合,取长补短;遗传算法:模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,从而与神经网络融合,到达取长补短

30、的效果;混合神经网络:把神经网络与混沌理论、模糊集理论和遗传算法相互结合的网络模型。人工神经网络学习问题展望,目前主要有以下三种方法:基于搜索机制的学习方法、基于规划的学习方法和构造性学习方法。如今也有其综合方法,各有特点。其中基于搜索的方法,假设不从根本上进行改变,很难克服其内在固有的缺点,如基于局部最小的搜索算法,其中BP算法就有易限于局部极小的固有缺点;规划方法因为其中有“优化的步骤,从理论上看其所得网络性能要比其他方法要好,但如何确定核函数形式和参数问题一直是未能很好解决的问题,当数据规模极大会引起计算量过大问题;构造性方法,因为进行了局部化,计算量要小,由于未进行全局优化,故性能不及

31、规划方法,不需要确定映射关系就没有了确定核函数的困难问题;如果能够将三者相互结合,将规划方法中优化过程合理地引入到构造方法中,也许即可克服规划方法计算量大的问题,核函数和参数确定问题,也可以克服构造性方法未进行全局优化的缺点;这些将是值得研究的问题。随着更多数学方法的引入,如模拟退火算法、商空间即线性空间理论、统计推断方法与启发式搜索技术及其结合产物的引入,促进各种学习方法的改良,将有力的推进神经网络的进一步开展。随着神经网络的广泛应用,具有以下研究趋势:增强对智能和机器的关系问题的认识,开展神经计算与进化计算的理论与应用,扩大神经网络结构和神经元芯片的作用,促进信息科学与生命科学的相互融合,

32、进行与其他智能方法融合技术研究。、方法和问题BP神经网络131研究目的在人工神经网络开展历史中,很长一段时间里没有找到隐含层的连接权值调整问题的有效算法。直到误差反向传播算法BP神经网络算法的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权值调整问题。目前,BP神经网络已成为广泛使用的网络,可用于语言综合、语言识别、自适应控制等。它是一种多层前馈网络,采用最小均方差的学习方式,缺点是仅为有导师训练,训练时间长,易限于局部极小。鉴于神经网络的广泛应用,特别是BP神经网络的开展,对于神经网络比方BP神经网络的研究具有重要意义。研究的主要目的是:理解BP网络结构模型;学习误差反向传播算法和B

33、P神经网络的学习算法;分析关键因素,得出BP网络的优缺点;综合各种因素并使用启发式方法对BP神经网络算法进行改良;应用数学软件MATLAB对BP神经网络标准算法和改良算法进行仿真编程;利用仿真结果和图表得出各个算法适用条件;进而研究实际问题的BP神经网络构建和仿真。132研究方法通过参考研究学习神经网络研究和工作者的著作和文章,理解神经网络,特别是BP神经网络的结构模型和理论;利用现有的数学理论知识和方法,推导反向传播算法计算;利用计算机程序设计理论编写BP神经网络学习算法的步骤和流程;分析BP标准算法关键因素,利用现有数学相关方法如启发式方法,MATLAB中几种典型的BP神经网络算法:tra

34、ingdm,增加动量法;trainrp,弹性BP算法;traingda,traingdx,自适应学习速率法;traincgf,共轭梯度法;trainbfg,拟牛顿法;trainlm,Levenberg-Marquardt算法对BP神经网络算法改良和理论推导;利用优秀数学软件MATLAB进行BP网络学习算法的仿真编程,分别建立BP神经网络标准算法、改良算法的编程程序,利用MATLAB得出相关图表,分析其关键因素;应用实例对BP神经网络的应用和仿真进行验证;通过自己的理解和学习得出自己对神经网络BP神经网络的思考。133研究问题研究问题1:BP神经网络的学习过程,工作信号正向传播,误差信号反向传播

35、。得到如下列图1-1示意模型:多层前馈型网络输入层隐含层输出层误 差 信 号图1.1 BP神经网络示意模型输 入 信 号研究问题2:BP神经网络的缺乏,训练时间较长,有时完全不能训练,失败的可能性也较大,易陷于局部极小而得不到全局最优,隐含节点个数难以确定,训练过程有暂时遗忘的现象即学习新样本有遗忘旧样本的趋势。研究问题3:BP神经网络学习算法的改良有MATLAB神经网络工具箱中:增加动量法(traingdm)、弹性BP算法trainrp,自适应学习速率法(traingdx)、共轭梯度法 (traincgf)、拟牛顿法 (trainbfg)以及Levenberg-Marquardt算法trai

36、nlm等。注:在MATLAB R2007版本中traingdx为动量及自适应lrBP的梯度递减训练函数。研究问题4:误差要求和网络复杂程度将影响BP各种算法的选择;比方拟牛顿法需要Hessian矩阵,不适用于复杂的大型网络,但对于中型网络其收敛效果仅次于LM算法,且需要的内存也相对较小,但对于小型网络LM算法最好最快,仿真效果要好;又如当误差要求比拟高时,弹性BP算法和自适应学习速率法需要很长的训练时间,在设定的训练步骤范围内不能到达期望误差。研究问题5:在实例的网络模型的建立和MATLAB仿真的过程中,发现没有确定隐含层神经元数目的有效方法,隐含层神经元的数目直接影响分类精度,神经元数目过多

37、或过少都会使网络性能下降,一般只能由经验设定,再经过屡次调试确定最正确数目。其次网络的泛化能力与训练能力的矛盾,一般情况下,训练能力差时,预测能力也差,并且一定程度上随训练能力地提高,泛化能力也提高。但这种趋势有一个极限,当到达此极限时,随训练能力的提高,泛化能力反而下降,即出现所谓“过拟合现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。 2.BP神经网络 BP神经网络相关原理211神经元非线性模型f kwk1wk2wkI固定输入x0=+1x1x2阈值kk激活函数输出yk图 神经元非线性模型加法器xI加法器,也称线性组合器,将求输入信号突触权值被神经元的相应突触加权和;激活函数

38、是用来限制神经元的振幅,主要有0,1或-1,+1;阈值的作用是根据其为正或负,相应的增加或减低激活函数的网络输入。注:这里的K为实例。模拟的是生物神经元的电位脉冲原理。环境教师学习系统实际响应描述环境状态向量期望模式输入模式+-误差信号ek图 有教师学习方框图期望响应212 有教师监督学习有教师学习采用的是纠错规那么,在网络的学习训练过程给神经网络一个期望模式和输入模式,所期望的模式就是教师信号,因此可以将输入模式所得的结果与期望模式的结果相比拟,当不相符时,可以根据相关规那么进行权值调整,比方上述的Delta规那么,直到满足一定误差范围内,这将更接近期望模式结果。由此可见,在执行具体任务之前

39、必须经过学习,直到“学会为止。213 神经元数学模型设在n时刻,神经元i到神经元j的信息传递,其输入信息为xi(n),输出为Oj(n),那么神经元j的数学表达式为(式2.1)其中 是神经元i到j的突触连接权值 是输入和输出间的突触时延 是神经元j的阈值 是神经元激活函数如果,又=-1,=可得:。214 Delta学习规那么Delta学习规那么,也称连续感知器学习规那么,与离散感知器学习规那么并行。其规那么的学习信号规定为:(式2.2)为了方便计算,定义神经元j的期望误差与实际输出之间的计算误差为(式2.3)按照误差的负梯度修正权值,即:(式2.4)(式2.5)其中是学习率,01,在多层前馈网络

40、中,权值可以初始化为任意值。由式2.5可以看出Delta规那么要求连续可导的激活函数,如Sigmoid函数。综合式2.1至式2.5得:(式2.6)其中 式2.3中包括和为n学习时刻的计算误差,Delta学习规那么的学习信号也为在n时刻。215 神经元激活函数O+1+1-1+1+1-1OOOa阶跃阈值函数b符号阈值函数cS型对数函数dS型正切函数图 神经元激活函数图形在神经元的激活函数中分为阈值激活函数包括阶跃型和符号型,线性激活函数包括纯线性型和分段线性型,在图中未标识,非线性激活函数主要是S型函数,分为S型对数函数和S型正切函数,这两种是BP神经网络主要使用的,即Sigmoid函数及其改良,

41、还有一种概率型激活函数其神经元状态分布与热力学的Boltzmann分布相似,故称这种模型为神经网络热力学模型。216 BP神经网络收敛准那么在实际问题上,实际输出往往很难到达期望输出,因此需要一个准那么停止权值的调整,这就需要考虑关于误差曲面的局部或全局最小的性质。以下有两种收敛准那么:Kramer & Sangiovanni-Vincentelli准那么:当梯度向量的欧几里德范数到达一个充分小的梯度阈值时,认为反向传播算法已经收敛。注:欧几里德Euclidean范数指得就是通常意义上的距离范数,比方Simon Haykin建议准那么:当每一个回合的均方差的变化的绝对速率足够小时,认为反向传播

42、算法已经收敛。分析:第一个准那么为了到达期望值,学习时间可能会很长,而第二个准那么那么有可能过早的终止学习。然而都需要计算一个梯度或变化率。然而根据网络对输入数据集合参数化的学习过程,我们可以通过网络的泛化能力即预测能力判断网络的收敛,当泛化能力到达了比拟强的一个标准时,可以认为学习过程的停止,即已经收敛。关于泛化方法如结构设计方法、主动学习、在样本随机输入中添加随机噪声、表决网、基于先验知识、最优停止法等内容请参考相关文献。 BP神经网络学习过程描述输入层隐含层输出层误 差 信 号图 BP神经网络计算模型输 入 信 号x1O层x22xIy1y2yOQ层P 层I层12I123P123Q12Ow

43、qowpq221 BP神经网络计算模型建立注:Wpq是隐含层P中p输出神经元到隐含层Q中q输入神经元的连接权值。神经元输入用,鼓励输出用,鼓励函数用Sigmoid,Ii表示I层的第i个神经元输入,在这里即xi;训练样本集X=x1,x2,xIT,训练实例K样本集Xk=xk1,xk2,xkIT;实际输出Yk=yk1,yk2,ykOT,期望输出dk=dk1,dk2,dkOT;假设n为迭代次数,即训练步长,权值和实际输出是n的函数。222 BP神经网络学习过程描述工作信号正向传播。输入信号从输入层经隐含层传向输出层,在输出端产生输出信号,在信号的向前传递过程中网络的权值是固定不变的,没一层神经元的状态

44、只影响下一层的神经元的状态。如果在输出曾不能得到期望的输出那么会转入误差反向传播;误差信号反向传播。网络误差信号即网络的实际输出与期望输出之间的差值,该信号由输出端逐层向前传播。在误差信号的反向传播过程中,网络的权值由误差反响进行调节,即权值修正,经过不断的修正直到允许的误差范围。223 BP神经网络方框图一层或多层隐藏神经元输出神经元KYk(n)dk(n)ek(n)输入向量Xk(n)图 BP神经网络方框图该图仅给出了输出层的一个神经元K,焦点集中在该神经元周围活动:2.3 BP神经网络学习方法231 BP神经网络信号流程dj(n)y0=+1 阈值0ej(n)j(n)yi(n)f()yj(n)

45、-+n+1图2.6aBP神经网络信号流图神经元j是输出节点(从yi(n)开始到yj(n)是神经元j)图2.6bBP神经网络信号流图y0=+1 阈值0y0=+1 阈值0yi(n)j(n)yj(n)f()yk(n)k(n)f()dk(n)ek(n)n+1-+神经元j是隐含层节点(从yj(n)开始到yk(n)是神经元k)以单个神经元输出为例。232 误差反向传播计算根据图2.6a可以初步写出下面的式子:(式2.7)(式2.8)根据图2.6b可以初步写出下面的式子:(式2.9)(式2.10)其中i=1,2,,I;j=1,2,J;k=1,2,K;n为学习步长。在图2.6a中,神经元j在迭代n时,即训练第

46、n个例子时,输出误差信号定义如下:此时j为输出节点(式2.11)定义神经元j的误差瞬时值为 因此,整个误差瞬时值(式2.12)即为输出层的所有神经元的误差瞬时值之和。注:此定义式这是个均方差式,求得实际输出和期望输出的误差值,二分之一是为了方便计算。(式2.13)计算:(式2.14)根据式2.7至式2.12可得下式结果,再由下面的式子可以得出式2.14的计算结果: (式2.15)如果令该为负向局向梯度取鼓励函数为:sigmoid函数,或称逻辑函数(式2.16)令a=1,对该鼓励函数并代入求导:因此(式2.17)在图2.6b中,隐含层I和J,输出层为k:(式2.18)由式2.9至式2.17和上述

47、推导过程可得:(式2.19)(式2.20)又根据反向传播定义可知:(式2.21)代入式可得:(式)向梯度为:根据在图a中替换下标j可以得出k的局向梯度:因此,注:(注意换j与k下标)前面计算有:如此反向向前逐层传播计算。233 BP神经网络算法描述 以上的反向传播算法计算过程是BP算法的根底算法,下面是其算法描述:初始化输入样本计算各层输出及输出误差计算各层误差信号调整各层权值mME结束n=n+1,m=m+1E=0m=1图2.7 BP根本算法流程图开始初始化,设置样本计数器m和训练迭代次数计数器n,其最大值分别为(M,N);并将权值矩阵设立随机数,误差E置为0,允许误差值为,学习率00常数,通

48、常a=1.7159.b=2/3。2/3=1.1424,斜率接近单位1,在x=1时二阶导数最大。在误差反向传播计算中所用的是S型对数函数,同理可以使用S型正切函数,并对其求导推导。S型对数函数不是奇函数,工作范围是0,1。而双极性S型正切函数除了本身符合连续可微的条件外,具有双极性输出,它常常被选用为要求输入是1范围的信号,关于它们的选择主要从函数自身的工作范围及其导数值的大小范围以及结构简单和运算速度快等思想考虑。由此可见,研究BP神经网络激活函数是今后研究的一个重要课题。244 学习率选择影响分析首先,学习率是随时间改变的,为了方便,在反向传播算法计算过程中采用的是不变的学习率。下面是理想学

49、习率示意图和一些规那么:迭代次数nE(n)收敛速率 图2.8 理想学习率示意图 根据反向传播计算式得知,学习率越大权值的变化就越大,那么BP算法的学习收敛速度就越快,过大那么引起网络的振荡,导致网络的不稳定以及性能低下,当超过某一极值容易引起算法不稳定。相反学习率小可以防止网络的振荡,但导致学习收敛速度的下降。经过实践证明来说,输出单元的局向梯度比输入端大,为此输出单元的应小些;有较多输入端的神经元的要比有较少的输入端的神经元的小些;对于一个给定的神经元,其学习率应与神经元的突触连接的平方根成反比。在BP改良算法中引入了动量法解决的学习过程变化问题,增加网络的稳定性,加快学习收敛速度,如MAT

50、LAB中使用动量及自适应lrBP的梯度递减训练函数。此外有很多研究人员采用遗传算法和免疫算法BP神经网络的学习率进行优化设计并简历数学模型,下面是一个简单的优化的学习率变化公式:其中n为迭代次数,A和根据工程应用的复杂性和结构优化的模糊性,对不同的系统和要求取不同的范围,一般情况下,1A0.001。参考文献10245 输入输出归一化影响分析在输入样本训练网络时,如果所有输入样本的输入信号都为正值或负值,那么与第一隐含层的神经元权值只能同时增加或减小,从而导致学习速度很慢。因此需要对输入信号进行归一化处理,使得所有样本的输入信号均值接近零或者其标准方差比拟小。归一化的问题旨在是归纳统一样本的统计

51、分布性,改善其分布规律,具体是消除均值,去相关性以及均方差均衡。归一化在0,1之间是统计的概率分布,归一化在-1,+1之间是统计的坐标分布。网络的各个输入数据常常具有不同的物理意义和不同的量纲,为此需要使网络训练一开始就给各训练输入向量以同等的身份地位。BP神经网络的神经元一般采用sigmoid激活函数,归一化可以防止输入信号数据绝对值过大进入饱和区。另外,期望输出数据不进行归一化会导致数值大的分量绝对误差大,数值小的绝对误差小,网络训练时只针对输出的总误差调整权值,因此在总误差中所占份额少的输出分量相对误差较大。这些都将影响学习的速度。处理的方法有,利用合理的变换等式将输入输出的数据变换为0

52、,1或-1,+1其选择主要看激活函数的选择之间的数据;当输入输出向量中某个分量的取值过于密集时,由此可以将数据的点拉开一定距离,适当变换分布,改善分布规律。使用主分量分析法使训练样本的输入向量互不相关,去相关后的输入变量应调整其长度使它们的方差近似相等,因此可以使网络中不同权值以大约相等的速度进行学习。246 其他影响因素分析关于能够改善BP神经网络性能和学习收敛速度的影响因素还有很多,比方输入样本信息内容的选择问题、允许误差的选择问题,从提示中学习的问题以及改良误差函数等。在输入样本信息选择问题上,为能在对权空间进行更多的搜索,需要以下两个原那么选择输入样本,使用训练误差最大的样本,使用的样

53、本要与以前使用的有根本区别。此外,在一个迭代过程给网络的训练样本分布是变形的,如果含有例外点或错误标记的训练样本将会损坏输入空间更大区域的泛化能力,降低网络的性能。允许误差的选择也会影响学习的收敛速度和学习精度,我们一般采取一开始将允许误差取大些,然后逐渐减少的做法,这样是对网络训练的宽容,也是因为网络的训练往往很难到达期望的值,也是为了加快学习速度,也要参考具体问题所要求的精度。提示学习是利用现有的关于函数的先验知识如函数的不变性、对成性以及其他特性来提高函数的逼近能力,这就需要从学习样本中提取有关输入输出函数的信息,推断出能够逼近输入输出函数的函数,在学习中嵌入这样的提示,使用统计分布的方

54、法建立虚拟样本,也增加了网络的泛化能力,加快了学习速度。改良误差函数,标准的误差函数采用的是这也是为了方便计算随着学习次数的增加, 越来越小,使函数逼近速度减慢,这样对高度非线性样本的逼近精度得不到保证,为此用绝对和相对逼近精度来描述次误差函数,即其中和是常量系数。在样本学习初期,以绝对形式的误差函数来指导权值的修正;学习后期,以相对形式函数误差为主:那么随着学习次数的增加而减少,那么随学习次数的增加而增加。有的学者提出采用熵类准那么函数或分类启发准那么参见参考文献11。2.5 BP学习算法的改良251 BP学习算法的优缺点BP学习算法优点:BP学习算法具有数学理论依据可靠,推导过程严谨,通用

55、性好,解决了求解非线性连续函数的多层前馈神经网络权值调整问题,具有实现任何复杂非线性映射的功能,特别适合求解内部机制的复杂问题。它具有自学习、自组织、自适应性和很强的信息综合能力,能够同时处理定量和定性信息,协调多种输入的关系并进行推广概括,实行并行处理,适用于处理复杂非线性和不确定的对象。BP学习算法缺点:基于梯度下降法及目标函数复杂,导致训练次数多,训练时间较长,收敛缓慢;基于局部搜索的优化方法,导致有时完全不能训练,失败的可能性也较大,易陷于局部极小而得不到全局最优;网络结构的选择尚无统一完整的理论指导,隐含节点个数难以确定,而网络的结构直接影响网络的逼近能力及推广性质;训练过程有暂时遗

56、忘的现象即学习新样本有遗忘旧样本的趋势;学习复杂性问题,即网络容量的可能性与可行性的关系问题,难以解决应用问题的实例规模和网络规模的矛盾问题;还有诸如新参加训练样本的要求及对已学习成功网络的影响,网络泛化能力和训练能力的极限问题等。鉴于BP学习算法的优缺点,增强BP神经网络的性能和应用,目前主要有如下几种改良方法。此外还有一些诸如增加遗忘因子、误差曲面陡度因子的方法,以及将多种方法和相关数学原理相结合的方法具体请参考相关文献。252 增加动量项在前面提到学习率的变化会影响网络的性能,为此在权值调整公式中增加一个动量项,到达微调权值修正量防止振荡的效果。这样通过动量法不仅考虑了误差在梯度上的作用

57、,而且考虑了误差曲面上变化的方向。其中是动量因子,一般有0,1动量项反响了以前的调整经验,对下一时刻的调整起到一定阻尼作用。因此可以减小振荡的趋势,促使权值的调节向着误差曲面的底部的平均方向变化,降低了网络对误差曲面在局部细节的敏感性,在一定程度上缓解局部极小问题,但是难以防止收敛缓慢问题。253 弹性BP学习算法BP学习算法常用sigmoid函数,即其特点是可以把无限的输入映射到有限的输出,如果函数的输入很大或很小的时候,函数的斜率接近于零,这样采用梯度下降法使用sigmoid函数的网络就带来一个问题:梯度幅度的不利影响,即尽管权值和阚值离其最正确值相差甚远,但此时梯度的幅度非常小,导致权值

58、和阈值的修正量也很小,使得训练时间变得很长。所以在权值修正的时候仅仅用偏导的符号,而其幅值不影响权值的修正,即权值的修正取决于与幅值无关的修正值。当连续两次迭代的梯度方向相同时,可将权值和阈值的修正值乘以一个增量因子。使其修正值增加;当连续两次迭代的梯度方向相反时,可将权值和阈值的修正值乘以一个减量因子,使其修正值减小;当梯度为零时,权值和阈值的修正值保持不变;当权值的修正发生振荡时,其修正值将会减小。如果权值在相同的梯度上连续被修正,那么其幅度必将增加,从而克服了梯度幅度的不利影响,即当连续两次迭代的梯度方向相同时当连续两次迭代的梯度方向相反时当局向梯度g(n)为零时其中是第n次迭代的权值或

59、阈值的幅度修正值,为增量因子,为减量因子,sign(g(n)代表局向梯度g(n)的符号函数。254 自适应学习速率法在BP学习算法中,网络权值调整取决于学习率和局向梯度,首先要说明的是学习率是随时间改变的,只是在上面的反向传播算法推导过程采用的是不变的值。在自适应的学习速率法中学习率的调整规那么有很多种方法,目的是为了把学习率在整个训练过程得到合理的调节。第一种方法是将动量因子和学习率同时调整,其中动量因子的调整倍率要大些。根本思想:当前误差与前一次误差比拟,如果误差出现反弹或持平,说明学习率过大,那么将学习率降到原来的60%,然后再按5%的速度递增;如果误差持续下降,学习率继续递增;当误差再

60、出现反弹或持平时,再将学习率下调40%;这样反复跳跃以刺激收敛速度,同时这种跳跃还可以防止寻优搜索陷入局部极小值。误差反弹或持平误差持续下降第二种方法是设一个初始学习率,假设在一批权值调整后总误差升高,那么本次的调整无效,并且令;假设总误差下降,那么本次调整有效,并且令。通过学习率的自适应调整,使学习过程中从误差曲面中找到适宜的学习率,在平坦区域加速,在凹处减速,防止出现振荡导致的迭代次数增加,加快收敛速度。如果将增加动量法和自适应学习速率法结合起来,既可抑制网络陷入局部极小,又加快学习。但都是基于梯度下降法,它们只利用了目标函数对网络权值和阈值的一阶导数信息。因此,对于复杂问题还存在收敛速度

温馨提示

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

评论

0/150

提交评论