课件:前向多层神经网络.ppt_第1页
课件:前向多层神经网络.ppt_第2页
课件:前向多层神经网络.ppt_第3页
课件:前向多层神经网络.ppt_第4页
课件:前向多层神经网络.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第2章 前向多层神经网络、BP算法及计算机实现,综述 推导前向多层神经网络的学习算法 BP学习算法中几个值得注意的问题 设计网络学习过程的步骤 网络学习过程程序流程图 对本课程的基本要求,基于前面介绍的神经元结构,人们又提出了很多种神经网络结构模型,如Hopfield网络、Boltzmann机、ART网络和BAM网络等。在各领域中用法最多也最有成效的是前向多层神经网络,由于该网络在学习(训练)过程中采用了BP(Error Back-propagation)算法,故又称为BP网络。标准的BP网络由三层神经元组成,其结构如图21所示。最下面为输入层,中间为隐含层,最上面为输出层,网络中相邻层采取全互连方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有直接的联系。为方便讨论,在此设输入层、隐含层及输出层神经元的个数分别为L,M,N。可以证明:在隐含层节点可以根据需要自由设置的情况下,用三层前向神经网络可以实现以任意精度逼近任意连续函数。,输 出 模 式,输 入 模 式,输出层,隐含层,输入层,输出层神经元 (L=2),隐含层神经元 (L=1),输入层神经元 (L=0),图2-1前向多层神经网络(BP网络)模型,BP神经网络中的动力学过程有两点:,一类是学习过程, 在这类过程中,神经元之间的连接权将得到调整,使之与环境信息相符合,连接权的调整方法称为学习算法。 另一类过程是指神经网络的计算过程,在该过程中将实现神经网络的活跃状态的模式变换,与学习过程相比,计算过程的速度要快得多,因而,计算过程又称为快过程,学习过程称为慢过程。,如图22示,设从第L层神经元j到第L-1层神经元i的连接权值为Wji,P为当前学习样本,Opi为在P样本下第L层第i个神经元的输出,变换函数f(x)取为Sigmoid函数,即,图2-2 BP神经网络的通用结构, , ,对于第P个样本,网络的输出误差EP用下式表示 (21) 式中tpj为输入第P个样本时第j个神经元的理想输出, Opj是它的实际输出,假设第L层有J个神经元,第L-1有I个神经元。,为了使网络的实际输出与理想输出相接近(使EP下降),根据梯度算法,可以对L层按下式进行调整: L=1,2 (22),对于非输入层的神经元具有下面的操作特性: 任一神经元的净输入 (23) 任一神经元的输出 (24) 在式(23)中,如果将 代入 ,则(23)式可改写为 (25),又 (26) (27) 定义: 为输出误差系数,综合式(22)(23)(25)(27)得出 (28) i =0,1,2,I, j=0,1,2,J-1, L=1,2 由上式可见,为求出调整值,必须先求 出 。 (29),由式(24)得到: 现在分两种情况来讨论: (1)如果所讨论的神经元为输出层神经元,则由式(21)可得: (从输出层开始),代入(29)式得到 (2.10) L=2, j=0,1,2,N-1 (2)如果所讨论的神经元为隐层神经元,则有: (向输出层反向传播,参见(25)式),= = = 将此结果代入式(29)得到 (211) L=1, j=0,1,2,M-1,从上式可以看出,为求出隐含层的输出误差系数 ,必须用到输出层的 ,所以这个过程被称为误差反向传播过程(EBP,error back-propagation)。 现在来讨论 项中的 ,由于f采用Sigmoid函数。 由此可以得到 (212),将式(212)代入式(210)和式(211)得到 (213) L=2, j=0,1,2,N-1 (对输出层) (214) L=1, i=0,1,2,M-1 (对隐层),将式(213)和式(214)代入式(28)得到 当L=2(输出层)时 (215) I=0,1,2 ,N-1; j=0,1,2,M 当L=1(隐含层)时 (216) ,I=0,1,2 ,M-1, j=0,1,2,L 至此,推导完了BP学习算法,式(215)与式(216)为推导的最后结果。,(1)神经网络输入层,输出层的神经元个数可以根据研究对象的输入,输出信息来确定,如何合适选取隐含层神经元的数目无规律可循,然而隐含神经元的数目是否合适对整个网络能否正常工作具有重要意义,一般情况下可按下式给出: (217) nH为隐含层神经元数目 nI 为输入层神经元数目 nO为输出层神经元数目 L 为110之间的整数,(2)学习算法中的表示学习速率,或称为步幅,较大时,数值的修改量就较大,学习速率比较快,但有时会导致振荡,值较小时,学习速率慢,然而学习过程平稳,值的具体选取方案有很多种,但没有一种是令人信服的,在一些简单的问题中,可取为一常数,满足01,如取0.5。,在权值的修改公式中,往往还加入一个惯性项(或称为动量项) 即 (218) 式中 表示第L层第i个神经元与上一层第j个神经元之间的连接权的当前修改值, 表示上一个学习周期对同一个学习样本的权值修改值。 惯性项修正系数应与协调选取,较大的可以改善网络的收敛速度,但对提高网络的收敛精度没有积极的作用,对于简单的情况,取0.5。,(4)在设置各训练样本的理想输出分量时, 有时 可取为接近1,0的数,如0.9,0.1等而不直接取为1.0,因为单个神经元的转换函数大都是采用Sigmoid函数,因而输出层各神经元的实际输出值,只能接近于1或者0,而不能达到1或者0。 (5)在学习开始时,必须给每个连接权赋初值。在实际的网络训练过程中,通常的处理方法是给每一个连接权赋以-1至1之间的随机数。,BP算法学习的目的是为了寻找连接权 ,使得 趋于全局最小,然而在实际操作时而只能使之趋于一个相对大一点的E值,称为局部最优,如何避免在学习过程中陷入局部最小是BP算法的一大难题。 当出现局部最优的情况下,表现出来的特征是:各数值收敛到某一稳定值,而误差值却不是最小,这时可以按下式判定: j=0,1,2,N-1 式中1,为一小数,通常00.2。如符合上式,则认为此时BP网络陷入局部极小点。,(1)网络结构及学习参数的确定 (2)网络状态初始化 (3)提供学习样本 (4)学习开始 (5)是否满足 ?满足执行第(6)步,否则返回(4)步 (6)是否满足 ?若是则执行第(7)步,否则返回第(2)步 (7)停止,输入输入层,隐含层,输出层的神经元数目,步长以及惯性校正系数,数值收敛因子及误差收敛因子。,用较小的(绝对值为1以内)随机数对网络权值,阈值置初值。,输入向量xp(p=1,2,P)和目标向量tp(p=1,2,P),对每一个样本进行如下操作: a、计算网络隐含层及输出层各神经元的输出 b、计算训练误差 (输出层) (隐含层) c、修改权值和阈值 (递推公式),1、要求掌握常用神经网络(BP、ART、Hopbield、BAM)的结构,算法,特点,应用。 2、能在MATLAB软件上完成BP、ART网络的设计 3、了解BP、ART网络在自动控制,模式识别,故障诊断中的应用。,此讲结束, 欢迎听讲!,下节课再见!,后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用,主要经营:网络软件设计、图文设计制作、发布广告等 公司秉着以优质的服务对待每一位客户,做到让客户满意!,致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类

温馨提示

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

评论

0/150

提交评论