BP神经网络_能源化工_工程科技_专业资料.pptVIP

BP神经网络_能源化工_工程科技_专业资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BP神经网络_能源化工_工程科技_专业资料

1.2.3 反向传播学习的BP算法 反向传播算法也称BP算法。由于这种算法在本质上是一种神经网络学习的数学模型,所以,有时也称为BP模型。 BP算法是为了解决多层前向神经网络的权系数优化而提出来的;所以,BP算法也通常暗示着神经网络的拓扑结构是一种无反馈的多层前向网络。故而.有时也称无反馈多层前向网络为BP模型。 在这里,并不要求过于严格去争论和区分算法和模型两者的有关异同。感知机学习算法是一种单层网络的学习算法。在多层网络中.它只能改变最后权系数。因此, 感知机学习算法不能用于多层神经网络的学习。1986年,Rumelhart提出了反向传播学习算法,即BP(backpropagation)算法。这 种算法可以对网络中各层的权系数进行修正,故适用于多层网络的学习。BP算法是目前最广泛用的神经网络学习算法之一,在自动控制中是最有用的学习算法。 BP算法是用于前馈多层网络的学习算法,前馈多层网络的结构一般如图1—12所示 一、BP算法的原理 图1-12? 网络学习结构 它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。 隐层虽然和外界不连接.但是,它们的状态则影响输入输出之间的关系。这也是说,改变隐层的权系数,可以改变整个多层神经网络的性能。 设有一个m层的神经网络,并在输入层加有样本X;设第k层的i神经元的输入总和表示为Ui?k?,输出Xi?k?;从第k—1层的第j个神经元到第k层的第i个神经元的权系数为Wij?各个神经元的激发函数为f,则各个变量的关系可用下面有关数学式表示: Xi?k?=f(Ui?k?)?? (1-32) (1-33) 反向传播算法分二步进行,即正向传播和反向传播。这两个过程的工作简述如下。 1.正向传播 输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。 2.反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。 二、BP算法的数学表达 BP算法实质是求取误差函数的最小值问题。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。 为了说明BP算法,首先定义误差函数e。取期望输出和实际输出之差的平方和为误差函数,则有: (1-34) 其中:Yi?是输出单元的期望值;它也在这里用作教师信号; Xi?m?是实际输出;因为第m层是输出层。 由于BP算法按误差函数e的负梯度方向修改权系数,故权系数Wij?的修改量Awij?,和e (1-35) 也可写成 (1-36) 其中:η?为学习速率,即步长。 很明显,根据BP算法原则,求ae/aWij?最关键的。下面求ae/aWij?;有 由于 故而 从而有 (1-37) (1-38) (1-39) (1-40) 令 令 令 令 则有学习公式: 其中:η?为学习速率,即步长,一般取0-1间的数。 从上面可知,di?k?实际仍末给出明显的算法公式,下面求di?k?的计算公式。 (1-41) (1-42) 从式(1-32)可知在式(1-43)中,有 为了方便进行求导,取f为连续函数。一般取非线性连续函数,例如Sigmoid函数。当取f为非对称Sigmoid函数时,有: (1-43) (1-44) 则有:f(Ui?k?)=f(Ui?k?)(1-f(Ui?k?)) ???????????? =Xi?k?(1-Xi?k?)??????????????? (1-45) 再考虑式(1—43)中的偏微分项ae/aXi?k?,有两种情况需考虑的: 如果k=m,则是输出层,这时有Yi?是输出期望值,它是常数。从式(1-34)有 从而有di?m?=Xi?m?(1-Xi?m?)(Xi?m?-Yi?) 2.如果km,则该层是隐层.这时应考虑上一层对它的作用,故有: 从式(1—41)中,可知有: (1-46) (1-48) (1-49) (1-47) 从式(1—33)中,可知有: 故而有 最后有: (1-51) (1-50) (1-52) 从上述过程可知:多层网络的训练方法是把一个样本加到输入层,并根据向前传播的规则: ? Xi?k?=f(Ui?k?) 不断一层一层向输出层传递,最终在输出层可以得到输出Xi?m?。 把Xim和期望输出Yi进行比较.如果两者不等,则产生误差信号e,接着则按下面公式反向传播修改权系数: (1-53) 其中 di?m?=Xi?m?(1-Xi?m?)(Xi?m?-Yi?) 上面公式中,求取本层di?k?时,要

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档