神经网络优化方法(bp算法缺陷)_第1页
神经网络优化方法(bp算法缺陷)_第2页
神经网络优化方法(bp算法缺陷)_第3页
神经网络优化方法(bp算法缺陷)_第4页
神经网络优化方法(bp算法缺陷)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能中国网提供学习支持智能中国网提供学习支持a1第第3 3章章 神经网络优化方法神经网络优化方法23.1 BP网络学习算法的改进标准标准BP算法的误差空间是算法的误差空间是N维空间中一个形状维空间中一个形状极为复杂的曲面,该曲面上的每个点的极为复杂的曲面,该曲面上的每个点的“高度高度对应于一个误差值,每个点的坐标向量对应对应于一个误差值,每个点的坐标向量对应着着N个权值个权值单权值单权值双权值双权值33.1 BP网络学习算法的改进pBPBP网络学习算法存在的问题网络学习算法存在的问题存在平坦区域影响影响-误差下降缓慢,影响收敛速度。误差下降缓慢,影响收敛速度。原因原因-误差对权值的梯度变化小接

2、近误差对权值的梯度变化小接近于零于零 由各节点的净输入过大而引起。由各节点的净输入过大而引起。p分析:激活函数为分析:激活函数为SigmodSigmod函数函数43.1 BP网络学习算法的改进p存在平坦区域的原因分析存在平坦区域的原因分析( )( )( )( )( )( )( )( )(1( )( )oohhoohoooooooooyieek hokwyiwkdkyokyokdkyokyokyok 221( )()111( )(1)(1)( )(1( )oyiyiyioyiyiooyokf yieeeyokeeyokyok53.1 BP网络学习算法的改进( )oyok( )odk( )oyok

3、 存在平坦区域的原因分析:存在平坦区域的原因分析:第一种可能是 充分接近第二种可能是 充分接近0么三种可能是 充分接近1 造成平坦区的原因:造成平坦区的原因: 各节点的净输入过大( )oyo k对应着误差的某个谷点对应着误差的某个谷点 对应着误差的平坦区对应着误差的平坦区 1.0 0.5 yi 0 ( )oyok63.1 BP网络学习算法的改进p存在多个极小点存在多个极小点影响-易陷入局部最小点 原因:原因:以误差梯度下降为权值调整原那么,以误差梯度下降为权值调整原那么,误差曲面上可能存在多个梯度为误差曲面上可能存在多个梯度为0 0的点,多数极小点都是的点,多数极小点都是局部极小,即使是全局极

4、小往往也不是唯一的,使之局部极小,即使是全局极小往往也不是唯一的,使之无法区分极小点的性质无法区分极小点的性质导致的结果:导致的结果:使得训练经常陷入某个局部极小点而不能自拔,从而使训使得训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。练无法收敛于给定误差。73.1 BP网络学习算法的改进p BP BP算法缺陷小结算法缺陷小结p 易形成局部极小而得不到全局最优;易形成局部极小而得不到全局最优;p 训练次数多使得学习效率低,收敛速度慢;训练次数多使得学习效率低,收敛速度慢;p 隐节点的选取缺乏理论指导;隐节点的选取缺乏理论指导;p 训练时学习新样本有遗忘旧样本的趋势。训练时学

5、习新样本有遗忘旧样本的趋势。p 针对上述问题,国内外已提出不少有效的针对上述问题,国内外已提出不少有效的改进算法,下面将介绍其中几种较常用的方法。改进算法,下面将介绍其中几种较常用的方法。8 p在线学习方式时,网络受后面输入样本的影响较大,在线学习方式时,网络受后面输入样本的影响较大,严重时,会影响用户要求的训练精度。为了消除这种样严重时,会影响用户要求的训练精度。为了消除这种样本顺序对结果的影响,可以采用批处理学习方式,即使本顺序对结果的影响,可以采用批处理学习方式,即使用一批学习样本产生的总误差来调整权值,用公式表示用一批学习样本产生的总误差来调整权值,用公式表示如下:如下:p解决了因样本

6、输入顺序引起的精度问题和训练的抖动解决了因样本输入顺序引起的精度问题和训练的抖动问题。但是,该算法的收敛速度相对来说还是比较慢的。问题。但是,该算法的收敛速度相对来说还是比较慢的。 p1( )( )mijijohkwwk ho k9算算法法流程图流程图是是结束结束否否103.1.2 3.1.2 附加动量的改进算法附加动量的改进算法p在反向传播法的根底上在每一个权值或阈值的变化在反向传播法的根底上在每一个权值或阈值的变化上加上一项正比于上一次权值或阈值变化量的值,上加上一项正比于上一次权值或阈值变化量的值,并根据反向传播法来产生新的权值或阈值变化并根据反向传播法来产生新的权值或阈值变化 p带有附

7、加动量因子的权值调节公式为带有附加动量因子的权值调节公式为 : :p可以防止的出现即最后一次权值的变化量为可以防止的出现即最后一次权值的变化量为0 0,有助于使,有助于使网络从误差曲面的局部极小值中跳出。但对于大多数实网络从误差曲面的局部极小值中跳出。但对于大多数实际应用问题,该法训练速度仍然很慢。际应用问题,该法训练速度仍然很慢。 pMATLABMATLAB中的工具函数中的工具函数traingdm()traingdm()即对应于附加动量法。即对应于附加动量法。(1) (1)f( ( )( ( )(1)cckmkmkkwwww113.1.3 3.1.3 采用自适应调整参数的改进算法采用自适应调

8、整参数的改进算法p采用自适应调整参数的改进算法的根本设想是学习采用自适应调整参数的改进算法的根本设想是学习率应根据误差变化而自适应调整,以使权系数调整率应根据误差变化而自适应调整,以使权系数调整向误差减小的方向变化,其迭代过程可表示为向误差减小的方向变化,其迭代过程可表示为 :p在很小的情况下,采用自适应调整参数的改进算法在很小的情况下,采用自适应调整参数的改进算法仍然存在权值的修正量很小的问题,致使学习率降仍然存在权值的修正量很小的问题,致使学习率降低。低。pMATLABMATLAB中的工具函数中的工具函数traingda()traingda()即对应于自适应调即对应于自适应调整参数法。整参

9、数法。 (1)( )f( ( )kkk www123.1.4 3.1.4 使用弹性方法的改进算法使用弹性方法的改进算法pBPBP网络通常采用网络通常采用SigmoidSigmoid隐含层。当输入的函数很大时,隐含层。当输入的函数很大时,斜率接近于零,这将导致算法中的梯度幅值很小,可能斜率接近于零,这将导致算法中的梯度幅值很小,可能使网络权值的修正过程几乎停顿下来。弹性方法只取偏使网络权值的修正过程几乎停顿下来。弹性方法只取偏导数的符号,而不考虑偏导数的幅值。其权值修正的迭导数的符号,而不考虑偏导数的幅值。其权值修正的迭代过程可表示为代过程可表示为 :p在弹性在弹性BPBP算法中,当训练发生振荡

10、时,权值的变化量算法中,当训练发生振荡时,权值的变化量将减小;当在几次迭代过程中权值均朝一个方向变化时,将减小;当在几次迭代过程中权值均朝一个方向变化时,权值的变化量将增大。因此,使用弹性方法的改进算法,权值的变化量将增大。因此,使用弹性方法的改进算法,其收敛速度要比前几种方法快得多其收敛速度要比前几种方法快得多 (1)( ) ( ( )(1)( f( ( )kkkksignk wwwww133.1.5 3.1.5 使用拟牛顿法的改进算法使用拟牛顿法的改进算法p梯度法的缺点是搜索过程收敛速度较慢,牛顿法在搜索梯度法的缺点是搜索过程收敛速度较慢,牛顿法在搜索方向上比梯度法有改进,它不仅利用了准那

11、么函数在搜方向上比梯度法有改进,它不仅利用了准那么函数在搜索点的梯度,而且还利用了它的二次导数,就是说利用索点的梯度,而且还利用了它的二次导数,就是说利用了搜索点所能提供的更多信息,使搜索方向能更好地指了搜索点所能提供的更多信息,使搜索方向能更好地指向最优点。它的迭代方程为向最优点。它的迭代方程为 :p收敛速度比一阶梯度快,但计算又较复杂,比较典型的收敛速度比一阶梯度快,但计算又较复杂,比较典型的有有BFGSBFGS拟牛顿法和一步正切拟牛顿法。拟牛顿法和一步正切拟牛顿法。pMATLABMATLAB中的工具函数中的工具函数trainbfg()trainbfg()、trainoss()traino

12、ss()即对应拟即对应拟牛顿法中的牛顿法中的BFGSBFGS拟牛顿法和一步正切拟牛顿法。拟牛顿法和一步正切拟牛顿法。 1(1)( )f( ( )kkkwwDw143.1.6 3.1.6 基于共轭梯度法的改进算法基于共轭梯度法的改进算法p梯度下降法收敛速度较慢,而拟牛顿法计算又较复杂,梯度下降法收敛速度较慢,而拟牛顿法计算又较复杂,共轭梯度法那么力图防止两者的缺点。共轭梯度法也是共轭梯度法那么力图防止两者的缺点。共轭梯度法也是一种改进搜索方向的方法,它是把前一点的梯度乘以适一种改进搜索方向的方法,它是把前一点的梯度乘以适当的系数,加到该点的梯度上,得到新的搜索方向。其当的系数,加到该点的梯度上,

13、得到新的搜索方向。其迭代方程为迭代方程为 :(1)( )( ) ( )kkk S kww( )f( ( )(1) (1)S kkkS kwv( )k 最佳步长22f( ( )(1)f( (1)kkkwvw153.1.6 3.1.6 基于共轭梯度法的改进算法基于共轭梯度法的改进算法p共轭梯度法比大多数常规的梯度下降法共轭梯度法比大多数常规的梯度下降法收敛快,并且只需增加很少的存储量和计收敛快,并且只需增加很少的存储量和计算量。算量。p对于权值很多的网络,采用共轭梯度法对于权值很多的网络,采用共轭梯度法不失为一种较好的选择。不失为一种较好的选择。pMATLABMATLAB中的工具函数中的工具函数t

14、raincgb()traincgb()、traincgf()traincgf()、traincgp()traincgp()即对应于共轭梯即对应于共轭梯度法。度法。 163.1.7 3.1.7 基于基于Levenberg-MarquardtLevenberg-Marquardt法的改进算法法的改进算法p梯度下降法在最初几步下降较快,但随着接近最优值,梯度下降法在最初几步下降较快,但随着接近最优值,由于梯度趋于零,致使误差函数下降缓慢,而牛顿法那由于梯度趋于零,致使误差函数下降缓慢,而牛顿法那么可在最优值附近产生一个理想的搜索方向。么可在最优值附近产生一个理想的搜索方向。pLevenberg-Ma

15、rquardtLevenberg-Marquardt法实际上是梯度下降法和牛顿法法实际上是梯度下降法和牛顿法的结合,它的优点在于网络权值数目较少时收敛非常迅的结合,它的优点在于网络权值数目较少时收敛非常迅速。应用速。应用Levenberg-MarquardtLevenberg-Marquardt优化算法比传统的优化算法比传统的BPBP及及其它改进算法如共轭梯度法,附加动量法、自适应调其它改进算法如共轭梯度法,附加动量法、自适应调整法及拟牛顿法等迭代次数少,收敛速度快,精确度整法及拟牛顿法等迭代次数少,收敛速度快,精确度高。高。pMATLABMATLAB中的工具函数中的工具函数trainlm()

16、trainlm()即对应即对应Levenberg-Levenberg-MarquardtMarquardt法的改进算法。法的改进算法。 17BPBP神经网络优化算法比照例如神经网络优化算法比照例如18课后练习:课后练习:BPBP神经网络优化算法比照神经网络优化算法比照p建立一个建立一个BPBP网络,使用各种优化算法对网络,使用各种优化算法对应的学习函数对神经网络进行训练,实现应的学习函数对神经网络进行训练,实现对函数对函数 的逼近,并计算出各的逼近,并计算出各种学习方法训练网络时所使用的时间种学习方法训练网络时所使用的时间sin( )xyex19小结小结pBPBP网络学习算法存在的问题网络学习算法存在的问题pBPBP网络学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论