几种改进的 BP 算法性能分析
(1)实验条件:Matlab7.10.0(R2010a)分别实现了基本BP算法以及七种改进的BP算法(动量的梯度下降法、量化共轭梯度法、变学习率梯度下降算法、变学习率动量梯度下降法、弹性反向传播算法、L-M优化算法和贝叶斯正则化算法)。实验环境:惠普Presario CQ36笔记本电脑,Inte(R) Core(TM) i3 CPU M330 @ 2.13GHz 2.13GHz,安装内存(RAM) 2.00GB(1.87GB可用),硬盘320GB;运行是在Windows8.1专业版操作系统上完成的。
(2)实验数据:选取经常用到的4个测试函数对以上算法进行实验分析,以便选取预测效果较好的算法进行优化改进。这4个函数含有工程实际中常常碰到的各种特征,以此来衡量几种改进的BP算法具有一定的准确性及说服力。以x代表一个实数类型的向量,n代表维数,xi为其中的第i个分量。
(3)数据及算法参数选取:本文将以下 4 个函数分别取 5000 组值,其中前 4900组值用于训练,后 100 组值用于预测。BP 网络结构为 9-14-1,设定学习速率为 0.1,训练精度为 10-6,BP 神经网络最大训练次数为 20000 次。
(4)实验仿真
① Sphere函数:
(1)
实验中,n=9, 的取值范围为[-1000, 1000]9;
表1 不同 BP 算法对 Sphere 函数预测结果对比
图1 前四种算法预测结果的相对误差曲线(表1)
图2 后四种算法预测结果的相对误差曲线(表1)
②Ronsenbrock函数:
(1)
实验中,n=9, 的取值范围为[-30, 30]9;
表2 不同 BP 算法对 Ronsenbrock 函数预测结果对比
图3 前四种预测结果的相对误差曲线(表2)
图4 后四种预测结果的相对误差曲线(表2)
③Schaffter函数:
(2)
实验中, 1, 2的取值范围为[-5.12, 5.12]2;
表3 不同 BP 算法对 Schaffter 函数预测结果对比
图5 前四种算法预测结果的相对误差曲线(表3)
图6 后四种算法预测结果的相对误差曲线(表3)
④ Ackley函数:
(3)
实验中,n=9, 的取值范围为[-30, 30]9。
表4 不同 BP 算法对 Ackley 函数预测结果对比
图7 前四种算法预测结果的相对误差曲线(表4)
图8 后四种算法预测结果的相对误差曲线(表4)
(5)结果分析:表4.1~表4.4列出了这8种BP算法预测上述4个测试函数性能,图4.1~图4.8给出了这几种BP算法预测结果的相对误差曲线。综合分析可知:
①相同的算法对不同的函数预测时,其预测结果所达到的效果也不同;
②不同的算法在函数预测效果上有优劣之分,而且其预测的优劣顺序不会因为预测函数的不同而发生很大变化,个别预测性能相近的算法可能对不同的函数会有细微的变化,但不会总体发生变化。
研究结果表明, L-M优化法和贝叶斯正则化法对函数的预测效果相对较好。但无论哪种算法,其本质是对BP神经网络的训练函数进行了优化,提高了基本BP的预测性能,而对其初始的权值和阈值未做任何优化处理,在第二章中我们分析遗传优化算法,该算法有搜索全局最优的能力,正好弥补了BP全局搜索能力差的缺陷,鉴于此点考虑,本文提出了利用遗传算法对BP进一步优化。
《来源于科技文献,经本人分析整理,以技术会友,广交天下朋友》
石显:基于遗传算法优化的BP神经网络的回归分析——基于遗传算法优化的 BP 算法设计zhuanlan.zhihu.com