碧波液压网 欢迎你,游客。 登录 注册

一种改进BP网络学习算法

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  1 引言

  BP网络是目前应用最为广泛的神经网络学习算法,以其良好的非线性映射逼近能力、泛化能力、使用的易实现性等优点,在模式识别、智能控制、信号处理、非线性优化等领域得到了大量的应用,显示了其巨大潜力。但该算法目前还不完善,本文针对常规BP算法存在收敛速度缓慢等问题,在变学习率算法的基础上提出了一种改进BP算法:根据神经网络各层权值的调整速度不同这一事实,使网络各层相应采用不同的学习率,从而使各层的学习速度相匹配,并用交叉熵作为性能函数,以保证算法具有更快的收敛性。将改进的BP算法用于奇偶数判别问题,实验结果与其它类似的方法比较,表明改进后的算法能够大大降低网络迭代次数,缩短网络训练时间,有效地提高网络的收敛速度和学习精度,增强算法的可实用性。

  2 基本BP算法及其缺陷

  基本BP算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信号从输入层经隐层神经元处理传向输出层,每一层神经元状态只影响下一层神经元的状态。如果输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的联接通道返回,并修改各层神经元的权值和阈值,直致网络误差减小到要求的精度。

  BP算法的最大缺陷是学习效率低、速度慢。这主要是由于基本BP算法中的学习率是个常数值,如果该值太大,可能出现不恰当的震荡,甚至导致发散。为了保证算法的收敛性,学习速率必须是一个较小值,导致BP算法的收敛不可能较快,并且在接近极小值处,梯度变化值逐渐趋于零,算法的收敛速度就会特别慢。

  3 动态学习率算法

  在基本BP算法中,对于决定网络学习训练速度的学习率η的值选取,到目前为止还没有任何理论判据,实际应用中,通常凭经验或试算选取。为解决该问题,Wasser-man于

  

  

  

  

  6 仿真实验

  现通过“判别一位整数的奇偶性”问题对上述改进法算、传统BP算法及文献[2]的算法进行实验比较。网络输入层、隐含层、输出层神经元个数确定如下:本实验采用二进制数样本,故输入层神经元个数为4;输出层有1个神经元,如样本为奇数,期望输出为1,如样本为偶数,期望输出为0;对于隐含层,取隐含层神经元个数为1到15,采用隐层神经元数目区间探测法,用改进的BP算法进行反复训练,选取较优的隐层神经元个数。从训练的各区间上下边界隐层数、误差下降幅度结果、误差下降幅度最大的区间中隐含层对应的误差结果得知,隐层神经元数为4。故BP网络采用4-4-1的结构,算法在matlab7下编程实现,样本集如表1所示。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: 神经网络
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论