1、装订线安徽工业大学管理科学与工程学院 基于MATLAB神经网络仿真摘 要随着人工神经网络的研究和应用越来越广泛,误差反向传播算法(BP算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权值调整问题,BP神经网络如今成为最广泛使用的网络,研究它对探索非线性复杂问题具有重要意义,而且它具有广泛的应用前景。以BP神经网络为例,讨论了BP神经网络及几种改进BP神经网络性能的算法;通过BP学习算法的推导和分析得知BP网络是一种多层前馈网络,采用最小均方差的学习方式,缺点是仅为有导师训练,训练时间长,易限于局部极小;运用MATLAB来实现各种BP神经网络的实现的设计与训练,比较不同BP神经网络
2、的性能,验证改进BP网络的优势,得出如何根据对象选取神经网络的结论。关键词:人工神经网络、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 m
3、ulti-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 network is discussed and several improvements in the
4、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 training instructors, training time, limited to
5、 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 in accordance with the conclusions of neural ne
6、tworks.Key words: Artificial neural network, BP neural networks, error back-propagation algorithm, MATLAB, simulation目 录1.绪论51.1 引言51.2 神经网络概述5121 神经网络起源5122 神经网络的发展历程5123 神经网络国内发展概况6124 神经网络研究现状71.3研究目的、方法和问题(BP神经网络)8131 研究目的8132 研究方法8133 研究问题82.BP神经网络102.1 BP神经网络相关原理10211 神经元非线性模型10212 有教师监督学习1021
7、3 神经元数学模型11214 Delta学习规则11215 神经元激活函数12216 BP神经网络收敛准则122.2 BP神经网络学习过程描述13221 BP神经网络计算模型建立13222 BP神经网络学习过程描述14223 BP神经网络方框图142.3 BP神经网络学习方法14231 BP神经网络信号流程14232 误差反向传播计算15233 BP神经网络算法描述182.4 影响因素分析19241 权值初始值设置影响分析19242 权值调整方法影响分析19243 激活函数选择影响分析20244 学习率选择影响分析20245 输入输出归一化影响分析21246 其他影响因素分析222.5 BP学
8、习算法的改进22251 BP学习算法的优缺点22252 增加动量项23253 弹性BP学习算法23254 自适应学习速率法24255 共轭梯度法25256 Levenberg-Marquardt算法253.BP神经网络仿真273.1 仿真平台MATLAB27311 MATLAB简介27312 仿真平台的构建和策略273.2 仿真实验28321 BP神经网络MATLAB设计28322 各种BP学习算法MATLAB仿真29323 各种算法仿真结果比较与分析32324 调整初始权值和阈值的仿真33325 其他影响因素仿真354.BP神经网络应用实例374.1 实例概述374.2 网络设计374.3
9、网络训练384.4 网络测试394.5 实例总结405.总结与展望415.1 BP神经网络研究总结415.2 神经网络研究展望42致谢43参考文献44附录461.绪论1.1 引言随着计算机的问世与发展,人们设法了解人的大脑,进而构造具有人类智能的智能计算机。在具有人脑逻辑推理能力延伸的计算机战胜人类棋手的同时引发人们对模拟人脑信息处理的人工神经网络的研究。人工神经网络(Artificial Neural Networks, ANN)(注:简称为神经网络),一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而
10、达到处理信息的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者之间潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果,这种学习分析的过程被称为“训练”。(引自环球科学2007年第一期神经语言:老鼠胡须下的秘密)1.2 神经网络概述121神经网络起源早在1890年,美国心理学家William James(1842-1910)出版了Principles of Psychology专著,本书研究了心理活动与大脑神经生理活动的关系,开创性提出学习、联想记忆的基本原理。指出:“让我们假设所有后继推理的基础遵循这样的规则:当两个基本的脑细胞曾经
11、一起或相继被激活过,其中一个受刺激激活时会将刺激传播到另一个”。他还认为在大脑皮层上的任意一点的刺激量是其他所有发射点进入该点刺激总和。1943年,心理学家W.S.McCulloch和数理逻辑学家W.A.Pitts建立了神经网络和数学模型,称为M-P模型。他们通过M-P模型提出了神经元的形式化数学描述和网络结构方法,证明了单个神经元能执行逻辑功能,从而开创了人工神经网络研究的时代。122 神经网络的发展历程1943年,心理学家W.S.McCulloch和数理逻辑学家W.Pitts建立了神经网络和数学模型,称为M-P模型;1949年,心理学家Donald Olding Hebb出版了Organi
12、zation of Behavior,在该书他首先提出了连接权训练算法,即如今人们称为的Hebb算法;1958年,计算机科学家Frank Rosenblatt,在一篇著名的文章中提出了一种具有三层网络特性的“感知器”(perceptron)神经网络; 1960年,电机工程师Bernard Widrow和Marcian Hoff发表了Adaptive Switching Circuits文章,不仅把人工神经网络在计算机上仿真,而且用硬件电路实现了它。因此Widrow-Hoff的学习训练算法(也称(误差大小)算法或最小均方(LMS)算法)也应运而生;1969年,人工智能的创始人之一,MMinsky
13、和S.Papert经过数年研究,仔细分析了以感知器为代表的神经网络系统的功能及局限后,出版了Perceptron一书,指出感知器不能解决高阶谓词问题;1969年,美国波士顿大学自适应系统中心的S.Grossberg教授及其夫人G.A.Carpenter提出了著名的自适应共振理论(adaptive resonance theory)模型;1972年,芬兰的T.Kohonen教授提出了自组织映射(SOM)理论,并称其神经网络结构为“associative memory”;与此同时,美国的神经生理学家和心理学家J.Anderson,提出了一个类似的神经网络“interactive memory”;1
14、980年,日本东京NHK广播科学研究实验室的福岛邦彦(Kunihiko Fukushima),发表了Neocognitron,开发了一些神经网络结构和训练算法,还有一系列的改进的文章,新认知机在于视觉模式识别机制的模型;1982年,美国加州理工学院的优秀物理学家John J.Hopfield博士发表一篇著名的文章,吸收前人的研究成果,把各种结构和算法概括综合起来建立起新颖而有力的Hopfield网络;1985年,G.E.Hinton和T.J.Sejnowski借助统计物理学概念和方法提出了波耳兹曼模型,在学习中采用统计热力学模拟退火技术,保证整个系统趋于全局稳定点;1986年进行认知微观结构地
15、研究,提出了并行分布处理的理论;1987年首届国际神经网络学术会议在美国加州圣地亚哥召开,成立了国际神经网络学会(INNS);1987年以来,神经网络理论、应用、实现和相关开发工具发展迅速,涉及神经生理学、认知科学、心理学、数理科学、信息科学、计算机科学、微电子学、光学、生物电子学等多学科交叉、综合的前沿科学。应用于各个领域,如自动控制领域、处理组合优化问题、模式识别、图像处理、机器人控制、医疗等。可见人工神经网络具有广泛的研究和应用前景;以下是1987年后的一些发展历程:1988年,Broomhead Lower提出径向基函数网络(Radial Basis Function,RBF),网络设
16、计采用原理化方法,有坚实的数学基础;1992-1998年,Vapnik提出了支持向量机(Support Vector Machine,SVM),在模式分类问题上能提供良好的泛化能力。123 神经网络国内发展概况1980年,涂序言教授等出版了生物控制论一书,“神经系统控制论”一章系统地介绍了神经元和神经网络的结构、功能和模型,是我国最早涉及神经网络的著作;因此到80年代中期,我国学术界掀起了研究神经网络的热潮;1988年北京大学非线性研究中心举办了Beijing International Workshop on Neural Networks: Learning and Recognition
17、, a Modern Approach;1989年召开可全国非正式的神经网络会议,于1990年在北京召开了中国神经网络首届学术大会,第二年在南京召开了第二届,并成立了中国神经网络学会;1992年国际神经网络学会和IEEE神经网络委员会在北京召开神经网络的国际性会议;自此中国神经网络研究在国家研究计划的支持和学术及工程人员的发展与应用下取得一系列丰硕成果。124 神经网络研究现状神经网络是可大规模并行处理和分布式信息存储,具有良好的自学习、自适应、自组织性,以及很强的联想记忆和容错功能,可以充分逼近任意复杂的非线性关系,可有很强的信息综合能力,能同时处理定量和定性信息,能很好的协调多种输入信息关
18、系,适用于处理复杂非线性和不确定对象。目前的神经网络的研究中主要有以下几种类型:松耦合模型:符号机制的专家系统和联接机制的神经网络通过一个中间媒介如数据文件进行通信;紧耦合模型:其通信数据是直接的内部数据,具有很高的效率;转换模型:将专家系统知识转换成神经网络,或把神经网络转换成专家系统知识,转换需要在两种机制之间,确定结构上的一致性,目前主要问题还没有一种能够精确而完备的实现二者转换;综合模型:将具有符号机制的逻辑功能和具有联接机制的自适应和容错性结合为一个整体,共享数据结构和知识表示;混沌理论:是系统从有序突然变为无序状态的一种演化理论,是对确定性系统中出现的内在“随机过程”形成的途径、机
19、制的研讨,从而与神经网络融合,达到取长补短的效果;模糊集理论:用语言和概念代表脑的宏观功能,按照人为引入的隶属度,将模糊性的语言信息进行逻辑处理,与神经网络结合,取长补短;遗传算法:模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,从而与神经网络融合,达到取长补短的效果;混合神经网络:把神经网络与混沌理论、模糊集理论和遗传算法相互结合的网络模型。人工神经网络学习问题展望,目前主要有以下三种方法:基于搜索机制的学习方法、基于规划的学习方法和构造性学习方法。如今也有其综合方法,各有特点。其中基于搜索的方法,若不从根本上进行改变,很难克服
20、其内在固有的缺点,如基于局部最小的搜索算法,其中BP算法就有易限于局部极小的固有缺点;规划方法因为其中有“优化的步骤”,从理论上看其所得网络性能要比其他方法要好,但如何确定核函数形式和参数问题一直是未能很好解决的问题,当数据规模极大会引起计算量过大问题;构造性方法,因为进行了局部化,计算量要小,由于未进行全局优化,故性能不及规划方法,不需要确定映射关系就没有了确定核函数的困难问题;如果能够将三者相互结合,将规划方法中优化过程合理地引入到构造方法中,也许即可克服规划方法计算量大的问题,核函数和参数确定问题,也可以克服构造性方法未进行全局优化的缺点;这些将是值得研究的问题。随着更多数学方法的引入,
21、如模拟退火算法、商空间(即线性空间)理论、统计推断方法与启发式搜索技术及其结合产物的引入,促进各种学习方法的改进,将有力的推进神经网络的进一步发展。随着神经网络的广泛应用,具有以下研究趋势:增强对智能和机器的关系问题的认识,发展神经计算与进化计算的理论与应用,扩大神经网络结构和神经元芯片的作用,促进信息科学与生命科学的相互融合,进行与其他智能方法融合技术研究。1.3研究目的、方法和问题(BP神经网络)131研究目的在人工神经网络发展历史中,很长一段时间里没有找到隐含层的连接权值调整问题的有效算法。直到误差反向传播算法(BP神经网络算法)的提出,成功地解决了求解非线性连续函数的多层前馈神经网络权
22、值调整问题。目前,BP神经网络已成为广泛使用的网络,可用于语言综合、语言识别、自适应控制等。它是一种多层前馈网络,采用最小均方差的学习方式,缺点是仅为有导师训练,训练时间长,易限于局部极小。鉴于神经网络的广泛应用,特别是BP神经网络的发展,对于神经网络(比如BP神经网络)的研究具有重要意义。研究的主要目的是:理解BP网络结构模型;学习误差反向传播算法和BP神经网络的学习算法;分析关键因素,得出BP网络的优缺点;综合各种因素并使用启发式方法对BP神经网络算法进行改进;应用数学软件MATLAB对BP神经网络标准算法和改进算法进行仿真编程;利用仿真结果和图表得出各个算法适用条件;进而研究实际问题的B
23、P神经网络构建和仿真。132研究方法通过参考研究学习神经网络研究和工作者的著作和文章,理解神经网络,特别是BP神经网络的结构模型和理论;利用现有的数学理论知识和方法,推导反向传播算法计算;利用计算机程序设计理论编写BP神经网络学习算法的步骤和流程;分析BP标准算法关键因素,利用现有数学相关方法(如启发式方法,MATLAB中几种典型的BP神经网络算法:traingdm,增加动量法;trainrp,弹性BP算法;traingda,traingdx,自适应学习速率法;traincgf,共轭梯度法;trainbfg,拟牛顿法;trainlm,Levenberg-Marquardt算法)对BP神经网络算
24、法改进和理论推导;利用优秀数学软件MATLAB进行BP网络学习算法的仿真编程,分别建立BP神经网络标准算法、改进算法的编程程序,利用MATLAB得出相关图表,分析其关键因素;应用实例对BP神经网络的应用和仿真进行验证;通过自己的理解和学习得出自己对神经网络(BP神经网络)的思考。133研究问题研究问题1:BP神经网络的学习过程,工作信号正向传播,误差信号反向传播。得到如下图1-1示意模型:(多层前馈型网络)输入层隐含层输出层误 差 信 号图1.1 BP神经网络示意模型输 入 信 号研究问题2:BP神经网络的不足,训练时间较长,有时完全不能训练,失败的可能性也较大,易陷于局部极小而得不到全局最优
25、,隐含节点个数难以确定,训练过程有暂时遗忘的现象即学习新样本有遗忘旧样本的趋势。研究问题3:BP神经网络学习算法的改进有(MATLAB神经网络工具箱中):增加动量法(traingdm)、弹性BP算法(trainrp),自适应学习速率法(traingdx)、共轭梯度法 (traincgf)、拟牛顿法 (trainbfg)以及Levenberg-Marquardt算法(trainlm)等。注:在MATLAB R2007版本中traingdx为动量及自适应lrBP的梯度递减训练函数。研究问题4:误差要求和网络复杂程度将影响BP各种算法的选择;比如拟牛顿法需要Hessian矩阵,不适用于复杂的大型网络
26、,但对于中型网络其收敛效果仅次于LM算法,且需要的内存也相对较小,但对于小型网络LM算法最好最快,仿真效果要好;又如当误差要求比较高时,弹性BP算法和自适应学习速率法需要很长的训练时间,在设定的训练步骤范围内不能达到期望误差。研究问题5:在实例的网络模型的建立和MATLAB仿真的过程中,发现没有确定隐含层神经元数目的有效方法,隐含层神经元的数目直接影响分类精度,神经元数目过多或过少都会使网络性能下降,一般只能由经验设定,再经过多次调试确定最佳数目。其次网络的泛化能力与训练能力的矛盾,一般情况下,训练能力差时,预测能力也差,并且一定程度上随训练能力地提高,泛化能力也提高。但这种趋势有一个极限,当
27、达到此极限时,随训练能力的提高,泛化能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。 2.BP神经网络2.1 BP神经网络相关原理211神经元非线性模型f( )kwk1wk2wkI固定输入x0=+1x1x2阈值kk激活函数输出yk图2.1 神经元非线性模型加法器xI加法器,也称线性组合器,将求输入信号突触权值被神经元的相应突触加权和;激活函数是用来限制神经元的振幅,主要有0,1或-1,+1;阈值的作用是根据其为正或负,相应的增加或减低激活函数的网络输入。注:这里的K为实例。模拟的是生物神经元的电位脉冲原理。环境教师学习系统实际响应描述环境状态向
28、量期望模式输入模式+-误差信号ek图2.2 有教师学习方框图期望响应212 有教师监督学习有教师学习采用的是纠错规则,在网络的学习训练过程给神经网络一个期望模式和输入模式,所期望的模式就是教师信号,因此可以将输入模式所得的结果与期望模式的结果相比较,当不相符时,可以根据相关规则进行权值调整,比如上述的Delta规则,直到满足一定误差范围内,这将更接近期望模式结果。由此可见,在执行具体任务之前必须经过学习,直到“学会”为止。213 神经元数学模型设在n时刻,神经元i到神经元j的信息传递,其输入信息为xi(n),输出为Oj(n),则神经元j的数学表达式为(式2.1)其中 是神经元i到j的突触连接权
29、值 是输入和输出间的突触时延 是神经元j的阈值 是神经元激活函数如果,又=-1,=()可得:。214 Delta学习规则Delta学习规则,也称连续感知器学习规则,与离散感知器学习规则并行。其规则的学习信号规定为:(式2.2)为了方便计算,定义神经元j的期望误差与实际输出之间的计算误差为(式2.3)按照误差的负梯度修正权值,即:(式2.4)(式2.5)其中是学习率,01,在多层前馈网络中,权值可以初始化为任意值。由式2.5可以看出Delta规则要求连续可导的激活函数,如Sigmoid函数。综合式2.1至式2.5得:(式2.6)其中 式2.3中(包括和)为n学习时刻的计算误差,Delta学习规则
30、的学习信号也为在n时刻。215 神经元激活函数O+1+1-1+1+1-1OOO(a)阶跃阈值函数(b)符号阈值函数(c)S型对数函数(d)S型正切函数图2.3 神经元激活函数图形在神经元的激活函数中分为阈值激活函数(包括阶跃型和符号型),线性激活函数(包括纯线性型和分段线性型,在图中未标识),非线性激活函数(主要是S型函数,分为S型对数函数和S型正切函数,这两种是BP神经网络主要使用的,即Sigmoid函数及其改进),还有一种概率型激活函数(其神经元状态分布与热力学的Boltzmann分布相似,故称这种模型为神经网络热力学模型)。216 BP神经网络收敛准则在实际问题上,实际输出往往很难达到期
31、望输出,因此需要一个准则停止权值的调整,这就需要考虑关于误差曲面的局部或全局最小的性质。以下有两种收敛准则: Kramer & Sangiovanni-Vincentelli准则:当梯度向量的欧几里德范数达到一个充分小的梯度阈值时,认为反向传播算法已经收敛。注:欧几里德(Euclidean)范数指得就是通常意义上的距离范数,比如 Simon Haykin建议准则:当每一个回合的均方差的变化的绝对速率足够小时,认为反向传播算法已经收敛。分析:第一个准则为了达到期望值,学习时间可能会很长,而第二个准则则有可能过早的终止学习。然而都需要计算一个梯度或变化率。然而根据网络对输入数据集合参数化的学习过程
32、,我们可以通过网络的泛化能力即预测能力判断网络的收敛,当泛化能力达到了比较强的一个标准时,可以认为学习过程的停止,即已经收敛。关于泛化方法(如结构设计方法、主动学习、在样本随机输入中添加随机噪声、表决网、基于先验知识、最优停止法等)内容请参考相关文献。2.2 BP神经网络学习过程描述输入层隐含层输出层误 差 信 号图2.4 BP神经网络计算模型输 入 信 号x1O层x22xIy1y2yOQ层P 层I层12I123P123Q12Owqowpq221 BP神经网络计算模型建立注:Wpq是隐含层P中p(输出)神经元到隐含层Q中q(输入)神经元的连接权值。神经元输入用,激励输出用,激励函数用Sigmo
33、id,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神经网络学习过程描述工作信号正向传播。输入信号从输入层经隐含层传向输出层,在输出端产生输出信号,在信号的向前传递过程中网络的权值是固定不变的,没一层神经元的状态只影响下一层的神经元的状态。如果在输出曾不能得到期望的输出则会转入误差反向传播;误差信号反向传播。网络误差信号即网络的实际输出与期望输出之间的差值,该信号由输
34、出端逐层向前传播。在误差信号的反向传播过程中,网络的权值由误差反馈进行调节,即权值修正,经过不断的修正直到允许的误差范围。223 BP神经网络方框图一层或多层隐藏神经元输出神经元KYk(n)dk(n)ek(n)输入向量Xk(n)图2.5 BP神经网络方框图该图仅给出了输出层的一个神经元K,焦点集中在该神经元周围活动:2.3 BP神经网络学习方法231 BP神经网络信号流程dj(n)y0=+1 阈值0ej(n)j(n)yi(n)f()yj(n)-+n+1图2.6(a)BP神经网络信号流图神经元j是输出节点(从yi(n)开始到yj(n)是神经元j)图2.6(b)BP神经网络信号流图y0=+1 阈值
35、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.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)即为
36、输出层的所有神经元的误差瞬时值之和。注:此定义式这是个均方差式,求得实际输出和期望输出的误差值,二分之一是为了方便计算。根据Delta学习规则,由式2.6可得出(式2.13)计算:(式2.14)根据式2.7至式2.12可得下式结果,再由下面的式子可以得出式2.14的计算结果: (式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)又根据反向传播定义可知:(式2.21
37、)因为式2.9和式2.18代入式2.21可得:(式2.22)将式2.21代入式2.20可得局向梯度为:根据在图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常数,通常
38、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范围的信号,关于它们的选择主要从函数自身的工作范围及其导数值的大小范围以及结构简单和运算速度快等思想考虑。由此可见,研究BP神经网络激活函数是今后研究的一个重要课题。244 学习率选择影响分析首先,学习率是随时间改变的,为了
39、方便,在反向传播算法计算过程中采用的是不变的学习率。下面是理想学习率示意图和一些规则:迭代次数nE(n)收敛速率 图2.8 理想学习率示意图 根据反向传播计算式得知,学习率越大权值的变化就越大,则BP算法的学习收敛速度就越快,过大则引起网络的振荡,导致网络的不稳定以及性能低下,当超过某一极值容易引起算法不稳定。相反学习率小可以避免网络的振荡,但导致学习收敛速度的下降。经过实践证明来说,输出单元的局向梯度比输入端大,为此输出单元的应小些;有较多输入端的神经元的要比有较少的输入端的神经元的小些;对于一个给定的神经元,其学习率应与神经元的突触连接的平方根成反比。在BP改进算法中引入了动量法解决的学习
40、过程变化问题,增加网络的稳定性,加快学习收敛速度,如MATLAB中使用动量及自适应lrBP的梯度递减训练函数。此外有很多研究人员采用遗传算法和免疫算法BP神经网络的学习率进行优化设计并简历数学模型,下面是一个简单的优化的学习率变化公式:其中n为迭代次数,A和根据工程应用的复杂性和结构优化的模糊性,对不同的系统和要求取不同的范围,一般情况下,1A50,0.00010.001。(参考文献10)245 输入输出归一化影响分析在输入样本训练网络时,如果所有输入样本的输入信号都为正值或负值,则与第一隐含层的神经元权值只能同时增加或减小,从而导致学习速度很慢。因此需要对输入信号进行归一化处理,使得所有样本的输入信号均值接近零或者其标准方差比较小。归一化的问题旨在是归纳统一样本的统计分布性,改善其分布规律,具体是消除均值,去相关性以及均方差均衡。归一化在0,1之间是统计的概率分布,归一化在-1,+1之间是统计的坐标分布。网络的各个输入数据常常具有不同的物理意义和不同的量纲,为此需要使网络训练