- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
神经网络PPT
谢谢! BP神经网络的讲解 BP神经网络 1986年Rumelhart等提出了多层前馈网络误差反向传播(Error Back Propa—gation,简称BP)算法,通过数学上的详细分析和完整的推导,系统地解决了多层神经元网络中隐层单元连续权的学习问题,从而用BP算法克服了简单感知器不能解决的XOR和其他一些问题。因为多层前馈网络的训练经常采用误差反向传播算法,所以通常人们都将多层前馈网络直接称为BP网络。由于BP算法得到广泛的使用,BP模型已成为神经网络的重要模式之一。 BP网络学习方法的基本思想是将训练过程分为两个阶段,第一阶段正向传播,输入信息从输入层经隐含层单元处理后传向输出层,每一层神经元的状态只影响下一层神经元状态。倘若在输出层得不到希望的输出,则转入第二阶段反向传播,将误差信号沿原来的神经元连接通路返回。通过修改各层神经元的权值,逐次地向输入层传播进行计算。这样,反复地运用这两个过程,使得误差信号最小,最后使得信号误差达到允许的范围之内,网络就结束学习训练过程。 BP网络主要用于: 1)函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数; 2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来; 3)分类:把输人矢量以所定义的合适方式进行分类; 4)数据压缩:减少输出矢量维数以便于传输或存贮. 1)多层网络结构 多层BP网络不仅有输入节点、输出节点,而且有一层或多层隐节点,如下图: 1、BP网络结构 2)传递函数一般为(0,1)S型函数: 3)误差函数 对第P个样本误差计算公式为: 式中tpi,opi分别为期望和网络的计算输出 2、BP网络学习公式 网络学习公式推导的指导思想是,对网络权值(ωij,Tli)的修正与阈值(θ)的修正,使误差函数(E)沿负梯度方向下降。BP网络三层节点表示为,输入节点: xj ,隐节点: yi ,输出节点: ol 输入节点与隐节点间的网络权值为ωij ,隐节点与输出节点间的网络权值为Tli 。当输出节点的期望输出为tl时,BP模型的计算公式如下: (1)输出节点的输出计算公式 1)隐节点的输出: 其中 2)输出节点的计算输出: 其中 3)输出节点的误差公式: (2)输出层(隐节点到输出节点间)的修正公式 1)误差控制 所有样本误差: 其中p为样本数,n为输出节点数 2)误差公式: 3)权修正值: 其中k为迭代次数 4)阀值修正: (3)隐节点层(输入节点到隐节点间)的修正公式 1)误差控制 2)权值修正 3)阀值修正 3、MATLAB神经网络工具箱中的BP网络 (1)BP网络中的神经元模型 下图给出了一个基本的神经元模型,它具有R个输入,每个输入都通过一个适当的权值 与神经元相连,神经元的输出可表示成 BP网络中基本神经元的激活函数必须处处可微,所以,经常使用的是S型的对数或正切激活函数或线性函数。 (2)BP网络结构 典型的BP网络结构如下图。BP网络通常有一个或多个隐层,隐层中的神经元均采用S型变换函数,输出层的神经元采用纯线性变换函数。 (2)MATLAB中有关BP网络的重要函数 1)神经元上的传递函数 ①purelin利用Widrow—Hoff或BP算法训练的神经元的传递函数经常采用线性函数。神经元可采用的最简单的函数,即线性函数,它只是简单地将神经元输入经阈值调整后传递到输出。 purelin(n)函数可得到输入矢量为n时网络层输出矩阵。 purelin(z,b)函数可用于成批处理矢量,并且提供阈值的情况。这时阈值矢量b与加权输入距阵z是区分的。阈值矢量b加到z的每个矢量中去,以形成网络的输人矩阵,调用后得到的结果为矩阵。 purelin(p)函数中,P指出传递函数特性的名称,调用后可得到所询问的特性,即: purelin(’delta ‘)指出delta函数名称。 purelin(‘init’)指出标准初始化函数名称。 purelin(‘name ‘)指出传递函数的全称。 purelin(‘output ‘)指出包含传递函数最大和最小输出值的二元矢量。 ②Tansig双曲正切S型(sigmoid)传递函数。双曲正切sigmoid函数用于将神经元的输入范围为(一∞,+ ∞)映射到(一1,+1)。正切sigmoid函数是可微函数,因此很适合于利用BP算法训练神经网络。函数表达式为: tansig(n)=tanh(n) tansig(n)
文档评论(0)