- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10讲 反向传播网络
第二篇 神经网络 7.神经网络简介 8.感知器 9.自适应线性元件 10.反向传播网络 10.反向传播网络 反向传播网络( Back-Propagation NetWork,简称BP 网络}是将W-H 学习规则一般化,对非线性可微分函数进行权值训练的多层网络. BP 网格主要用于: 1 )函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数, 2 )模式识别:用一个特定的输出矢量将它与输入矢量联系起来, 3 )分类:把输入矢量以所定义的合适方式进行分类; 4 )数据压缩:减少输出矢量维数以便于传输或存储 在人工神经网络的实际应用中, 80%-90% 的人工神经网络模型是采用BP 网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分. 10.1 BP 网络模型与结构 BP 网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别表现在激活函数上, BP 网络的激活函数必须是处处可微的,所以它就不能采用二值型的阀值函数{0,1}或符号函数{-1,1} , BP 网络经常使用的是s 型的对数或正切激活函数和线性函数. 这种激活函数所划分的区域不再是线性划分,而是由一个非线性的超平面组成的区域,它的分类比线性划分精确、合理,这种网络的容错性较好.另外一个重要的特点是由于激活函数是连续可微的, 它可以严格利用梯度法进行推算. 因为s 型函数具有非线性放大系数功能,它可以把输入从负无穷大到正无穷大的信号变换成-1 到1 之间输出, 所以采用s 型激活函数可以去处理和逼近非线性的输入/输出关系. 不过,如果在输出层用s 型函数,输出则被限制到一个很小的范围;若采用线性激活函数,则可使网络输出任何值. 所以在一般情况下,在隐含层采用s 型激活函数,而输出层用线性激活函数. 10.2 BP 学习规则 BP 算法是一种监督式的学习算法. 其学习的目的是用网络的实际输出与目标矢量之间的误差修改其权值,使输出A与期望的T尽可能地接近,即使网络输出层的误差平方和达到最小. 它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层。 BP 算法是由两部分组成:信息的正向传递与误差的反向传播.在正向传播过程中, 输入信息从输入经隐含层逐层计算传向输出层, 每一层神经元的状态只影响下一层神经元的状态.如果在输出层没有得到期望的输出, 则计算输出层的误量变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标. 以2层网络为例, 1.信息的正向传递 2 利用梯度下降法求权值变化及误差的反向传播 10.3 BP 网络的训练过程 为了训练一个BP 网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求得误差平方和.当所训练矢量的误差平方和小于误差目标,训练则停止,否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,并重复此过程. 在动手编写网路的程序设计之前,必须首先根据具体的问题给出的输入矢量P 与目标矢量T , 井选定所要设计的神经网络的结构,其中包括以下内容: ① 网络的层数(2)每层的神经元数,③每层的激活函数. 10.3 BP 网络的训练过程 训练步骤: (1))用小的随机数对每一层的权值W 和偏差B 初始化.以保证网络不被大的加权输入饱和,并进行以下参数的设定或初始化: a)期望误差最小值mse b)最大循环次数 c)修正仅值的学习速率lr,一般情况下lr= 0. 0I ~0.7 ; 10.3 BP 网络的训练过程 (2)用newcf.m或newff.m建立一个多层前向网络,如net=newcf(P,T,[5 1], {‘tansig’,’purelin’},’traingd’); newcf建立一个串联前向BP网络 newff建立一个前向BP网络 (3)可以用net=train(net,P,T)来训练网络 BP网络构建 (1)生成BP网络 [S1 S2 …SN]:各层的神经元个数。 :各层的神经元传递函数。 (2)网络训练 (3)网络仿真 例1:用于函数逼近的BP 网路的设计. 神经网络最强大的用处之是在函数逼近上。将过程看成一个黑箱子,通过测量其输入/输出特性, 然后利用所得实际过程的输入/输出数据训练一个神经网络, 使其输出对输入的响应特性具有与被辨识过程相同的外部特性. 有21组单输入矢量和对应的目标矢量,试设计神经网络实现这对数组的函数关系. P=-1:0.1:1; T=[-0.96 -0.577 -0.0729 0.377 0.614 0.66 0.461 0.
文档评论(0)