﻿ 改进粒子群优化BP神经网络粮食产量预测模型
 计算机系统应用  2018, Vol. 27 Issue (12): 204-209 PDF

1. 中国海洋大学 数学科学学院, 青岛 266100;
2. 山东省聊城市东昌府区郑家中学, 聊城 252053

Grain Yield Prediction Based on BP Neural Network Optimized by Improved Particle Swarm Optimization
ZONG Chen-Sheng1, ZHENG Huan-Xia2, WANG Lin-Shan1
1. School of Mathematical Sciences, Ocean University of China, Qingdao 266100, China;
2. Zhengjia Middle School in Dongchangfu District, Liaocheng City, Shandong Province, Liaocheng 252035, China
Foundation item: National Natural Science Foundation of China (11771014)
Abstract: This study considers comprehensively the various factors of grain production yield and optimizes primary BP neural network weights using the improved Particle Swarm Optimization (PSO) algorithm, then establishes a prediction model suitable for prediction of small sample grain yield. The experiment proves that this model has higher prediction precision and greater fitness than grain yield prediction model based on classical BP neural network and PSO-BP neural network.
Key words: BP neural network optimized by Particle Swarm Optimization (PSO)     inertia weight     learning factor     grain prediction model     prediction precision and fitness

1 IPSO-BP神经网络粮食预测模型的构建

IPSO-BP神经网络预测模型的特点: 用IPSO算法优化BP神经网络的初始连接权值和阈值, IPSO算法结束时能够寻到全局最优附近的点; 在此基础上, 利用局部寻优能力较强的BP算法, 从该点出发进行局部搜索, 进而达到网络的训练目标, 其结合了两种算法的优势, 从而改进了传统BP神经网络的不足.

1.1 改进粒子群算法

D维欧氏空间中, 由N个粒子组成群落, 粒子对应位置为 ${x_i} = {({x_{i1}},{x_{i2}}, \cdots ,{x_{iD}})^{\rm{T}}},i = 1,2, \cdots ,N$ , 即问题的可能解. 粒子速度为 ${v_i} = {({v_{i1}},{v_{i2}}, \cdots ,{v_{iD}})^{\rm{T}}}$ ,由其决定粒子的行进方向与距离, 另外速度的每个分量受到最大速度 ${v_m}$ 的限制, 当 ${v_{ij}} > {v_m}$ 时, 令 ${v_{ij}} = {v_m}(1 \leqslant i \leqslant N,1 \leqslant j \leqslant D)$ . 同样 ${x_{ij}}$ ${x_m}$ 的限制, 当 ${x_{ij}} > {x_m}$ 时, 令 ${x_{ij}} = {x_m}$ $(1 \leqslant i \leqslant N,1 \leqslant j \leqslant D)$ . 根据目标函数可以计算粒子在不同位置的适应度. 粒子按下列迭代方法来更新速度和位移:

 $\left\{{\begin{array}{*{20}{l}}{v_i^{k + 1} = wv_i^k + {c_1}{r_1}({p_i} - x_i^k) + {c_2}{r_2}({p_g} - x_i^k)}\\{x_i^{k + 1} = x_i^k + v_i^{k + 1},i = 1,2, \cdots ,N}\end{array}}\right.$ (1)

 $\left\{ {\begin{array}{*{20}{l}}{w = [({w_0} - {w_1})\cos (k/M\pi ) + ({w_0} + {w_1})]/2}\\{{c_1} = {c_{10}} + (k/M)({c_{11}} - {c_{10}})}\\{{c_2} = {c_{20}} + (k/M)({c_{21}} - {c_{20}})}\end{array}} \right.$ (2)

w, kM分别表示惯性权重系数、当前迭代次数和最终迭代次数, ${w_0}$ ${w_1}$ w的初始值和终止值, 且 ${w_0} > {w_1}$ . ${c_1}$ 表示控制粒子趋于局部极值的学习因子, 其初始值为 ${c_{10}}$ , 终止值为 ${c_{11}}$ ; ${c_2}$ 表示控制粒子趋于全局极值的学习因子,其初始值为 ${c_{20}}$ , 终止值为 ${c_{21}}$ . w依赖于余弦函数变化的策略在于: w在迭代次数k由0到M的过程中由 ${w_0}$ 递减到 ${w_1}$ , 即迭代初期注重全局搜索, 迭代后期加强了局部搜索, 减小了过早落入局部寻优的可能, 且w依赖于余弦函数变化时, 迭代的前期和后期w的下降速度慢, 使得迭代初期能快速全局寻优且持续较长时间, 进一步减小了过早地陷入局部寻优的可能, 在迭代后期可以较为平缓地进行精细搜索. 对 ${c_1}$ ${c_2}$ 的改进策略在于: ${c_1}$ 随着迭代次数k以线性方式递减, ${c_2}$ 则以线性方式递增. 由此 ${c_{10}}$ 大于 ${c_{11}}$ , ${c_{20}}$ 小于 ${c_{21}}$ . 并且 ${c_{10}}$ 大于 ${c_{20}}$ , ${c_{11}}$ 小于 ${c_{21}}$ , 即迭代初期侧重于自身认知, 末期侧重于全局认知, 从而保证粒子对自身认知能力和全局认知能力的合理动态控制.

1.2 IPSO算法优化BP神经网络的初始权重和阈值

IPSO-BP算法流程如下:

① IPSO算法所需参数和神经网络结构的确定

IPSO算法所需参数包括种群规模N, 粒子维度D, 最终迭代次数M, 惯性权重系数w的初始值和终止值 ${w_0}$ ${w_1}$ , 学习因子的初始值 ${c_{10}}$ ${c_{20}}$ 和最终值 ${c_{11}}$ ${c_{21}}$ , 最大速度 ${v_m}$ ; BP神经网络采用三层网络结构, 每个粒子需包含全部的权值和阈值, 即输入层与隐层、隐层与输出层的连接权重以及输出层和隐层的阈值. 因此, 粒子的维度D应为:

 $D = {D_{in}}{D_h} + {D_h}{D_{out}} + {D_h} + {D_{out}},$ (3)

 图 1 神经网络结构示意图

② 适应度函数的确定

③ 迭代更新

 $\left\{ {\begin{array}{*{20}{l}}{F(X,{x_i}) = {{({y_i} - y_i')}^2},i = 1,2, \cdots ,N}\\{X = ({X_1},{X_2}, \cdots ,{X_7})}\end{array}} \right.$ (4)

2 基于IPSO-BP神经网络的粮食产量预测 2.1 IPSO-BP神经网络模型的粮食产量预测

IPSO-BP神经网络模型预测结果如表1图2所示.

 图 2 IPSO-BP神经网络预测结果

2.2 IPSO-BP神经网络模型与其他方法预测精度对比

 图 3 三种模型预测结果对比

 图 4 留一法交叉检验每次测试相对误差

3 结语

 [1] 中共中央宣传部. 习近平总书记系列重要讲话读本. 中国民族语文翻译局, 译. 北京:民族出版社, 2014. 68–69. [2] 向昌盛, 张林峰. 灰色理论和马尔可夫相融合的粮食产量预测模型. 计算机科学, 2013, 40(2): 245-248. DOI:10.3969/j.issn.1002-137X.2013.02.054 [3] 田秀芹. 基于多元线性回归的粮食产量预测. 科技创新与应用, 2017(16): 3-4. [4] 姚作芳, 刘兴土, 杨飞, 等. 几种方法在粮食总产量预测中的对比. 干旱地区农业研究, 2010, 28(4): 264-268. [5] 罗利娟, 丁宏飞. 基于PSO-SVR的粮食产量预测模型. 统计与决策, 2010(22): 37-38. [6] 王林山. 时滞递归神经网络. 北京: 科学出版社, 2008. 2–16 [7] 郑建安. 主成分和BP神经网络在粮食产量预测中的组合应用. 计算机系统应用, 2016, 25(11): 274-278. DOI:10.15888/j.cnki.csa.005552 [8] 林芳. 灰色神经网络在粮食产量预测中的应用. 计算机仿真, 2012, 29(4): 225-228, 267. DOI:10.3969/j.issn.1006-9348.2012.04.055 [9] 吴炎, 杜栋. 基于改进BP神经网络对江苏省粮食产量的仿真预测. 微型电脑应用, 2009, 25(6): 1-3. DOI:10.3969/j.issn.1007-757X.2009.06.001 [10] 魏津瑜, 陈锐, 刘曰波. 影响我国粮食产量的因素分析及对策研究. 中国农机化, 2008(5): 56-59. DOI:10.3969/j.issn.1006-7205.2008.05.016 [11] 赵俊晔, 李秀峰, 王川. 近年我国粮食产量变化的主要影响因素分析. 中国食物与营养, 2006(9): 9-12. DOI:10.3969/j.issn.1006-9577.2006.09.003 [12] 李雪. 基于粒子群的粮食产量预测神经网络优化研究[硕士学位论文]. 舟山: 浙江海洋大学, 2014. [13] 钱锋. 粒子群算法及其工业应用. 北京: 科学出版社, 2013. 14–19. [14] 黄璇, 郭立红, 李姜, 等. 改进粒子群优化BP神经网络的目标威胁估计. 吉林大学学报(工学版), 2017, 47(3): 996-1002. [15] 唐泽, 吴敏, 吴桂兴, 等. 改进粒子群BP算法的四六级翻译评分模型. 计算机系统应用, 2015, 24(9): 140-145. DOI:10.3969/j.issn.1003-3254.2015.09.024 [16] 沈学利, 张红岩, 张纪锁. 改进粒子群算法对BP神经网络的优化. 计算机系统应用, 2010, 19(2): 57-61. DOI:10.3969/j.issn.1003-3254.2010.02.014 [17] 陈贵敏, 贾建援, 韩琪. 粒子群优化算法的惯性权值递减策略研究. 西安交通大学学报, 2006, 40(1): 53-56, 61. DOI:10.3321/j.issn:0253-987X.2006.01.013 [18] 飞思科技产品研发中心. 神经网络理论与MATLAB 7实现. 北京: 电子工业出版社, 2005. 271–280.