神经网络优化方法(bp算法缺陷).PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能中国网提供学习支持 你们好 3.1 BP网络学习算法的改进 标准BP算法的误差空间是N维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着N个权值 单权值 双权值 3.1 BP网络学习算法的改进 BP网络学习算法存在的问题 存在平坦区域 影响--------误差下降缓慢,影响收敛速度。 原因--------误差对权值的梯度变化小--接近于零 由各节点的净输入过大而引起。 分析:激活函数为Sigmod函数 3.1 BP网络学习算法的改进 存在平坦区域的原因分析 权值修正量: 输出的导数: 3.1 BP网络学习算法的改进 存在平坦区域的原因分析: 第一种可能是 充分接近 第二种可能是 充分接近0 么三种可能是 充分接近1 造成平坦区的原因: 各节点的净输入过大 对应着误差的某个谷点 对应着误差的平坦区 3.1 BP网络学习算法的改进 存在多个极小点 影响------易陷入局部最小点 原因: 以误差梯度下降为权值调整原则, 误差曲面上可能存在多个梯度为0的点,多数极小点都是局部极小,即使是全局极小往往也不是唯一的,使之无法辨别极小点的性质 导致的结果: 使得训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。 3.1 BP网络学习算法的改进 BP算法缺陷小结 ⑴ 易形成局部极小而得不到全局最优; ⑵ 训练次数多使得学习效率低,收敛速度慢; ⑶ 隐节点的选取缺乏理论指导; ⑷ 训练时学习新样本有遗忘旧样本的趋势。 针对上述问题,国内外已提出不少有效的改进算法,下面将介绍其中几种较常用的方法。 3.1.1消除样本输入顺序影响的改进算法 在线学习方式时,网络受后面输入样本的影响较大,严重时,会影响用户要求的训练精度。为了消除这种样本顺序对结果的影响,可以采用批处理学习方式,即使用一批学习样本产生的总误差来调整权值,用公式表示如下: 解决了因样本输入顺序引起的精度问题和训练的抖动问题。但是,该算法的收敛速度相对来说还是比较慢的。 3.1.1消除样本输入顺序影响的改进算法 算法流程图 网络初始化 计算输出层权值调值 计算隐含层权值调值 计算全局误差 是 结束 判断是否结束? 否 更新权值 3.1.2 附加动量的改进算法 在反向传播法的基础上在每一个权值(或阈值)的变化上加上一项正比于上一次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化 带有附加动量因子的权值调节公式为 : 可以防止的出现即最后一次权值的变化量为0,有助于使网络从误差曲面的局部极小值中跳出。但对于大多数实际应用问题,该法训练速度仍然很慢。 MATLAB中的工具函数traingdm()即对应于附加动量法。 3.1.3 采用自适应调整参数的改进算法 采用自适应调整参数的改进算法的基本设想是学习率应根据误差变化而自适应调整,以使权系数调整向误差减小的方向变化,其迭代过程可表示为 : 在很小的情况下,采用自适应调整参数的改进算法仍然存在权值的修正量很小的问题,致使学习率降低。 MATLAB中的工具函数traingda()即对应于自适应调整参数法。 3.1.4 使用弹性方法的改进算法 BP网络通常采用Sigmoid隐含层。当输入的函数很大时,斜率接近于零,这将导致算法中的梯度幅值很小,可能使网络权值的修正过程几乎停顿下来。弹性方法只取偏导数的符号,而不考虑偏导数的幅值。其权值修正的迭代过程可表示为 : 在弹性BP算法中,当训练发生振荡时,权值的变化量将减小;当在几次迭代过程中权值均朝一个方向变化时,权值的变化量将增大。因此,使用弹性方法的改进算法,其收敛速度要比前几种方法快得多 3.1.5 使用拟牛顿法的改进算法 梯度法的缺点是搜索过程收敛速度较慢,牛顿法在搜索方向上比梯度法有改进,它不仅利用了准则函数在搜索点的梯度,而且还利用了它的二次导数,就是说利用了搜索点所能提供的更多信息,使搜索方向能更好地指向最优点。它的迭代方程为 : 收敛速度比一阶梯度快,但计算又较复杂,比较典型的有BFGS拟牛顿法和一步正切拟牛顿法。 MATLAB中的工具函数trainbfg()、trainoss()即对应拟牛顿法中的BFGS拟牛顿法和一步正切拟牛顿法。 3.1.6 基于共轭梯度法的改进算法 梯度下降法收敛速度较慢,而拟牛顿法计算又较复杂,共轭梯度法则力图避免两者的缺点。共轭梯度法也是一种改进搜索方向的方法,它是把前一点的梯度乘以适当的系数,加到该点的梯度上,得到新的搜索方向。其迭代方程为 : 3.1.6 基于共轭梯度法的改进算法 共轭梯度法比大多数常规

文档评论(0)

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

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

1亿VIP精品文档

相关文档