基于遗传算法优化的BP神经网络研究应用

2018-05-05 05:42墨蒙赵龙章龚嫒雯吴扬
现代电子技术 2018年9期
关键词:优化方法BP神经网络人工神经网络

墨蒙 赵龙章 龚嫒雯 吴扬

摘 要: 为提高BP神经网络预测模型对超市大米日销售预测的准确性,提出一种基于遗传算法优化的BP神经网络预测方法。介绍了BP神经网络和遗传算法的特点以及存在的缺陷,并进一步研究了BP神经网络和遗传算法相结合的有关技术,利用遗传算法优化BP神经网络的权值和阈值,然后训练BP神经网络预测模型获取最优解,充分发挥了BP神经网络的局部搜索能力和遗传算法的全局搜索能力的优势。仿真结果证明,该方法对超市大米日销售预测具有更高的精度和更好的非线性拟合能力。

关键词: 人工神经网络; BP神经网络; 遗传算法; GA?BP神经网络; 优化方法; 搜索能力

中图分类号: TN711?34; TP183 文献标识码: A 文章编号: 1004?373X(2018)09?0041?04

Abstract: In order to improve the accuracy of daily rice sales forecast in the supermarket by means of BP neural network forecasting model, a BP neural network prediction method based on genetic algorithm optimization is proposed. The characteristics and defects of BP neural network and genetic algorithm are introduced. The relevant technology combining BP neural network and genetic algorithm is studied. The genetic algorithm is used to optimize the weight and threshold of BP neural network, and train the BP neural network prediction model to obtain the optimal solution. The advantages of the local search ability of BP neural network and global search ability of genetic algorithm are fully displayed. The simulation results show that the method has higher accuracy and better non?linear fitting ability for daily rice sales forecast in the supermarket.

Keywords: artificial neural network; BP neural network; genetic algorithm; GA?BP neural network; optimization method; search ability

0 引 言

对人工神经网络(Artificial Neural Network,ANN)的研究始于20世纪40年代,直到20世纪80年代之后人工神经网络的研究才迅速发展起来,它是在模仿大脑神经功能的基础上而建立的一种信息处理系统,即是理论化人脑的模型,人工神经网络是由很多处理单元通过恰当的方式连接构成的非线性系统,具有很好的自适应能力、非线性映射能力以及记忆联想能力[1?2]。

BP(Back Propagation)神经网络是一种基于误差反向传播算法多层前向神经网络,其采用经典的BP算法,由于BP算法是一种基于梯度的最速下降法,所以存在着不可避免的缺陷:学习过程收敛速度慢,网络结构难确定,网络训练易陷入局部极小值,导致应用价值下降。

遗传算法(Genetic Algorithm,GA)是一种模拟生物在自然界中的遗传机制和进化过程而形成的自适应全局搜索最优解的算法,由美国的Holland教授在他的专著《自然界和人工系统的适应性》中首次提出。遗传算法具有良好的并行性、鲁棒性以及全局最优性,既能够降低限于局部最优解的风险,又能够优化BP神经网络的初始权重和阈值,进一步提高了BP神经网络的稳定性,因此可以用于优化BP神经网络[3?4]。

本文针对BP神经网络算法存在的缺陷,提出用遗传算法优化BP神经网络的方案。两者互为补偿,充分利用了BP神经网络的学习能力和遗传算法的全局搜索能力。

1 BP神经网络及遗传算法概述

1.1 BP神经网络

BP神经网络是一种单向传播的多层前向网络,包括三个层级,分别为输入层、隐含层、输出层。输入层接收外界的信号,隐含层对输入信号进行各种映射转换,输出层最终输出网络的模拟结果,其中隐含层可以有多个,一般情况下,采用的是三层结构,如图1所示。BP神经网络具有完备的学习机制和理论体系,其模仿人脑神经元对外部刺激信号的反应过程,通过建立多层感知器模型,运用信号的正向传播和误差的反向调节机制,进行[N]次迭代学习,形成处理非线性信息的神经网络模型。

BP算法的学习过程包括两个阶段:信号的正向传播和误差的反向传播。

信号正向传播:外界信号由输入层经过隐含层传到输出层,并在输出端产生输出信号,网络的权值在信号向前传播的过程中固定不变,若输出层没有得到期望的输出,则转入误差信号反向传播过程。

误差信号反向传播:误差信号由输出端开始以某种方式逐层向前传播,各单元层的连接权重由误差反馈进行调节,通过反复的正向传播和误差反向调节使得神经元间的权值得到不断的修正,当输出端的实际输出接近期望输出时,即满足误差精度要求时,停止學习[5?6]。

1.2 遗传算法

遗传算法是一种全局寻优搜索的迭代算法,其不依赖梯度信息。遗传算法将优化参数编码成由基因组成的染色体,然后通过模拟自然界的选择和遗传过程,利用选择算子、交叉算子、变异算子来变换染色体携带的信息,经过多次重复的操作产生能够代表优化函数所需的染色体。

遗传算法通过模拟自然界“优胜劣汰,适者生存”的规律鼓励好的结构,其只需要利用目标的取值信息进行有指导的搜索。遗传算法通过群体完成搜索过程,不同于单点搜索,其适应性强,因此适用于大规模、高度非线性的不连续、多峰函数的优化,由于具有很多搜索轨迹,因此易于并行化,从而进一步提高算法的效率。遗传算法流程图如图2所示,由于遗传算法采用的是具有一定随机性的概率搜索技术,因此局部收敛性较差[7?8]。

2 基于遗传算法优化的BP神经网络

基于遗传算法优化的BP神经网络算法,其基本思路是将BP神经网络算法和遗传算法相结合,当BP算法训练网络出现收敛速度缓慢情况时,将BP神经网络的各隐含层节点的阈值和权值作为遗传算法的输入信息,进一步将它们编码生成染色体,运用遗传算法的选择算子、交叉算子、变异算子产生新的后代,作为BP算法的初始值,接着继续BP算法训练网络,该操作重复运行,直至达到问题要求的误差精度[9?11]。

从基于遗传算法的BP神经网络算法的角度出发,其方法就是遗传算法在目标信息的解空间中进行广泛的搜索,BP算法在遗传算法搜索到一个比较优的网络形式时进行定位,寻找到问题需求的最优解。

遗传算法优化BP神经网络的过程主要包括:BP神经网络连接结构的确定、遗传算法优化BP神经网络的权值和阈值以及BP神经网络预测三个部分,如图3所示。通过输入预测数据确定BP神经网络的结构,进一步确定BP神经网络的层数和节点数,依据BP神经网络需要的参数个数确定遗传算法个体编码的长度,采用BP神经网络训练所得的误差作为适应度值进行优化,这样多次操作后获得最优的权值和阈值,最后,遗传算法将最优的权值和阈值赋给对应的BP神经网络,优化后的BP神经网络进行预测工作[11?12]。

基于遗传算法优化的BP神经网络流程如下:

1) 将BP神经网络的权值和阈值按照顺序级联起来,即:输入层与隐含层权值、隐含层与输出层权值、输入层与隐含层阈值、隐含层与输出层阈值,随机产生[N]个染色体;

2) 将均方误差函数作为适应度函数,进一步计算每个染色体的适应度,并判断是否符合优化的标准,若符合跳到步骤4);

3) 选择满足适应度要求的个体,进行应用复制、交叉和变异产生新的个体;

4) 查看产生的新个体是否满足最优个体的标准,若满足继续下一步骤,不满足,将返回步骤2);

5) 将最优个体进行顺序拆分,分别作为BP神经网络的权值和阈值;

6) BP神经网络进行前向传播,计算全局误差,调整网络的参数(权值和阈值),重复进行学习训练,当达到要求的精度或者达到学习上限次数,则结束网络训练。

3 实验结果与分析

本文原始数据来源于南方某大型超市的日销售大米的情况,采用2011年1月1日—2013年10月1日的日销售大米数据作为训练样本,然后选取2013年10月2日—11日的日销售大米数据作为测试样本。利用超市日销售大米的情况,建立具有三层BP神经网络的大米日销售预测模型,设定网络的参数:net.trainParam.epochs=10 000;net.trainParam.goal=0.002;设置学习速率为0.1,运用Matlab进行仿真测试,当训练进行到6 989次达到网络性能要求,如图4所示。

模拟训练结束后,选取10组数据作为测试样本,预测大米的日销售情况,并且与BP神经网络预测的结果进行对比,如表1所示。以相对误差和均方根误差(RMSE)作为最终的评价指标:

从表1中可以看出:传统BP神经网络模型的最大和最小相对误差分别为4.11%和2.63%,它们之间的差距为6.74%;而GA?BP神经网络模型的最大和最小相对误差分别为3.11%和0.75%,它们之间的差距为3.86%。传统BP神经网络的RMSE为3.31%,而GA?BP网络模型的RMSE为1.51%,意味着预测精度提高了1.8%,因此,本文所建立的预测模型可以很好地反映大米日销售情况,而且具有很高的准确性。

將预测曲线与实际曲线进行比较,如图5所示,发现GA?BP神经网络预测曲线更接近实际曲线,除此之外,GA?BP神经网络曲线比传统的BP神经网络曲线更稳定,图5显示了GA?BP神经网络模型具有良好的预测能力和较高的拟合精度。

4 结 语

通过实验证明,遗传算法优化BP神经网络的权值和阈值能够克服BP神经网络陷入局部最优的缺陷,进一步提高网络的智能搜索能力和预测结果的精度。基于遗传算法优化的BP神经网络结合了两者的优势,使建模的稳定性提高,为复杂系统的优化提供了一种新的方法,使得优化后的BP神经网络算法的收敛速度更快,预测结果更准,结果更符合实际值。尽管基于遗传算法优化的BP神经网络在很多领域有着肯定的应用价值,但是它仍然存在一些不足,科学研究者一直致力于研究,探索改善其不足的方法,使基于遗传算法优化的BP神经网络更加成熟,以便在未来社会的发展中,基于遗传算法优化的BP神经网络的应用领域更为广阔。

参考文献

[1] 马晓敏,王新.基于遗传算法的BP神经网络改进[J].云南大学学报(自然科学版),2013,35(z2):34?38.

MA Xiaomin, WANG Xin. Improvement of BP neural network based on genetic algorithm [J]. Journal of Yunnan University (natural science edition), 2013, 35(S2): 34?38.

[2] 刘春艳,凌建春,寇林元,等.GA?BP神经网络与BP神经网络性能比较[J].中国卫生统计,2013,30(2):173?176.

LIU Chunyan, LING Jianchun, KOU Linyuan, et al. Comparison of performance of GA?BP neural network and BP neural network [J]. China health statistics, 2013, 30(2): 173?176.

[3] 边霞,米良.遗传算法理论及其应用研究进展[J].计算机应用研究,2010,27(7):2425?2429.

BIAN Xia, MI Liang. Genetic algorithm theory and its application research progress [J]. Application research of computers, 2010, 27(7): 2425?2429.

[4] DING Shifei, ZHANG Yanan, CHEN Jinrong, et al. Research on using genetic algorithms to optimize Elman neural networks [J]. Neural computing and applications, 2013(23): 293?297.

[5] 张月琴,刘翔,孙先洋.一种改进的BP神经网络算法与应用[J].计算机技术与发展,2012,22(8):163?166.

ZHANG Yueqin, LIU Xiang, SUN Xianyang. An improved BP neural network algorithm and its application [J]. Computer technology and development, 2012, 22(8): 163?166.

[6] LENG Ziwen, GAO Junwei, ZHANG Bin, et al. Short?term traffic flow forecasting model of optimized BP neural network based on genetic algorithm [C]// 2013 the 32nd Control Confe?rence. Xian, China: IEEE, 2013: 8125?8129.

[7] 马永杰,云文霞.遗传算法研究进展[J].计算机应用研究,2012,29(4):1201?1210.

MA Yongjie, YUN Wenxia. Research progress of genetic algorithm [J]. Application research of computers, 2012, 29(4): 1201?1210.

[8] LI Chi, LI Lin. Application of BP neural network based on genetic algorithms optimization in prediction of postgraduate entrance examination [C]// 2016 the 3rd International Conference on Information Science and Control Engineering. Beijing, China: IEEE, 2016: 226?229.

[9] TANG Chengjun, HE Yigang, YUAN Lifen. A fault diagnosis method of switch current based on genetic algorithm to optimize the BP neural network [M]// Anon. Lecture Notes in Electrical Engineering. Berlin: Springer, 2011: 943?950.

[10] ZHOU Weihong, XIONG Shunqing. Optimization of BP neural network classifier using genetic algorithm [J]. Energy procedia, 2013, 11: 578?584.

[11] 柳益君,吴访升,蒋红芬,等.基于GA?BP神经网络的环境质量评估方法[J].计算机仿真,2010,27(7):121?124.

LIU Yijun, WU Fangsheng, JIANG Hongfen, et al. Environmental quality assessment method based on GA?BP neural network [J]. Computer simulation, 2010, 27(7): 121?124.

[12] 马林茂,李德富,郭海湘,等.基于遗传算法优化BP神经网络在原油产量预测中的应用:以大庆油田BED试验区为例[J].数学的实践与认识,2015,45(24):117?128.

MA Linmao, LI Defu, GUO Haixiang, et al. Application of optimized BP neural network based on genetic algorithm in crude oil production prediction: a case study of BED test area in Daqing Oilfield [J]. The practice and cognition of mathematics, 2015, 45(24): 117?128.

[13] ZHANG Shiwei, WANG Hanshi, LIU Lizhen, et al. Optimization of neural network based on genetic algorithm and BP [C]// 2014 International Conference on Cloud Computing and Internet of Things. Changchun, China: IEEE, 2014: 203?207.

猜你喜欢
优化方法BP神经网络人工神经网络
利用人工神经网络快速计算木星系磁坐标
人工神经网络实现简单字母的识别
复杂背景下的手势识别方法
学生成绩管理系统数据查询优化方法研究 
BP神经网络在软件质量评价中的应用研究 
灵活运用多媒体,优化语文教学
BP神经网络算法在数值预报产品释用中的应用
优化电力通信网运行方式
基于声发射和人工神经网络的混凝土损伤程度识别
波信号的解调和人工神经网络的损伤识别算法