基于MATLAB神经网络仿真毕业论文

上传人:1888****888 文档编号:38646462 上传时间:2021-11-08 格式:DOC 页数:43 大小:1.07MB
收藏 版权申诉 举报 下载
基于MATLAB神经网络仿真毕业论文_第1页
第1页 / 共43页
基于MATLAB神经网络仿真毕业论文_第2页
第2页 / 共43页
基于MATLAB神经网络仿真毕业论文_第3页
第3页 / 共43页
资源描述:

《基于MATLAB神经网络仿真毕业论文》由会员分享,可在线阅读,更多相关《基于MATLAB神经网络仿真毕业论文(43页珍藏版)》请在装配图网上搜索。

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

2、经网络的实现的设计与训练,比较不同BP 神经网络的性能,验证改进 BP 网络的优势,得出如何根据对象选取神经网络的结论。关键词:关键词:人工神经网络、BP 神经网络、误差反向传播算法、MATLAB、仿真 第 2 页装订线AbstractAbstractWith the artificial neural network of research and application of more and more widely, the error back-propagation algorithm (BP algorithm) is proposed, successfully resolved

3、 the continuous function for solving nonlinear multi-layer feed-forward 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 netwo

4、rk is discussed and several improvements in the performance of BP neural 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

5、 training instructors, training time, limited to local minimum easily. 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

6、 in accordance with the conclusions of neural networks.KeyKey words:words: Artificial neural network, BP neural networks, error back-propagation algorithm, MATLAB, simulation 第 3 页装订线目目 录录1.绪论.51.1 引言 .51.2 神经网络概述 .5121 神经网络起源 .5122 神经网络的发展历程 .5123 神经网络国内发展概况 .6124 神经网络研究现状 .71.3 研究目的、方法和问题(BP 神经网络)

7、.8131 研究目的 .8132 研究方法 .8133 研究问题 .82.BP 神经网络 .102.1 BP 神经网络相关原理.10211 神经元非线性模型 .10212 有教师监督学习 .10213 神经元数学模型 .11214 Delta 学习规则.11215 神经元激活函数 .12216 BP 神经网络收敛准则.122.2 BP 神经网络学习过程描述.13221 BP 神经网络计算模型建立.13222 BP 神经网络学习过程描述.14223 BP 神经网络方框图.142.3 BP 神经网络学习方法.14231 BP 神经网络信号流程.14232 误差反向传播计算 .15233 BP 神经

8、网络算法描述.182.4 影响因素分析 .19241 权值初始值设置影响分析 .19242 权值调整方法影响分析 .19243 激活函数选择影响分析 .20244 学习率 选择影响分析 .20245 输入输出归一化影响分析 .21246 其他影响因素分析 .222.5 BP 学习算法的改进.22251 BP 学习算法的优缺点.22252 增加动量项 .23253 弹性 BP 学习算法 .23254 自适应学习速率法 .24255 共轭梯度法 .25256 Levenberg-Marquardt 算法.25 第 4 页装订线3.BP 神经网络仿真 .273.1 仿真平台 MATLAB.27311

9、 MATLAB 简介.27312 仿真平台的构建和策略 .273.2 仿真实验 .28321 BP 神经网络 MATLAB 设计.28322 各种 BP 学习算法 MATLAB 仿真 .29323 各种算法仿真结果比较与分析 .32324 调整初始权值和阈值的仿真 .33325 其他影响因素仿真 .354.BP 神经网络应用实例 .374.1 实例概述 .374.2 网络设计 .374.3 网络训练 .384.4 网络测试 .394.5 实例总结 .405.总结与展望.415.1 BP 神经网络研究总结.415.2 神经网络研究展望 .42致谢.43参考文献.44附录.46 第 5 页装订线1

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

11、,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练” 。 (引自环球科学2007 年第一期神经语言:老鼠胡须下的秘密 )1.21.2 神经网络概述神经网络概述1 12 21 1 神经网络起源神经网络起源早在 1890 年,美国心理学家 William James(1842-1910)出版了Principles of Psychology专著,本书研究了心理活动与大脑神经生理活动的关系,开创性提出学习、联想记忆的基本原理。指出:“让我们假设所有后继推理的基础遵循这样的规则:当两个基本的脑细胞曾经一起或相继被激活过,其中一个受刺激激活时会将刺激传播到另一个” 。他还认

12、为在大脑皮层上的任意一点的刺激量是其他所有发射点进入该点刺激总和。1943 年,心理学家 W.S.McCulloch 和数理逻辑学家W.A.Pitts 建立了神经网络和数学模型,称为 M-P 模型。他们通过 M-P 模型提出了神经元的形式化数学描述和网络结构方法,证明了单个神经元能执行逻辑功能,从而开创了人工神经网络研究的时代。1 12 22 2 神经网络的发展神经网络的发展历程历程1943 年,心理学家 W.S.McCulloch 和数理逻辑学家 W.Pitts 建立了神经网络和数学模型,称为 M-P 模型;1949 年,心理学家 Donald Olding Hebb 出版了Organiza

13、tion of Behavior ,在该书他首先提出了连接权训练算法,即如今人们称为的 Hebb 算法;1958 年,计算机科学家 Frank Rosenblatt,在一篇著名的文章中提出了一种具有三层网络特性的“感知器” (perceptron)神经网络; 1960 年,电机工程师 Bernard Widrow 和 Marcian Hoff 发表了Adaptive Switching Circuits文章,不仅把人工神经网络在计算机上仿真,而且用硬件电 第 6 页装订线路实现了它。因此 Widrow-Hoff 的学习训练算法(也称 (误差大小)算法或最小均方(LMS)算法)也应运而生;196

14、9 年,人工智能的创始人之一,MMinsky 和 S.Papert 经过数年研究,仔细分析了以感知器为代表的神经网络系统的功能及局限后,出版了Perceptron一书,指出感知器不能解决高阶谓词问题;1969 年,美国波士顿大学自适应系统中心的 S.Grossberg 教授及其夫人G.A.Carpenter 提出了著名的自适应共振理论(adaptive resonance theory)模型;1972 年,芬兰的 T.Kohonen 教授提出了自组织映射(SOM)理论,并称其神经网络结构为“associative memory” ;与此同时,美国的神经生理学家和心理学家J.Anderson,提

15、出了一个类似的神经网络“interactive memory” ;1980 年,日本东京 NHK 广播科学研究实验室的福岛邦彦(Kunihiko Fukushima) ,发表了Neocognitron ,开发了一些神经网络结构和训练算法,还有一系列的改进的文章,新认知机在于视觉模式识别机制的模型;1982 年,美国加州理工学院的优秀物理学家 John J.Hopfield 博士发表一篇著名的文章,吸收前人的研究成果,把各种结构和算法概括综合起来建立起新颖而有力的 Hopfield 网络;1985 年,G.E.Hinton 和 T.J.Sejnowski 借助统计物理学概念和方法提出了波耳兹曼模

16、型,在学习中采用统计热力学模拟退火技术,保证整个系统趋于全局稳定点;1986 年进行认知微观结构地研究,提出了并行分布处理的理论;1987 年首届国际神经网络学术会议在美国加州圣地亚哥召开,成立了国际神经网络学会(INNS) ;1987 年以来,神经网络理论、应用、实现和相关开发工具发展迅速,涉及神经生理学、认知科学、心理学、数理科学、信息科学、计算机科学、微电子学、光学、生物电子学等多学科交叉、综合的前沿科学。应用于各个领域,如自动控制领域、处理组合优化问题、模式识别、图像处理、机器人控制、医疗等。可见人工神经网络具有广泛的研究和应用前景;以下是 1987 年后的一些发展历程:1988 年,

17、Broomhead Lower 提出径向基函数网络(Radial Basis Function,RBF) ,网络设计采用原理化方法,有坚实的数学基础;1992-1998 年,Vapnik 提出了支持向量机(Support Vector Machine,SVM) ,在模式分类问题上能提供良好的泛化能力。1 12 23 3 神经网络国内发展概况神经网络国内发展概况1980 年,涂序言教授等出版了生物控制论一书, “神经系统控制论”一章系统地介绍了神经元和神经网络的结构、功能和模型,是我国最早涉及神经网络的著作;因此到 80 年代中期,我国学术界掀起了研究神经网络的热潮;1988 年北京大学非线性研

18、究中心举办了 Beijing International Workshop on Neural Networks: Learning and Recognition, a Modern Approach;1989 年召开可全国非正式的神经网络会议,于 1990 年在北京召开了中国神经网络首届学术大会,第二年在南京召 第 7 页装订线开了第二届,并成立了中国神经网络学会;1992 年国际神经网络学会和 IEEE 神经网络委员会在北京召开神经网络的国际性会议;自此中国神经网络研究在国家研究计划的支持和学术及工程人员的发展与应用下取得一系列丰硕成果。1 12 24 4 神经网络研究现状神经网络研究现

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

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

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

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

23、页装订线1.31.3 研究目的、方法和问题(研究目的、方法和问题(BPBP 神经网络)神经网络)1 13 31 1 研究目的研究目的在人工神经网络发展历史中,很长一段时间里没有找到隐含层的连接权值调整问题的有效算法。直到误差反向传播算法(BP 神经网络算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权值调整问题。目前,BP 神经网络已成为广泛使用的网络,可用于语言综合、语言识别、自适应控制等。它是一种多层前馈网络,采用最小均方差的学习方式,缺点是仅为有导师训练,训练时间长,易限于局部极小。鉴于神经网络的广泛应用,特别是 BP 神经网络的发展,对于神经网络(比如 BP神经网络)的研

24、究具有重要意义。研究的主要目的是:理解 BP 网络结构模型;学习误差反向传播算法和 BP 神经网络的学习算法;分析关键因素,得出 BP 网络的优缺点;综合各种因素并使用启发式方法对 BP 神经网络算法进行改进;应用数学软件MATLAB 对 BP 神经网络标准算法和改进算法进行仿真编程;利用仿真结果和图表得出各个算法适用条件;进而研究实际问题的 BP 神经网络构建和仿真。1 13 32 2 研究方法研究方法通过参考研究学习神经网络研究和工作者的著作和文章,理解神经网络,特别是 BP 神经网络的结构模型和理论;利用现有的数学理论知识和方法,推导反向传播算法计算;利用计算机程序设计理论编写 BP 神

25、经网络学习算法的步骤和流程;分析BP 标准算法关键因素,利用现有数学相关方法(如启发式方法,MATLAB 中几种典型的 BP 神经网络算法:traingdm,增加动量法;trainrp,弹性 BP 算法;traingda,traingdx,自适应学习速率法;traincgf,共轭梯度法;trainbfg,拟牛顿法;trainlm,Levenberg-Marquardt 算法)对 BP 神经网络算法改进和理论推导;利用优秀数学软件 MATLAB 进行 BP 网络学习算法的仿真编程,分别建立 BP 神经网络标准算法、改进算法的编程程序,利用 MATLAB 得出相关图表,分析其关键因素;应用实例对

26、BP 神经网络的应用和仿真进行验证;通过自己的理解和学习得出自己对神经网络(BP 神经网络)的思考。1 13 33 3 研究研究问题问题研究问题 1:BP 神经网络的学习过程,工作信号正向传播,误差信号反向传播。得到如下图 1-1 示意模型:(多层前馈型网络) 第 9 页装订线输入层隐含层输出层误 差 信 号图 1.1 BP 神经网络示意模型输 入 信 号研究问题 2:BP 神经网络的不足,训练时间较长,有时完全不能训练,失败的可能性也较大,易陷于局部极小而得不到全局最优,隐含节点个数难以确定,训练过程有暂时遗忘的现象即学习新样本有遗忘旧样本的趋势。研究问题 3:BP 神经网络学习算法的改进有

27、(MATLAB 神经网络工具箱中):增加动量法(traingdm)、弹性 BP 算法(trainrp) ,自适应学习速率法(traingdx)、共轭梯度法 (traincgf)、拟牛顿法 (trainbfg)以及 Levenberg-Marquardt 算法(trainlm)等。注:在 MATLAB R2007 版本中 traingdx 为动量及自适应 lrBP 的梯度递减训练函数。研究问题4:误差要求和网络复杂程度将影响BP各种算法的选择;比如拟牛顿法需要Hessian矩阵,不适用于复杂的大型网络,但对于中型网络其收敛效果仅次于LM算法,且需要的内存也相对较小,但对于小型网络LM算法最好最快

28、,仿真效果要好;又如当误差要求比较高时,弹性BP算法和自适应学习速率法需要很长的训练时间,在设定的训练步骤范围内不能达到期望误差。研究问题 5:在实例的网络模型的建立和 MATLAB 仿真的过程中,发现没有确定隐含层神经元数目的有效方法,隐含层神经元的数目直接影响分类精度,神经元数目过多或过少都会使网络性能下降,一般只能由经验设定,再经过多次调试确定最佳数目。其次网络的泛化能力与训练能力的矛盾,一般情况下,训练能力差时,预测能力也差,并且一定程度上随训练能力地提高,泛化能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,泛化能力反而下降,即出现所谓“过拟合”现象。此时,网络学习

29、了过多的样本细节,而不能反映样本内含的规律。 第 10 页装订线2.BP2.BP 神经网络神经网络2.12.1 BPBP 神经网络相关原理神经网络相关原理2 21 11 1 神经元非线性模型神经元非线性模型f( )kwk1wk2wkI固定输入x0=+1x1x2阈值kk激活函数输出yk图 2.1 神经元非线性模型加法器xI加法器,也称线性组合器,将求输入信号突触权值被神经元的相应突触加权和;激活函数是用来限制神经元的振幅,主要有0,1或-1,+1;阈值的作用是根据其为正或负,相应的增加或减低激活函数的网络输入。注:这里的 K 为实例。模拟的是生物神经元的电位脉冲原理。2 21 12 2 有教师监

30、督学习有教师监督学习环境教师学习系统实际响应描述环境状态向量期望模式输入模式+-误差信号ek图 2.2 有教师学习方框图期望响应 第 11 页装订线有教师学习采用的是纠错规则,在网络的学习训练过程给神经网络一个期望模式和输入模式,所期望的模式就是教师信号,因此可以将输入模式所得的结果与期望模式的结果相比较,当不相符时,可以根据相关规则进行权值调整,比如上述的Delta 规则,直到满足一定误差范围内,这将更接近期望模式结果。由此可见,在执行具体任务之前必须经过学习,直到“学会”为止。2 21 13 3 神经元数学模型神经元数学模型设在 n 时刻,神经元 i 到神经元 j 的信息传递,其输入信息为

31、xi(n),输出为Oj(n),则神经元 j 的数学表达式为(式 2.1)其中 是神经元 i 到 j 的突触连接权值ijw ij 是输入和输出间的突触时延 j 是神经元 j 的阈值 f 是神经元激活函数如果,又=-1,=()可得:TIjjjjwwwW),.,(21TIxxxX),.,(210 xjw0jkb。)(XWfOTjj2 21 14 4 DeltaDelta 学习规则学习规则Delta 学习规则,也称连续感知器学习规则,与离散感知器学习规则并行。其规则的学习信号规定为:(式 2.2)为了方便计算,定义神经元 j 的期望误差与实际输出之间的计算误差为(式 2.3)按照误差的负梯度修正权值,

32、即:(式 2.4)(式 2.5)其中是学习率,01,在多层前馈网络中,权值可以初始化为任意值。由式 2.5 可以看出 Delta 规则要求连续可导的激活函数,如 Sigmoid 函数。综合式 2.1 至式 2.5 得:(式 2.6)其中 iijxnw)(式 2.3 中(包括和)为 n 学习时刻的计算误差,Delta 学习规则的学jEjdjo )()(1jIiijiijjnxwfnOfodXWfXWfdjjTjTjj)()()(2)(21jjjodE)()()()()()1(nwnEnwnwnwnwijjijijijijiijijjijijxnwxfodnwnw)()()()1( 第 12 页装

33、订线习信号也为在 n 时刻。2 21 15 5 神经元激活函数神经元激活函数O+1+1-1+1+1-1OOO(a)阶跃阈值函数(b)符号阈值函数(c)S 型对数函数(d)S 型正切函数图 2.3 神经元激活函数图形在神经元的激活函数中分为阈值激活函数(包括阶跃型和符号型) ,线性激活函数(包括纯线性型和分段线性型,在图中未标识) ,非线性激活函数(主要是 S 型函数,分为 S 型对数函数和 S 型正切函数,这两种是 BP 神经网络主要使用的,即Sigmoid 函数及其改进) ,还有一种概率型激活函数(其神经元状态分布与热力学的Boltzmann 分布相似,故称这种模型为神经网络热力学模型) 。

34、2 21 16 6 BPBP 神经网络收敛准则神经网络收敛准则在实际问题上,实际输出往往很难达到期望输出,因此需要一个准则停止权值的调整,这就需要考虑关于误差曲面的局部或全局最小的性质。以下有两种收敛准则: Kramer & Sangiovanni-Vincentelli 准则:当梯度向量的欧几里德范数达到一个充分小的梯度阈值时,认为反向传播算法已经收敛。注:欧几里德(Euclidean)范数指得就是通常意义上的距离范数,比如22221nxxxx Simon Haykin 建议准则:当每一个回合的均方差的变化的绝对速率足够小时,认为反向传播算法已经收敛。分析:第一个准则为了达到期望值,学习时间

35、可能会很长,而第二个准则则有可能 第 13 页装订线过早的终止学习。然而都需要计算一个梯度或变化率。然而根据网络对输入数据集合参数化的学习过程,我们可以通过网络的泛化能力即预测能力判断网络的收敛,当泛化能力达到了比较强的一个标准时,可以认为学习过程的停止,即已经收敛。关于泛化方法(如结构设计方法、主动学习、在样本随机输入中添加随机噪声、表决网、基于先验知识、最优停止法等)内容请参考相关文献。2.22.2 BPBP 神经网络学习过程描述神经网络学习过程描述2 22 21 1 BPBP 神经网络计算模型建立神经网络计算模型建立注:Wpq是隐含层 P 中 p(输出)神经元到隐含层 Q 中 q(输入)

36、神经元的连接权值。神经元输入用 ,激励输出用 ,激励函数用 Sigmoid,Ii表示 I 层的第i 个神经元输入,在这里即xi;训练样本集X=x1,x2,xIT,训练实例 K 样本集Xk=xk1,xk2,xkIT;实际输出Yk=yk1,yk2,ykOT,期望输出dk=dk1,dk2,dkOT;假设 n 为迭代次数,即训练步长,权值和实际输出是 n 的函数。2 22 22 2 BPBP 神经网络学习过程描述神经网络学习过程描述工作信号正向传播。输入信号从输入层经隐含层传向输出层,在输出端产生输出信号,在信号的向前传递过程中网络的权值是固定不变的,没一层神经元的状态只输入层隐含层输出层误 差 信

37、号图 2.4 BP 神经网络计算模型输 入 信 号x1O 层x22xIy1y2yOQ 层P 层I 层12I123P123Q12Owqowpq 第 14 页装订线影响下一层的神经元的状态。如果在输出曾不能得到期望的输出则会转入误差反向传播;误差信号反向传播。网络误差信号即网络的实际输出与期望输出之间的差值,该信号由输出端逐层向前传播。在误差信号的反向传播过程中,网络的权值由误差反馈进行调节,即权值修正,经过不断的修正直到允许的误差范围。2 22 23 3 BPBP 神经网络方框图神经网络方框图该图仅给出了输出层的一个神经元 K,焦点集中在该神经元周围活动:2.32.3 BPBP 神经网络学习方法

38、神经网络学习方法2 23 31 1 BPBP 神经网络信号流程神经网络信号流程神经元 j 是输出节点(从yi(n)开始到yj(n)是神经元 j)神经元 j 是隐含层节点(从yj(n)开始到yk(n)是神经元 k)一层或多层隐藏神经元输出神经元KYk(n)dk(n)ek(n)输入向量Xk(n)图 2.5 BP 神经网络方框图dj(n)y0=+1 阈值0ej(n)j(n)yi(n)f()yj(n)-+n+1图 2.6(a)BP 神经网络信号流图图 2.6(b)BP 神经网络信号流图y0=+1 阈值0y0=+1 阈值0yi(n)j(n)yj(n)f()yk(n)k(n)f()dk(n)ek(n)n+

39、1-+ 第 15 页装订线以单个神经元输出为例。2 23 32 2 误差反向传播计算误差反向传播计算根据图 2.6(a)可以初步写出下面的式子:(式 2.7)(式 2.8)根据图 2.6(b)可以初步写出下面的式子:(式 2.9)(式 2.10)其中 i=1,2,,I;j=1,2,J;k=1,2,K;n 为学习步长。在图 2.6(a)中,神经元 j 在迭代 n 时,即训练第 n 个例子时,输出误差信号定义如下:(此时 j 为输出节点)(式 2.11)定义神经元 j 的误差瞬时值为 因此,整个误差瞬时值(式 2.12)即为输出层的所有神经元的误差瞬时值之和。注:此定义式这是个均方差式,求得实际输

40、出和期望输出的误差值,二分之一是为了方便计算。根据 Delta 学习规则,由式 2.6 可得出(式 2.13)计算:(式 2.14)根据式 2.7 至式 2.12 可得下式结果,再由下面的式子可以得出式 2.14 的计算结果:)()()()()(nvfnynynwnvjjIiiijj)()()()()(nvfnynynwnvkkJjjjkk)()()(nyndnejjj)(212nejJjjnenE)(21)(2)()(nwnEwijij)()()()()()()()()()(nwnvnvnynynenenEnwnEijjjjjjjij)()()(nenenEjj1)()(nynejj )()

41、()()()(nynvfnenwnEijjij 第 16 页装订线(式 2.15)如果令(该为负向局向梯度)取激励函数为:(sigmoid 函数,或称逻辑函数)(式 2.16)令 a=1,对该激励函数并代入求导:因此(式 2.17)在图 2.6(b)中,隐含层 I 和 J,输出层为 k:(式 2.18)由式 2.9 至式 2.17 和上述推导过程可得:(式 2.19)(式 2.20)又根据反向传播定义可知:)()()(nvfnvnyjjj)()()(nynwnviijj)()()()()()()()()()()()()()()(nynnwnEnvfnenvnynynenenEnvnEnijij

42、jjjjjjjjj), 0(11)(xaexfyax)(1)()()()(nynynvnynvfjjjjj)(1 ()()()()(1 ()()()(nynynyndnynynenjjjjjjjj)()()()()()()()()(nynnwnvnvnEnwnEnwijijjjijij)()() 1(nwnwnwijijij)()()()()(nvfndnyndnekkkkkKkknenE12)(21)()()()()()()()()()()()()()()()()(nvfnynEnvnynynEnvnEnnwnvnvnEnwnEjjjjjjjijjjij 第 17 页装订线(式 2.21)因

43、为式 2.9 和式 2.18 代入式 2.21 可得:(式 2.22)将式 2.21 代入式 2.20 可得局向梯度为:根据在图 a 中替换下标 j 可以得出 k 的局向梯度:因此,注:(注意换 j 与 k 下标)前面计算有:如此反向向前逐层传播计算。2 23 33 3 BPBP 神经网络算法描述神经网络算法描述 以上的反向传播算法计算过程是 BP 算法的基础算法,下面是其算法描述:)()()()()()()()()()(11nynvnvnenenynenenynEjkkkKkkjkKkkj)()()()()(1nwnvfnenynEjkkKkkj)()()()()(1nwnvfnenvfnj

44、kkKkkjj)()()()()()()()()()()(nvfnenvnynynenenEnvnEnkkkkkkkkk)()()()()()()()(11nwnnvfnwnvfnenvfnjkKkkjjkkKkkjj)(1)()()()(nynynvnynvfjjjjj)()()(nynnwijij)()() 1(nwnwnwijijij初始化输入样本计算各层输出及输出误差计算各层误差信号调整各层权值mME结束n=n+1,m=m+1E=0m=1图 2.7 BP 基本算法流程图开始 第 18 页装订线初始化,设置样本计数器 m 和训练(迭代)次数计数器 n,其最大值分别为(M,N);并将权值矩

45、阵设立随机数,误差 E 置为 0,允许误差值为 ,学习率 00 常数,通常 a=1.7159.b=2/3。因此,f(1)=1,f(-1)=-1,f(0)=ab=1.71592/3=1.1424,斜率接近单位 1,在 x=1 时二阶导数最大。在误差反向传播计算中所用的是 S 型对数函数,同理可以使用 S 型正切函数,并对其求导推导。S 型对数函数不是奇函数,工作范围是0,1 。而双极性 S 型正切函数除了本身符合连续可微的条件外,具有双极性输出,它常常被选用为要求输入是1 范围的信号,关于它们的选择主要从函数自身的工作范围及其导数值的大小范围以及结构简单和运算速度快等思想考虑。由此可见,研究 B

46、P 神经网络激活函数是今后研究的一个重要课题。2 24 44 4 学习率学习率 选择影响分析选择影响分析首先,学习率是随时间改变的,为了方便,在反向传播算法计算过程中采用的是不变的学习率。下面是理想学习率示意图和一些规则:xaexfax, 0;11)(aeaeeabxaxfbxbxbx1211)tanh()(迭代次数 nE(n)收敛速率 图 2.8 理想学习率示意图 第 20 页装订线根据反向传播计算式得知,学习率 越大权值的变化就越大,则 BP 算法的学习收敛速度就越快,过大则引起网络的振荡,导致网络的不稳定以及性能低下,当超过某一极值容易引起算法不稳定。相反学习率 小可以避免网络的振荡,但

47、导致学习收敛速度的下降。经过实践证明来说,输出单元的局向梯度比输入端大,为此输出单元的 应小些;有较多输入端的神经元的 要比有较少的输入端的神经元的 小些;对于一个给定的神经元,其学习率应与神经元的突触连接的平方根成反比。在 BP 改进算法中引入了动量法解决 的学习过程变化问题,增加网络的稳定性,加快学习收敛速度,如 MATLAB 中使用动量及自适应 lrBP 的梯度递减训练函数。此外有很多研究人员采用遗传算法和免疫算法 BP 神经网络的学习率进行优化设计并简历数学模型,下面是一个简单的优化的学习率变化公式:其中 n 为迭代次数,A 和 根据工程应用的复杂性和结构优化的模糊性,对不同的系统和要

48、求取不同的范围,一般情况下,1A50,0.00010.001。 (参考文献 10)2 24 45 5 输入输出归一化影响分析输入输出归一化影响分析在输入样本训练网络时,如果所有输入样本的输入信号都为正值或负值,则与第一隐含层的神经元权值只能同时增加或减小,从而导致学习速度很慢。因此需要对输入信号进行归一化处理,使得所有样本的输入信号均值接近零或者其标准方差比较小。归一化的问题旨在是归纳统一样本的统计分布性,改善其分布规律,具体是消除均值,去相关性以及均方差均衡。归一化在0,1之间是统计的概率分布,归一化在-1,+1之间是统计的坐标分布。网络的各个输入数据常常具有不同的物理意义和不同的量纲,为此

49、需要使网络训练一开始就给各训练输入向量以同等的身份地位。BP 神经网络的神经元一般采用 sigmoid 激活函数,归一化可以防止输入信号数据绝对值过大进入饱和区。另外,期望输出数据不进行归一化会导致数值大的分量绝对误差大,数值小的绝对误差小,网络训练时只针对输出的总误差调整权值,因此在总误差中所占份额少的输出分量相对误差较大。这些都将影响学习的速度。处理的方法有,利用合理的变换等式将输入输出的数据变换为0,1或-1,+1(其选择主要看激活函数的选择)之间的数据;当输入输出向量中某个分量的取值过于密集时,由此可以将数据的点拉开一定距离,适当变换分布,改善分布规律。使用nAe 第 21 页装订线主

50、分量分析法使训练样本的输入向量互不相关,去相关后的输入变量应调整其长度使它们的方差近似相等,因此可以使网络中不同权值以大约相等的速度进行学习。2 24 46 6 其他影响因素分析其他影响因素分析关于能够改善 BP 神经网络性能和学习收敛速度的影响因素还有很多,比如输入样本信息内容的选择问题、允许误差 的选择问题,从提示中学习的问题以及改进误差函数等。在输入样本信息选择问题上,为能在对权空间进行更多的搜索,需要以下两个原则选择输入样本,使用训练误差最大的样本,使用的样本要与以前使用的有根本区别。此外,在一个迭代过程给网络的训练样本分布是变形的,如果含有例外点或错误标记的训练样本将会损坏输入空间更

51、大区域的泛化能力,降低网络的性能。允许误差 的选择也会影响学习的收敛速度和学习精度,我们一般采取一开始将允许误差取大些,然后逐渐减少的做法,这样是对网络训练的宽容,也是因为网络的训练往往很难达到期望的值,也是为了加快学习速度,也要参考具体问题所要求的精度。提示学习是利用现有的关于函数的先验知识(如函数的不变性、对成性以及其他特性)来提高函数的逼近能力,这就需要从学习样本中提取有关输入输出函数的信息,推断出能够逼近输入输出函数的函数,在学习中嵌入这样的提示,使用统计分布的方法建立虚拟样本,也增加了网络的泛化能力,加快了学习速度。改进误差函数,标准的误差函数采用的是(这也是为了方便计算)随着学习次

52、数的增加, 越来越小,使函数逼近速度减慢,这样对高度非线性样本的逼近精度得不到保证,为此用绝对和相对逼近精度来描述次误差函数,即其中和是常量系数。12在样本学习初期,以绝对形式的误差函数来指导权值的修正;学习后期,以相对形式函数误差为主:则随着学习次数的增加而减少,则随学习次数的增加而增加。12有的学者提出采用熵类准则函数或分类启发准则(参见参考文献11) 。2.52.5 BPBP 学习算法的改进学习算法的改进2 25 51 1 BPBP 学习算法的优缺点学习算法的优缺点BP 学习算法优点:BP 学习算法具有数学理论依据可靠,推导过程严谨,通用性好,解决了求解非线性连续函数的多层前馈神经网络权

53、值调整问题,具有实现任何复杂非线性映射的功能,特别适合求解内部机制的复杂问题。它具有自学习、自组织、自适应性和很JjjjydnE2)(21)(jjyd 2221)1 (4)(4)(JjjjJjjjydydnE 第 22 页装订线强的信息综合能力,能够同时处理定量和定性信息,协调多种输入的关系并进行推广概括,实行并行处理,适用于处理复杂非线性和不确定的对象。BP 学习算法缺点:基于梯度下降法及目标函数复杂,导致训练次数多,训练时间较长,收敛缓慢;基于局部搜索的优化方法,导致有时完全不能训练,失败的可能性也较大,易陷于局部极小而得不到全局最优;网络结构的选择尚无统一完整的理论指导,隐含节点个数难以

54、确定,而网络的结构直接影响网络的逼近能力及推广性质;训练过程有暂时遗忘的现象即学习新样本有遗忘旧样本的趋势;学习复杂性问题,即网络容量的可能性与可行性的关系问题,难以解决应用问题的实例规模和网络规模的矛盾问题;还有诸如新加入训练样本的要求及对已学习成功网络的影响,网络泛化能力和训练能力的极限问题等。鉴于 BP 学习算法的优缺点,增强 BP 神经网络的性能和应用,目前主要有如下几种改进方法。此外还有一些诸如增加遗忘因子、误差曲面陡度因子的方法,以及将多种方法和相关数学原理相结合的方法(具体请参考相关文献) 。2 25 52 2 增加动量项增加动量项在前面提到学习率的变化会影响网络的性能,为此在权

55、值调整公式中增加一个动量项,达到微调权值修正量防止振荡的效果。这样通过动量法不仅考虑了误差在梯度上的作用,而且考虑了误差曲面上变化的方向。其中 是动量因子,一般有 (0,1)动量项反应了以前的调整经验,对下一时刻的调整起到一定阻尼作用。因此可以减小振荡的趋势,促使权值的调节向着误差曲面的底部的平均方向变化,降低了网络对误差曲面在局部细节的敏感性,在一定程度上缓解局部极小问题,但是难以避免收敛缓慢问题。2 25 53 3 弹性弹性 BPBP 学习算法学习算法BP 学习算法常用 sigmoid 函数,即其特点是可以把无限的输入映射到有限的输出,如果函数的输入很大或很小的时候,函数的斜率接近于零,这

56、样采用梯度下降法使用sigmoid函数的网络就带来一个问题:梯度幅度的不利影响,即尽管权值和阚值离其最佳值相差甚远,但此时梯度的幅度非常小,导致权值和阈值的修正量也很小,使得训练时间变得很长。所以在权值修正的时候仅仅用偏导的符号,而其幅值不影响权值的修正,即权值的修正取决于与幅值无关的修正值。当连续两次迭代的梯度方向相同时,可将权值和阈值的修正值乘以一个增量因子。使其修正值增加;当连续两次迭代的梯度方向相反时,可将权值和阈值的修正值乘以一个减量因子,使其修正值减小;当梯度为零时,权值和阈值的修正值保持不变;当权值的修正发生振荡时,其修正值将会减小。如果权值在)() 1() 1() 1(nwny

57、nnwijijijxexf11)( 第 23 页装订线相同的梯度上连续被修正,则其幅度必将增加,从而克服了梯度幅度的不利影响,即(当连续两次迭代的梯度方向相同时)(当连续两次迭代的梯度方向相反时)(当局向梯度g(n)为零时)其中是第n次迭代的权值或阈值的幅度修正值,为增量因子,为减量因)(nxinckdeck子,sign(g(n)代表局向梯度g(n)的符号函数。2 25 54 4 自适应学习速率法自适应学习速率法在BP学习算法中,网络权值调整取决于学习率和局向梯度,首先要说明的是学习率是随时间改变的,只是在上面的反向传播算法推导过程采用的是不变的值。在自适应的学习速率法中学习率的调整规则有很多

58、种办法,目的是为了把学习率在整个训练过程得到合理的调节。第一种方法是将动量因子和学习率同时调整,其中动量因子的调整倍率要大些。基本思想:当前误差与前一次误差比较,如果误差出现反弹或持平,说明学习率过大,那么将学习率降到原来的60%,然后再按5%的速度递增;如果误差持续下降,学习率继续递增;当误差再出现反弹或持平时,再将学习率下调40%;这样反复跳跃以刺激收敛速度,同时这种跳跃还可以避免寻优搜索陷入局部极小值。(误差反弹或持平)(误差持续下降)第二种方法是设一个初始学习率,若在一批权值调整后总误差升高,则本次的调整无效,并且令;若总误差下降,则本次调整有效,并) 1()() 1(nn且令。) 1

59、()() 1(nn通过学习率的自适应调整,使学习过程中从误差曲面中找到合适的学习率,在平坦区域加速,在凹处减速,避免出现振荡导致的迭代次数增加,加快收敛速度。如果将增加动量法和自适应学习速率法结合起来,既可抑制网络陷入局部极小,又加快学习。但都是基于梯度下降法,它们只利用了目标函数对网络权值和阈值的一阶导数信息。因此,对于复杂问题还存在收敛速度缓慢的问题。2 25 55 5 共轭梯度法共轭梯度法在基本的BP学习算法中,相邻迭代的搜索方向是正交的,当接近极值时会发生振荡。共轭梯度法是利用正交性构成的共轭搜索方向,使得在最速下降方向(误差曲面中对权值向量调整是在最速下降的方向,与梯度向量方向相反)

60、通过把过去的梯度和现在某点的梯度信息线性组合起来(前一点的梯度乘以适当系数加到该点的)()()()()() 1(nxkngsignnxkngsignnxnxdecinc) 1()() 1()() 1(05. 1)() 1(6 . 0)() 1()()()()()() 1(nEnEnEnEnnnnnwnynnwnwnwnwijijijijijij 第 24 页装订线梯度)构造更好的搜索的方向,搜索目标函数极值,沿共轭方向达到全局最优,为此这种无约束最优化方法能有效提高算法性能。为了确保搜索方向的共轭性,初始搜索方向取负梯度方向,当由于误差积累使得搜索方向变得非下降时,可以以负梯度方向重新开始搜索

61、。BP算法改进如下:其中为共轭因子,为共轭方向(设W是nn的正定矩阵,如果存在两个)(n)(ndir方向dir1和dir2使得dir1W dir2=0,则这两个方向关于W共轭) ,为当前梯度,n为)(ng迭代次数。最后一个式子是基于共轭方向的权值修正。上述式子在初始时 如此迭代而已。在试验中得知在高维函数或向量的训练将会达到更好的效果。请参考3.2.3仿真结果比较与分析。2 25 56 6 Levenberg-MarquardtLevenberg-Marquardt 算法算法L-M算法(也称阻尼最小二乘法)较上面基于梯度下降法的算法要快的多,但需要更多的内存存储雅可比(Jacobian)矩阵,

62、对于中等规模的网络是一种很好的选择,对于大型网络可以将雅可比矩阵分为多个小矩阵的方法,减少了内存却增加了学习时间。权值调整量为:其中为误差向量,J为网络误差对权值偏导的雅可比矩阵,I是单位矩阵,为阻je尼因子(是自适应调整的,使得该方法在Gauss-Newton法(时)和梯度下0降法(时)之间光滑变化) ,n为学习步长。分析:L-M算法根据迭代的结果动态地调整阻尼因子,即动态地调整迭代的收敛方向,可使每次的迭代误差函数值都有所下降。它是Gauss-Newton法和梯度下降法的结合,收敛速度较快。但L-M算法在计算过程中有雅可比矩阵会产生大量的中间结果,因此,需要较大的内存空间。在Matlab神

63、经网络工具箱中,该算法被作为默认的训练函数。在上面的分析可以得出,该算法的基本思想是使其每次迭代不再沿着单一的负梯度方向,而是允许误差沿着恶化的方向进行搜索,同时通过在和Gauss-Newton法)()()()() 1()()()() 1() 1() 1()()()(nwnngnnwnwnngndirngngngngnijijijTTdir(n)g(0)dir(n+1)图 2.9 共轭梯度向量示意图) 1 () 1 () 1 ()2()0() 1 () 1 () 1 () 1 ()0() 1 (wijgdirgdirwgdirij)()()()()()(1nenJInnJnJnwjTTij 第

64、 25 页装订线和梯度下降法之间自适应来优化网络权值,使网络能够有效的收敛,大大提高了网络的收敛速度和泛化能力。具体迭代步骤如下: 将所有输入送到网络并计算出网络输出,用误差函数计算出所有的误差平方和 计算出误差对权值偏导的雅可比矩阵: 用w+w重复计算误差平方和(如果新的和小于中计算的和,则用除以(1) ,并有w+w转;否则用乘以,转;当误差平方和减小到某一目标误差时,算法即被认为收敛)注:从2.5.2至2.5.6参考大量学术论文及文献,由于参考的文献众多,在这里就不一一指明,但大都附在论文后面的参考文献中,在此对参考文献的作者表示感谢和歉意。mmmwnewnewnewewewewewewe

65、mnJ)()()()2()2()2() 1 () 1 () 1 ()(212121niielmE12)(21)()()()()()()(1nenJInnJnJnwjTTij 第 26 页装订线3.BP3.BP 神经网络仿真神经网络仿真3.13.1 仿真平台仿真平台 MATLABMATLAB3 31 11 1 MATLABMATLAB 简介简介MATLAB 是 Matrit Laboratory 的英文缩写,中文意思是矩阵实验室,是美国MathWorks 公司出品的商业数学软件,它的内核是采用 C 语言编写,是一种以矩阵为基本数据元素,面向科学计算与工程计算的可视化软件。MATLAB 可以进行矩

66、阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、鲁棒控制、信号检测、金融建模设计与分析等领域。在新的版本中也加入了对 C,FORTRAN,C+ ,JAVA 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到 MATLAB 函数库中方便自己以后调用,此外许多的 MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。3 31 12 2 仿真平台的构建和策略仿真平台的构建和策略由于 MATLAB 的诸多优点,BP 神经网络的仿真采用 MATLAB 数学软件,安装在单机 Windows XP 系统中,所使用的 MATLAB 版本为 R2007b。应用 MATLAB 中神经网络工具箱函数使用 MATLAB 自身语言进行编程。仿真的具体步骤为:确定信息的表达方式:将实际问题抽象成神经网络所能接受的数据形式;确定网络结构模型,本仿真将选取输入层,一个隐含层和输出层的 BP 网络模型;选择网络参数:如神经元数,隐含层数等;确定训练模式,选择训练算法,确定训练步数,指定训练目标误差等;网络测试:

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!