一种改进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所示。
相关文章
- 2024-10-23海洋渔业科学与技术专业工程力学课程教与学的探讨
- 2024-07-03基于VXI总线的水声基阵信号采集与分析
- 2023-10-19磁光调制锁相椭偏仪与多层磁光薄膜测试系统
- 2024-05-17DAW30-100弯板式称重系统在高速公路计重收费中的应用
- 2024-02-07连续累计自动衡器(皮带秤)耐久性试验的讨论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。