- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bp算法的改进
第四章 误差反向传播神经网络 4.6 误差反传(BP)算法的改进 三层BP网络 模型的数学表达 输入向量: X=(x1,x2,…,xi,…,xn)T 隐层输出向量: Y=(y1,y2,…,yj,…,ym)T 输出层输出向量: O=(o1,o2,…,ok,…,ol)T 期望输出向量:d=(d1, d2,…,dk,…,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,…,Vj,…,Vm) 隐层到输出层之间的权值矩阵:W=(W1,W2,…,Wk,…,Wl) 各个变量之间如何建立联系,来描述整个网络? 神经网络的学习 学习的过程: 神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。 学习的本质: 对可变权值的动态调整 学习规则: 权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。 BP算法是一种学习规则 BP算法的基本思想 学习的类型:有导师学习 核心思想: 将输出误差以某种形式通过隐层向输入层逐层反传 学习的过程: 信号的正向传播 误差的反向传播 BP算法的学习过程 正向传播: 输入样本---输入层---各隐层---输出层 判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出(教师信号)不符 误差反传 误差以某种形式在各层表示----修正各层单元的权值 网络输出的误差减少到可接受的程度 进行到预先设定的学习次数为止 建立权值变化量与误差之间的关系 输出层与隐层之间的连接权值调整 隐层和输入层之间的连接权值调整 误差曲面的分布--BP算法的局限性 曲面的分布特点--------算法的局限性 (1)存在平坦区域--------误差下降缓慢,影响收敛速度 (2)存在多个极小点------易陷入局部最小点 曲面分布特点1:存在平坦区域 平坦--误差的梯度变化小-- 接近于零 存在平坦区域的原因分析 接近于零的情况分析 造成平坦区的原因: 各节点的净输入过大 曲面分布特点2:存在多个极小点 误差梯度为零 多数极小点都是局部极小,即使是全局极小往往也不是唯一的。 曲面分布特点2:存在多个极小点 BP算法 ---以误差梯度下降为权值调整原则 误差曲面的这一特点 ---使之无法辨别极小点的性质 导致的结果: 因而训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。 标准BP算法的改进--引言 误差曲面的形状--固有的 算法的作用是什么? 调整权值,找到最优点 那么如何更好地调整权值? 利用算法使得权值在更新的过程中,‘走’合适的路径,比如跳出平坦区来提高收敛速度,跳出局部最小点等等 如何操作? 需要在进入平坦区或局部最小点时进行一些判断,通过改变某些参数来使得权值的调整更为合理。 标准的BP算法内在的缺陷: ⑴ 易形成局部极小而得不到全局最优; ⑵ 训练次数多使得学习效率低,收敛速度慢; ⑶ 隐节点的选取缺乏理论指导; ⑷ 训练时学习新样本有遗忘旧样本的趋势。 针对上述问题,国内外已提出不少有效的改进算法,下面仅介绍其中3种较常用的方法。 标准BP算法的改进 改进1 :增加动量项 改进2:自适应调节学习率 改进3: 引入陡度因子 改进1 :增加动量项 提出的原因: 标准BP算法只按t时刻误差的梯度降方向调整,而没有考虑t时刻以前的梯度方向 ---从而常使训练过程发生振荡,收敛缓慢。 方法: 改进1 :增加动量项 实质: 从前一次权值调整量中取出一部分迭加到本次权值调整量中 作用: 动量项反映了以前积累的调整经验,对于t时刻的调整起阻尼作用。 当误差曲面出现骤然起伏时,可减小振荡趋势,提高训练速度。 改进2:自适应调节学习率 提出的原因: 标准BP算法中,学习率η也称为步长,确定一个从始至终都合适的最佳学习率很难。 平坦区域内,η太小会使训练次数增加; 在误差变化剧烈的区域,η太大会因调整量过大而跨过较窄的“坑凹”处,使训练出现振荡,反而使迭代次数增加。 改进2:自适应调节学习率 基本思想: 自适应改变学习率,使其根据环境变化增大或减小。 基本方法: 设一初始学习率,若经过一批次权值调整后使总误差↑,则本次调整无效,且?=β?(β1 ); 若经过一批次权值调整后使总误差↓,则本次调整有效,且?=θ? (θ1 )。 改进3: 引入陡度因子 提出的原因: 误差曲面上存在着平坦区域。 权值调整进入平坦区的原因是神经元输出进入了转移函数的饱和区。 基本思想: 如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的不饱和区,就可以改变误差函数的形状,从而使调整脱离平坦区。 改进3: 引入陡度因子 基本方法: 在原转移函数中引入
文档评论(0)