关键字 神经网络;误差截断;农业总产量
1.引言
农业的发展程度将制约我国第二、三产业的发展。目前,我国仍有一大半以上的人居住在农村,农业生产的发展直接就关系到广大人民生活水平的提高,从而直接关系到国家经济建设。农业总产值可以反映一定时期内农业生产的总成果以及总规模,正确预测农业总产值为解决“三农”问题提供了重要的解决依据。预测农业总产值主要应用数学建模的方法进行预测。张洁瑕等人提出利用自回归滑动平均模型对农业总产值进行预测[1]。陈显周等人提出通过组合预测理论实现农业总产值的预测[2]。朱晓曦等人提出基于Shapley值的组合预测方式对福建省农业总产值进行预测[3]。
目前预测的方式很多有很多,例如:移动平均、指数平滑、趋势分析、曲线拟合、灰色预测以及时间序列等等方式,但是我们需要根据情况选择不同的预测方式进行预测。农业总产值受各方面的影响:农用机械总动力、有效灌溉面积等等,因此我们需要采用非线性结构的模型进行预测。作为目前应用最为广泛的神经网络——BP(back propagation)神经网络,它是在1986年由Rumelhart与Mc Clelland提出的概念,是一种向前反馈逆向传播算法,可以解决非线性问题,特别适合求解内部机制复杂的问题。但是BP神经网络容易陷入局部最小,收敛速度慢等原因,因此这里选择Levenberg-Marquardt 算法。LM-BP是对BP神经网络的一种改进,利用Guass-Newton在函数逼近最优值附近产生一个理想的搜索方向,这样大大提高了收敛速度。
2.模型建立
2.1LM-BP神经网络算法
BP神经网络是目前应用最为广泛的神经网络并且具有非线性映射的能力,从理论上已经证明具有一个隐层的神经网络能够以任意精度表示连续的函数。BP神经网络训练就是通过输入的训练数据进行训练数据,先通过正向传播,然后与期望的输出比较差值,不满足精度,就反馈给前方的隐含层,隐含层通过调整神经元的权值,再次进行拟合,如果满足精度则输出。从而达到不断修改权值并不断拟合出一条接近预测值得预测函数曲线。
LM改进的神经网络只是从训练函数对神经网路进行了改进,缩小了迭代的次数,而且在神经网络中是一个比较精确的预测模型。但是对实际生活来说,总是想要更好的神经网络,总是想提高他的精确度。而后,将会对神经网络的输出误差进一步进行处理。
神经网络有三层组成:输入层、隐含层、输出层,根据输入层确定隐含层神经元个数。我们这里有4个输入层、那么有2n+1则需要9个隐含的神经元,只需要一个输出即可。步骤如下:
第一步:网络初始化,设置误差函数e,给定计算精度以及最大学习次数M;
第二步:选取第K个输入样本以及对应期望输出:
第三步,计算隐含层、输出层各个神经元的输入以及输出:
隐含层:
输出层:
第四步:利用利用期望输出和实际输出计算误差函数e对输出层的各神经元的偏导数
第五步:利用隐含层到输出层的连接权值、输出层的和隐含层的输出计算误
第六步:利用输出层各神经元的和隐含层各神经元的输出来修正连接权值
第七步:利用隐含层各神经元的和输入层各神经元的输入修正连接权。
第八步:判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。
2.2多项式拟合
3模型的求解
假设实际样本的训练值为向量T,先用LM-BP神经网络对粮食产量进行预测得到预测值向量,得到误差,其中,设,这样就可以计算出的表达式,设神经网络求模拟的结果为P,那么最终的模拟结果就是。
这里直接带入matlab中,就可以根据农业机械总动力、有效灌溉面积、受灾面积、化肥使用量等方面预测的粮食总产量数据表1.
其中误差的计算公式是:
,
经过计算得到使用LM-BP神经网络得到的平均误差是为0.1256,而经过改进后的LM-BP预测的结果是0.0061。可以用过数据看到,经过改进后的模型误差大约是直接采用LM-BP神经网络的1/20,因此经过这样的改进可以使得误差值更小。
利用上面我们已经计算好的数据可以做出如下曲线图:
图1:农业总产量预测图
通过图1可以直观的看到,如果只是使用LM-BP神经网络进行拟合,从1996年到2005年拟合效果还是比较接近真实值,但是2005年之后得到的曲线图偏差特别大,因此其拟合的效果并不是特别理想,或者说是对数据量少的问题用神经网络预测则更不佳。所以对小样本的预测,我们除了利用改变神经网络的训练函数,同时还可以对训练时输出的样本数据与真实值之间的误差进行多项式函数再拟合预测,然后用神经网络中的预测的值减去预测的误差,这样就会大大缩小误差,提高精度。
4结束语
在用神经网络预测农业产总产量的问题中,考虑到BP神经网络是利用负梯度方向最值的求解最优的方法,这样就容易导致求解问题陷入局部极小值,并且收敛速度慢和可能会出现不可收敛的问题。因而我们采用的Levenberg-Marquardt算法刚好克服了负梯度下降法朝着单一方向盲目搜索的缺点,从而大大提高了网络收敛速度。与此同时还使用多项式拟合的方法对LM-BP产生的误差进行多项式拟合,降低误差。最后我们最终得到的值就是LM-BP预测结果与线性拟合的差值。
5参考文献:
[ 1 ]. 张洁瑕, 郝晋珉, 胡吉敏. 基于自适应ARMA模型的区域农业总产值构成研究与应用[J]. 农业工程学报, 2008, 24(8):84-88.
[ 2 ]. 陈显周, 区晶莹, 俞守华,等. 组合时间序列模型及其在我国农业总产值预测中的应用[J]. 广东农业科学, 2011, 38(13):194-195.
[ 3 ]. 朱晓曦, 张潜. 基于Shapley值的组合预测方法在福建省农业总产值预测中的应用[J]. 安徽农业科学, 2010, 38(9):4419-4421.
[ 4 ]. 张自敏, 樊艳英, 陈冠萍. 基于LM-BP神经网络的GDP预测模型及其应用[J]. 贺州学院学报, 2014, 30(2):131-135.
[ 5 ]. 张自敏, 樊艳英, 陈冠萍. LM-BP神经网络在农业总产值预测的应用[J]. 安徽农业科学, 2014(28):10009-10011.
论文作者:金海,解居东,柴继兴
论文发表刊物:《科技新时代》2018年2期
论文发表时间:2018/4/27
标签:神经网络论文; 误差论文; 神经元论文; 农业总产值论文; 函数论文; 多项式论文; 总产量论文; 《科技新时代》2018年2期论文;