第06章反向传播网络-Read.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06章反向传播网络-Read

第06讲 反向传播网络 给定任意和任意L2函数,存在一个三层BP网络,可以在任意平方误差精度内逼近。 实现任意N个输入向量构成的任何布尔函数的前向网络所需权系数数目为: 我们前面讲到的感知器神经网络和线性神经元网络均为单层网络结构,其传递函数都十分简单,感知器为单边符号函数,线性神经网络为纯线性函数。在此,我们将上面网络结构进行推广,推广到多层网络,并且将传递函数变为非线性可微分函数,这就是BP网络。 反向传播网络(Back—Propagation Network,简称BP网络)是将W—H学习规则一般化,对非线性可微分函数进行权值训练的多层网络。 由于感知器神经网络中神经元的变换函数采用符号函数,其输出为二值量,因此它主要用于模式分类。BP网络是一种多层前向反馈神经网络,其神经元的变换函数是S型函数,因此输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。由于其权值的调整采用反向传播(Backpropagation)的学习算法,因此被称为BP网络。 BP网络主要用于: 1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近—个函数; 2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来; 3)分类:把输入矢量以所定义的合适方式进行分类; 4)数据压缩:减少输出矢量维数以便于传输或存储。 在人工神经网络的实际应用中,80%~90%的人工神经网络模型是采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。在人们掌握反向传播网络的设计之前,感知器和自适应线性元件都只能适用于对单层网络模型的训练,只是后来才得到了进一步拓展。 6.1 BP网络模型与结构 一个具有r个输入和一个隐含层的神经网络模型结构如图6.1所示。 图6.1 具有一个隐含层的神经网络模型结构图 感知器和自适应线性元件的主要差别在激活函数上:前者是二值型的,后者是线性的。BP网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别也表现在激活函数上。BP网络的激活函数必须是处处可微的,所以它就不能采用二值型的阀值函数{0,1}或符号函数{—1,1},BP网络经常使用的是S型的对数或正切激活函数和线性函数。 图6.2所示的是S型激活函数的图形。可以看到f(·)是一个连续可微的函数,其一阶导数存在。对于多层网络,这种激活函数所划分的区域不再是线性划分,而是由一个非线性的超平面组成的区域。它是比较柔和、光滑的任意界面,因而它的分类比线性划分精确、合理,这种网络的容错性较好。另外一个重要的特点是由于激活函数是连续可微的,它可以严格利用梯度法进行推算,它的权值修正的解析式十分明确,其算法被称为误差反向传播法,也简称BP算法,这种网络也称为BP网络。 图6. 2 BP网络S型激活函数 因为S型函数具有非线性放大系数功能,它可以把输入从负无穷大到正无穷大的信号,变换成-1到l之间输出,对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大,所以采用S型激活函数可以去处理和逼近非线性的输入/输出关系。不过,如果在输出层采用S型函数,输出则被限制到一个很小的范围了,若采用线性激活函数,则可使网络输出任何值。所以只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数,在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数。 BP网络的特点: 输入和输出是并行的模拟量; 网络的输入输出关系是各层连接的权因子决定,没有固定的算法; 权因子是通过学习信号调节的,这样学习越多,网络越聪明; 隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响。 6.2 BP学习规则 BP网络的产生归功于BP算法的获得。BP算法属于δ算法,是一种监督式的学习算法。其主要思想为:对于q个输入学习样本:P1,P2,……Pq,已知与其对应的输出样本为:T1,T2,……Tq。学习的目的是用网络的实际输出A1,A2,……Aq,与目标矢量T1,T2,……Tq,之间的误差来修改其权值,使Al,(l=l,2…,q)与期望的Tl尽可能地接近;即:使网络输出层的误差平方和达到最小。它是通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标的。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层的。 BP算法是由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。 为了

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档