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

上传人:牧羊曲112 文档编号:5295250 上传时间:2023-06-23 格式:PPT 页数:20 大小:450KB
返回 下载 相关 举报
神经网络优化方法(bp算法缺陷).ppt_第1页
第1页 / 共20页
神经网络优化方法(bp算法缺陷).ppt_第2页
第2页 / 共20页
神经网络优化方法(bp算法缺陷).ppt_第3页
第3页 / 共20页
神经网络优化方法(bp算法缺陷).ppt_第4页
第4页 / 共20页
神经网络优化方法(bp算法缺陷).ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《神经网络优化方法(bp算法缺陷).ppt》由会员分享,可在线阅读,更多相关《神经网络优化方法(bp算法缺陷).ppt(20页珍藏版)》请在三一办公上搜索。

1、第3章 神经网络优化方法,3.1 BP网络学习算法的改进,标准BP算法的误差空间是N维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着N个权值,单权值,双权值,3.1 BP网络学习算法的改进,BP网络学习算法存在的问题存在平坦区域影响-误差下降缓慢,影响收敛速度。原因-误差对权值的梯度变化小接近于零 由各节点的净输入过大而引起。分析:激活函数为Sigmod函数,3.1 BP网络学习算法的改进,存在平坦区域的原因分析,权值修正量:,输出的导数:,3.1 BP网络学习算法的改进,存在平坦区域的原因分析:第一种可能是 充分接近第二种可能是 充分接近0么

2、三种可能是 充分接近1 造成平坦区的原因:各节点的净输入过大,对应着误差的某个谷点,对应着误差的平坦区,3.1 BP网络学习算法的改进,存在多个极小点影响-易陷入局部最小点,原因:以误差梯度下降为权值调整原则,误差曲面上可能存在多个梯度为0的点,多数极小点都是局部极小,即使是全局极小往往也不是唯一的,使之无法辨别极小点的性质导致的结果:使得训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。,3.1 BP网络学习算法的改进,BP算法缺陷小结 易形成局部极小而得不到全局最优;训练次数多使得学习效率低,收敛速度慢;隐节点的选取缺乏理论指导;训练时学习新样本有遗忘旧样本的趋势。针对上

3、述问题,国内外已提出不少有效的改进算法,下面将介绍其中几种较常用的方法。,消除样本输入顺序影响的改进算法,在线学习方式时,网络受后面输入样本的影响较大,严重时,会影响用户要求的训练精度。为了消除这种样本顺序对结果的影响,可以采用批处理学习方式,即使用一批学习样本产生的总误差来调整权值,用公式表示如下:解决了因样本输入顺序引起的精度问题和训练的抖动问题。但是,该算法的收敛速度相对来说还是比较慢的。,消除样本输入顺序影响的改进算法,算法流程图,网络初始化,计算输出层权值调值,计算隐含层权值调值,计算全局误差,是,结束,判断是否结束?,否,更新权值,3.1.2 附加动量的改进算法,在反向传播法的基础

4、上在每一个权值(或阈值)的变化上加上一项正比于上一次权值(或阈值)变化量的值,并根据反向传播法来产生新的权值(或阈值)变化 带有附加动量因子的权值调节公式为:可以防止的出现即最后一次权值的变化量为0,有助于使网络从误差曲面的局部极小值中跳出。但对于大多数实际应用问题,该法训练速度仍然很慢。MATLAB中的工具函数traingdm()即对应于附加动量法。,3.1.3 采用自适应调整参数的改进算法,采用自适应调整参数的改进算法的基本设想是学习率应根据误差变化而自适应调整,以使权系数调整向误差减小的方向变化,其迭代过程可表示为:在很小的情况下,采用自适应调整参数的改进算法仍然存在权值的修正量很小的问

5、题,致使学习率降低。MATLAB中的工具函数traingda()即对应于自适应调整参数法。,3.1.4 使用弹性方法的改进算法,BP网络通常采用Sigmoid隐含层。当输入的函数很大时,斜率接近于零,这将导致算法中的梯度幅值很小,可能使网络权值的修正过程几乎停顿下来。弹性方法只取偏导数的符号,而不考虑偏导数的幅值。其权值修正的迭代过程可表示为:在弹性BP算法中,当训练发生振荡时,权值的变化量将减小;当在几次迭代过程中权值均朝一个方向变化时,权值的变化量将增大。因此,使用弹性方法的改进算法,其收敛速度要比前几种方法快得多,3.1.5 使用拟牛顿法的改进算法,梯度法的缺点是搜索过程收敛速度较慢,牛

6、顿法在搜索方向上比梯度法有改进,它不仅利用了准则函数在搜索点的梯度,而且还利用了它的二次导数,就是说利用了搜索点所能提供的更多信息,使搜索方向能更好地指向最优点。它的迭代方程为:收敛速度比一阶梯度快,但计算又较复杂,比较典型的有BFGS拟牛顿法和一步正切拟牛顿法。MATLAB中的工具函数trainbfg()、trainoss()即对应拟牛顿法中的BFGS拟牛顿法和一步正切拟牛顿法。,3.1.6 基于共轭梯度法的改进算法,梯度下降法收敛速度较慢,而拟牛顿法计算又较复杂,共轭梯度法则力图避免两者的缺点。共轭梯度法也是一种改进搜索方向的方法,它是把前一点的梯度乘以适当的系数,加到该点的梯度上,得到新

7、的搜索方向。其迭代方程为:,3.1.6 基于共轭梯度法的改进算法,共轭梯度法比大多数常规的梯度下降法收敛快,并且只需增加很少的存储量和计算量。对于权值很多的网络,采用共轭梯度法不失为一种较好的选择。MATLAB中的工具函数traincgb()、traincgf()、traincgp()即对应于共轭梯度法。,3.1.7 基于Levenberg-Marquardt法的改进算法,梯度下降法在最初几步下降较快,但随着接近最优值,由于梯度趋于零,致使误差函数下降缓慢,而牛顿法则可在最优值附近产生一个理想的搜索方向。Levenberg-Marquardt法实际上是梯度下降法和牛顿法的结合,它的优点在于网络

8、权值数目较少时收敛非常迅速。应用Levenberg-Marquardt优化算法比传统的BP及其它改进算法(如共轭梯度法,附加动量法、自适应调整法及拟牛顿法等)迭代次数少,收敛速度快,精确度高。MATLAB中的工具函数trainlm()即对应Levenberg-Marquardt法的改进算法。,BP神经网络优化算法对比示例,课后练习:BP神经网络优化算法对比,建立一个BP网络,使用各种优化算法对应的学习函数对神经网络进行训练,实现对函数 的逼近,并计算出各种学习方法训练网络时所使用的时间,小结,BP网络学习算法存在的问题BP网络学习算法的改正算法消除样本输入顺序影响的改进算法 附加动量的改进算法 采用自适应调整参数的改进算法 使用弹性方法的改进算法 使用拟牛顿法的改进算法 基于共轭梯度法的改进算法 基于Levenberg-Marquardt法的改进算法 优化算法对比,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号