BP神经网络的缺点及改进

BP神经网络的缺点及改进

ID:41152720

大小:481.77 KB

页数:48页

时间:2019-08-17

BP神经网络的缺点及改进_第1页
BP神经网络的缺点及改进_第2页
BP神经网络的缺点及改进_第3页
BP神经网络的缺点及改进_第4页
BP神经网络的缺点及改进_第5页
资源描述:

《BP神经网络的缺点及改进》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章:前馈网络2.5.5BP算法的问题1.BP算法的问题BP模型具有良好的逼近与学习特性,实现简单,因此得到广泛重视,并迅速走向应用.但BP算法在应用中依然存在不少问题,如:学习参数的选取•初始权值的选取;•学习速率的选取;•期望误差的选取.2.5.5BP算法的问题结构设计•网络的层数;•隐含层的神经元数;数据标准化收敛性问题欠拟合与过拟合问题2.5.5BP算法的问题A.学习参数的选取A1.初始权值的选取BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP算法收敛于哪个局部

2、极小点或是全局极小点。因此网络权值的初始化决定了训练从误差曲面的哪一点开始,很重要。2.5.5BP算法的问题神经元的激活函数多是关于零点对称的函数,为了加快训练速度和防止网络瘫痪,初始权值应选择在使各节点的初始净输入落在函数的零点附近。一般取初始权值在(-1,1)之间或更小范围的随机数.2.5.5BP算法的问题存在平坦区域影响--------误差下降缓慢,影响收敛速度。原因--------误差对权值的梯度变化小--接近于零。由各节点的净输入过大而引起!分析:激活函数为Sigmod函数存在平坦区域的原因分析1y

3、ok()==fyi()o−yi1+e−−yiyiee11+−输出的导数:yoo′()k==−−yi22yi(1++ee)(1)=−yok()(1yok())oo∂∂ee∂yi==o−()khok()δoh∂∂wyi∂whooho权值修正量:δ()(()kd=−kyo())kyok′()oooo=−(d()kyok())(1−yok())yok()oooo存在平坦区域的原因分析:–第一种可能是yok()充分接近dk()对应着误差的某个谷点oo–第二种可能是yok()充分接近0对应着误差的平坦区o–第三种可能是yok()充分接

4、近1oyok()造成平坦区的原因:o1.00.5各节点的净输入过大yi02.5.5BP算法的问题A2.学习速率学习速率决定每一次循环训练中所产生的权值变化量.大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢;一般情况下倾向于选取较小的学习速率以保证系统的稳定性;学习速率的选取范围在0.01~0.8之间.2.5.5BP算法的问题对于较复杂的网络,在误差曲面的不同部位可能需要不同的学习速率.为了减少寻找学习速率的训练次数以及训练时间,比较合适的方法是采用变化的自适应学习速率,使网络

5、的训练在不同的阶段设置不同大小的学习速率.对已知如下二阶偏导2−1∂Eη=opt2∂w则由非线性数值优化牛顿法的思想,有BP算法的学习速率一般应满足:η<ηopt2.5.5BP算法的问题A3.期望误差的选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值,这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定的。一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络.2.5.5BP算法的问题B.结构设计BP网络的训练就是通

6、过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一阈值。虽然理论上早已经证明:具有1个隐层(采用S转换函数)的BP网络可实现对任意函数的任意逼近。但遗憾的是,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律的问题,目前在很大程度上还需要依靠设计者的经验。因此,通过训练样本的学习(训练)建立合理的BP神经网络模型的过程,在国外被称为“艺术创造的过程”,是一个复杂

7、而又十分烦琐和困难的过程。2.5.5BP算法的问题B1.网络的层数增加层数可以进一步的降低误差,提高精度,但同时也使网络复杂化.另外不能用仅具有非线性激活函数的单层网络来解决问题.因为对于只能用非线性函数解决的问题,单层精度又不够高,也只有增加层才能达到期望的结果.2.5.5BP算法的问题一般认为,增加隐层数可以降低网络误差,提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的NN模型能够以任

8、意精度逼近任何有理函数。显然,这是一个存在性结论。在设计BP网络时可参考这一点,应优先考虑3层BP网络(即有1个隐层)。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。2.5.5BP算法的问题B2.隐含层神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。