基于GANPSOBP神经网络的粮情预测模型研究
2019-11-12郭平飞甄彤
郭平飞 甄彤
摘 要: 在使用BP神经网络构建粮情温度预测模型时,因其存在误差高、稳定性差等缺陷,借鉴遗传算法和粒子群的思想,提出一种GANPSO?BP神经网络来预测粮食温度。首先为验证GANPSO算法的可用性,将该算法与PSO算法和IPSO算法在测试函数上利用Matlab软件进行模拟测试,结果得出GANPSO算法效果相对与其他两种算法有着明显提高;然后再对BP,PSO?BP和GANPSO?BP三种神经网络进行测试,得出BP的均方误差为0.021 79,PSO?BP的均方误差为0.017 65, GANPSO?BP的均方误差为0.013 30;从而得到GANPSO?BP神经网络相对于其他两种有着较好的稳定性,能够很好地预测粮食温度的变化情况。
关键词: 粮食温度; 回归预测; GANPSO?BP神经网络; 仿真模拟; 预测分析; 权重优化
中图分类号: TN711?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2019)20?0021?05
Research on grain situation prediction model based on GANPSO?BP neural network
GUO Pingfei, ZHEN Tong
(College of Information Science and Engineering, Henan University of Technology, Zhengzhou 450001, China)
Abstract: Since the grain temperature prediction model constructed with the BP neural network has some shortcomings such as high error and poor stability, a GANPSO?BP neural network is proposed to predict the grain temperature by means of the genetic algorithm and particle swarm thought. The simulation testing of GANPSO algorithm, PSO algorithm and IPSO algorithm are conducted for their testing functions by means of MATLAB software to verify the availability of GANPSO algorithm. The results show that the predicting effect of GANPSO algorithm is improved more significantly in comparison with other two algorithms. The BP neural network, BP?GANP neural network and GANPSO?BP neural network were tested, and the mean square errors of 0.021 79, 0.017 65 and 0.013 30 were obtained respectively for PSO?BP neural network, BP neural network and GANPSO?BP neural network. The results show that, in comparison with other two algorithms, the GANPSO?BP neural network has better stability, and can predict the change of grain temperature much better.
Keywords: grain temperature; regression prediction; GANPSO?BP neural network; analogue simulation; predictive analysis; weight optimization
0 引 言
在粮食储藏的过程中,粮堆中粮食受到的影响因子较多,再加上储藏周期很长,如何提高粮食储藏的品质和降低在储存过程中造成的损失就显得尤为重要。在粮食储藏中对粮食品质有影响的因素很多[1],如温度、湿度、害虫、霉菌[2]和气体[3]等,但在这些因素中对其影响最大的是温度。若能利用这些已测数据对粮堆内温度进行预测就可以提前发现问题,减少粮食损失。
近些年,有很多学者对粮库中粮食的温度方面有所研究。如李祥利等发现利用“F”型通风道对房型仓底输送冷风可以使仓内温度分布均匀,减少通风死角[4]。Jian F等发现害虫运动的速度和方向受温度、温度梯度、地形起伏以及温度梯度与地形的相互作用影响[5]。张燕君等以响应面模型理论为基础,采用有限元数值模拟的方法对大型粮仓冬夏两季温度分布反演了多项式的数学模型[6]。通过对这些研究现状的了解,为建立一种新的研究思路,引入一种前馈神经网络的方法,利用粮仓中诸多影响粮堆温度的因素对粮堆中温度进行分析研究。因BP神经网络的自身缺陷,所以在对神经元的权值和阈值初始化的过程中使用GANPSO算法对其神经元的权值和阈值进行优化。
1 基于GANPSO?BP的粮情预测模型
1.1 BP神经网络
BP(Back Propagation)神经网络是将训练出的所有信息以神经元节点阈值和权值的形式存放在训练网络中,从而使该网络有较好的自学习效果和泛化能力。
式中:[xi]为第i个输入;[ω]为连接权值;[α]和[β]为阈值;[Ij]为第j个隐层输出;M和N为隐层和输出层神经元个数;[yk]为第k个输出层神经元的输出;[ek]为第k个输出层神经元的误差值。
1.2 标准PSO原理
粒子群算法(PSO)是通过群体智慧来寻觅目标的最优解。在PSO算法中最为核心的就是群体中个体的位置和速度的更新,通过它们的有效更新才能完整运行整个算法。粒子第k+1次的主要更新公式如下:
式中:[ω]为惯性权重;[c1],[c2]为加速度因子,通常情况下,加速因子为非负数;[Xin]为粒子位置;[Vin]为粒子速度;[r1],[r2]是[0,1]之间的随机数。
1.3 GANPSO算法
在面对PSO算法的寻求中,许多专家和学者都对其寻优有着自己独特的更新方法。如吴冲等提出了一种动态调整加速因子和惯性权重的PSO算法[7];张世钦提出在惯性因子和种群拓扑这两方面对PSO算法进行改进[8];肖理庆等提出使用区间算法、轮盘赌的方法和改进精英策略来改进PSO[9]等。
针对PSO算法的缺点,提出了新的惯性权重函数来对其进行优化,同时借助遗传算法思想来优化PSO算法的寻优过程,从而使问题尽快得到最优。
1.3.1 惯性权重优化
前文已提到PSO算法可以通过对粒子的更新来寻找目标空间的最优,但是在标准PSO算法中仍旧存在着一些缺陷。针对这些问题,对粒子的惯性权重进行优化。对惯性权重[ω]改进公式为:
式中:[ωmin]和[ωmax]值分别为0.4和0.9;T为最大迭代次数;i为当前迭代次数。
1.3.2 遗传算法优化
除了对惯性权重进行优化外,还可以利用遗传算法对其寻优过程进行优化,在优化前,需要先初始化位置和速度,然后在计算适应度值(FIT值)后,才可以对粒子进行优化操作。在该算法中,适应度函数为平均绝对误差值。
在计算出各个粒子的FIT值后,对其排序,取前一半粒子新建粒子群,并在该群中随机取出两个不同粒子,再对选好粒子进行交叉。若操作失败,则放弃此次结果。交叉公式为:
除此之外,在粒子种群更新中,先随机一个[0,1]之间的随机数,若该随机数大于给定的某一个值,那么决定对循环中的该粒子进行变异。变异时只变异该粒子的全部元素。同时若最优解的粒子位置数次未变,也可以变异该粒子。
当然为防止该算法再次陷入局部最优,又对其FIT值在4次未改变时,对该次的全局最优值进行变异。若变异后的FIT值不如以前,则返回先前的全局最优值。变异公式如下:
1.4 GANPSO?BP神经网络
BP神经网络在对非线性系统建模时,其初始阈值和权值都是随机生成的,生成值不同会导致不一样的预测结果。因此可以使用粒子群算法对其权值和阈值进行优化。在对其优化前,还需确定BP神经网络各层的神经元数量,以便于定下PSO算法的粒子维度。在优化过程中,粒子群的适应度函数为BP神经网络,适应度值为训练数据的平均误差值。GANPSO?BP算法的流程图如图1所示。
图1 GANPSO?BP算法的流程图
2 建模与仿真
2.1 GANPSO算法测试
2.1.1 测试函数
为比较PSO算法、IPSO[10]算法和GANPSO算法的性能效果,本文在CEC2014的PSO算法标准测试函数中,选取3个极值为零的测试函数。测试函数的表达式和粒子收索空间如表1所示。
2.1.2 算法参数选择及测试环境
对于PSO算法和IPSO算法[10]中具体参数可以参考其文献中设置的相应值。在GANPSO算法中,交叉操作和变异操作的概率分别为0.5和0.4。本文的测试环境是Windows 10系统,测试软件为Matlab R2016a。
2.1.3 测试结果
为了保证测试结果有效性和可靠性,对于每个测试这三种算法均运行50次,最后FIT的绝对值中最大值(MAX)、最小值(MIN)、平均值(MEAN)和方差(SD)的平均值作为判断这三种算法的性能指标。不同算法比较结果如表2所示。
表1 测试函数
对于表2的数据,可以明显看出在Sphere,Ackley和Griewank三个函数中,GANPSO算法要明顯强于PSO算法和IPSO算法的效果。表2中GANPSO算法的部分结果为零,并不是真的为零,而是因其值太小,软件显示结果为零。如在Ackley函数中,GANPSO算法在运行到146次左右时其适应度值为3.552 7×10-15。
2.2 粮情预测结果测试
2.2.1 测试数据
该算法模型的实验样本来自华东地区的某个粮库,以2016年前11个月的粮仓数据来预测后1个月的温度数据。用于预测的输入数据有粮仓外部温度、粮仓外部湿度、粮仓内部温度、粮仓内部湿度和粮堆温度。由于在本次实验中主要预测为粮仓中粮堆的底层温度点的平均温度,因此期望输出数据设置为该平均温度3天后的温度值。
2.2.2 算法参数选择及测试环境
由于在不同输入的参数中间可能存在着数量级的差别,所以在对实验数据训练前,需要对该实验数据进行归一化。在本文中使用的归一化公式为:
式中:[xk]为第k个训练数据;[xmax]为训练参数中的最大值;[xmin]为训练参数中最小值。
在BP神经网络中,隐层只有一层,神经元节点数按照经验得到节点数为3时较好。BP神经网络的激励函数根据实际训练情况,发现将隐含层激励函数设置为tan?sigmoid函数,同时将输出层为线性函数purelin时,训练函数为trainscg,预测效果较好。
在对粮温的预测误差方面主要用均方误差(MSE)、平均绝对误差(MAE)和平均相对误差(MRE)来表示。
2.2.3 测试结果
对测试数据使用BP,PSO?BP和GANPSO?BP这三种神经网络分别进行预测。为保证其有效性,对于每一个序号内的预测值,均为该三种神经网络运行10次后不同误差值的平均值。
其预测结果如表3所示。
从表1中不同公式计算出来的误差值可以看出,BP神经网络中各项误差值均大于通过其他方法得到的误差值,由此可知BP神经网络的预测效果相对较差。而使用GANPSO?BP算法的数据预测结果相对于其他方法较为理想,其误差数值相对较小,数据变化程度较低,可信度较高。为了更能清晰地看出预测结果的不同,选取其中一次的预测温度和误差,用Matlab画图见图2、图3。
从图2和图3可以看出,使用遗传算法和对惯性权重改进后的GANPSO?BP相对于其他两种神经网络,预测效果较好,绝对预测误差值较低。GANPSO?BP较BP和PSO?BP神经网络的预测结果最大偏差较小,稳定性较高。
图2 预测温度图
3 结 语
对于PSO算法的优化问题,通过改变其惯性权重,而后在此基础上使用遗传算法中变异和交叉方法来优化其粒子更新过程。同时利用三个常用测试函数对其性能进行测试,发现GANPSO算法比IPSO算法和PSO算法的得出结果有明显的提高。
对于粮食温度预测问题,使用BP神经网络、PSO?BP神经网络和GANPSO?BP神经网络分别预测粮仓中粮食温度。实验对比结果显示,改进后GANPSO?BP比BP神经网络和PSO?BP神经网络测试数据的预测温度误差相对较小,预测稳定性更好,预测温度精度更高。
图3 预测误差图
参考文献
[1] 邓永学,赵志模,李隆术.环境因子对储粮害虫影响的研究进展[J].粮食储藏,2003,32(1):5?12.
DENG Yongxue, ZHAO Zhimo, LI Longshu. Research advance of environmental factors on stored grain insects [J]. Food storage, 2003, 32(1): 5?12.
[2] 黄淑霞,蔡静平,田海娟.主要粮食品种储藏期间霉菌活动特性研究[J].中国粮油学报,2010,25(1):99?102.
HUANG Shuxia, CAI Jingping, TIAN Haijuan. Mould development characters of different stored grains [J]. Journal of the Chinese cereals and oils association, 2010, 25(1): 99?102.
[3] 余磊.粮仓有害气体检测系统的研究[D].郑州:河南工业大学,2014.
YU Lei. Study on detection system for harmful gas in granary [D]. Zhengzhou: Henan University of Technology, 2014.
[4] 李祥利,王双凤,王远成.房式仓粮堆温度和水分变化的模拟研究[J].粮油食品科技,2012,20(3):53?56.
LI Xiangli, WANG Shuangfeng, WANG Yuancheng. Numerical simulation of temperature and moisture in grain heap in large warehouse [J]. Science and technology of cereals, oils and foods, 2012, 20(3): 53?56.
[5] JIAN F, JAYAS D S, WHITE N D G. Movement of adult rusty grain beetles, cryptolestes ferrugineus (coleoptera: cucujidae), in wheat in response to 5 ℃/m temperature gradients at cool temperatures [J]. Journal of stored products research, 2003, 39(1): 87?101.
[6] 张燕君,谢晓伟,黄宝凯,等.大型粮仓温度分布反演数学模型的研究[J].光学技术,2012,38(3):288?294.
ZHANG Yanjun, XIE Xiaowei, HUANG Baokai, et al. The application of fiber Bragg grating temperature testing system in the barn [J]. Optical technique, 2012, 38(3): 288?294.
[7] 吴冲,刘佳明,郭志达.基于改进粒子群算法的模糊聚类?概率神经网络模型的企业财务危机预警模型研究[J].运筹与管理,2018(2):106?132.
WU Chong, LIU Jiaming, GUO Zhida. Use of hybrid fuzzy c?means and probabilistic neural network based on improved particle swarm optimization in the prediction of financial distress [J]. Operations research and management science, 2018(2): 106?132.
[8] 张世钦.基于改进粒子群算法的风光水互补发电系统短期调峰优化调度[J].水电能源科学,2018(4):208?212.
ZHANG Shiqin. Short?term peak shaving for wind?photovoltaic?hydro system optimization based on improved particle swarm optimization [J]. Water resources and power, 2018(4): 208?212.
[9] 肖理庆,王化祥.利用改进粒子群算法优化ERT有限元模型[J].计算机应用研究,2017,34(5):1581?1584.
XIAO Liqing, WANG Huaxiang. Optimization of ERT finite element model by improved particle swarm optimization algorithm [J]. Application research of computers, 2017, 34(5): 1581?1584.
[10] 梁昔明,陈富,龙文.基于动态随机搜索和佳点集构造的改进粒子群优化算法[J].计算机应用,2011,31(10):2796?2799.
LIANG Ximing, CHEN Fu, LONG Wen. Improved particle swarm optimization based on dynamic random search technique and good?point set [J]. Journal of computer applications, 2011, 31(10): 2796?2799.