冯灵清 刘琪芳 鲁志红
摘 要: 利用基于Matlab的两种神经网络对马铃薯的栽培环境进行预测调控。文章详细介绍了BP神经网络和RBF神经网络的概念、网络模型以及学习算法,建立网络进行训练,最终实现了两种网络的仿真预测,解释了各自的优缺点并对其输出进行了对比分析。
关键词: 神经网络; Matlab; 预测; 马铃薯
中图分类号:TP301 文献标志码:A 文章编号:1006-8228(2019)12-19-04
Research on the prediction model of potato cultivation environment regulation and
control based on neural network
Feng Lingqing, Liu Qifang, Lu Zhihong
(College of Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: By using BP neural network and RBF neural network supported by Matlab, the potato cultivation environment is predicted for regulating and controlling in this paper. The concepts, network models and learning algorithms of BP neural network and RBF neural network are introduced in detail, and the networks are established for training. Finally, the simulated prediction of the two networks is realized. The advantages and disadvantages of the two networks are explained and their outputs are compared and analyzed.
Key words: neural network; Matlab; prediction; potato
0 引言
馬铃薯作为一种粮食作物不仅是人们喜爱的蔬菜,其营养价值和药用价值也很高。为了提高马铃薯产量和质量,现在普遍采用温室种植,但仍然存在不少不可控制约因素。本文尝试利用采集马铃薯温室内光照强度、土壤水分、土壤湿度、风速、空气湿度、空气温度这些参数,利用Matlab的神经网络对马铃薯的栽培环境进行预测调控,从而确定当下应该采取什么培养方式让马铃薯处于最适宜生长状态,实现了水肥一体化,既能增加马铃薯的产量,还避免为了增产使用生长剂等,确保种植出来的马铃薯是最安全无害的。所以,本研究对未来马铃薯的增产以及其他粮食作物的高效种植有重要意义。
1 智能神经网络
1.1 BP神经网络
1.1.1 BP网络神经元模型
若一个神经元模型有R个输入变量,输入的连接权为[w],则其最后的输出为:
⑴
其中,[f]为输入与输出间的传递函数,通常用logsig、tansig,或者purelin。
1.1.2 BP网络神经结构
BP神经网络属于多层前向神经网络,即输入信号从开始层经由中间隐藏层逐层计算,直到第三层,每个输入都有一个特定的权[w]和下面一层接通,其拓扑图如图1所示。
1.1.3 BP网络模型的算法
BP算法事实上是最简单且最经典的学习算法,其规定沿着误差函数减小最快的方向,也就是使用负梯度方向的改变自身权值和偏差。BP算法的迭代计算公式可以表示为[1]:
⑵
其中,[xk]表示权值和阈值矩阵,[gk]表示当前表现函数的梯度,[ak]表示学习速率。
现以一个三层的BP网络算法的推算过程为例:输入的结点[xi],隐层的结点[yj],输出的结点[zl]。输入层节点与隐藏层节点之间的网络连接权值为[wji],隐含层节点与输出层节点间的另一个网络连接权为[vlj]。若假设输出节点的期望值为[tl],那么其模型的计算公式应该写为如下式子:
隐层节点的输出为:
⑶
输出节点输出为:
⑷
输出节点的误差为:
⑸
然后进行一下步骤:
⑴ 误差函数对输出节点求导;
⑵ 网络误差函数对隐藏层的节点进行求导;
⑶ 对阈值进行修正;
⑷ 得到传递函数[f(x)]的导数。
1.2 RBP神经网络
RBF神经网络即径向基函数神经网络,是Radical Basis Function的缩写,它的第一层由信号源节点组成,隐藏层的单元数事实上由实际需求而定,整个预测过程没有人工参与,而从隐含层到输出层则是线性变换。
1.2.1 RBF神经网络元模型
如图2所示,RBF神经元模型拓扑得出,其激活函数的自变量是输入向量与权值之间的[dist],它的表达式通常写为:
⑹
1.2.2 RBF神经网络结构
一般的RBF神经网络由输入层,隐藏层,输出层组成。第一层和中间层之间的权可以当作是1,因为输入层的任务是传输信号,输出层则使用线性优化的方式来调整线性权,隐含层的学习速度相对于输出层较慢,因为中间层对激活函数参数的调整属于非线性优化,因而其神经元数越多,趋于复杂函数的能力就越强,结果越精确[2]。图3为径向基神经网络结构图。
1.2.3 RBF神經网络的算法
RBF神经网络的学习法则有基函数的中心、隐含层到输出层的权值及方差3个量必须求出。其中主要的RBF基函数有三种:Gauss(高斯)函数,反演S型函数以及拟多二次函数。三者中常用Gauss函数,则RBF神经网络的整体输出可以表示为[2]:
⑺
式中[P]为样本总数,[i]指的是隐含层结点数。若假设样本期望输出值为[d],则其方差即为:
⑻
具体的学习算法分为以下几步:
⑴ 求解径向基函数的中心[c];
⑵ 求取方差[σi];
⑶ 求隐含层与输出层间连接权值。
2 基于Matlab模型预测
2.1 数据的选用
本课题选择的是某地温室里三四月份每天15:00时的风速,光照强度,土壤水分和温度,空气湿度和温度六个量。并且根据马铃薯生长对这些参数的要求将这些数据分为A⑴,B⑵,C⑶三组。输出A代表该温室的气候条件目前适宜马铃薯的生长,只要注意观测其变化即可;输出B意味着此刻温室的温度偏低,湿度偏大,需适宜地升高温度,以及通风增加光照;输出C则说明当下温室内温度偏高,空气干燥,需要及时灌溉,通风适当降低室内温度。
2.2 BP神经网络预测
2.2.1 数据处理
⑴ 在BP网络预测中,选取共51组数据作为输入,选取前30组数据进行相应的预测。
⑵ 数据归一化,整体样本的数量级都不在[0.1]之间,必须以一定的标准处理这些数据,使其标准化,尽可能减小网络预测误差。
2.2.2 BP网络的设计与建立
⑴ 隐含层数[l=3M?n/2≈4]
其中输入元素的个数M=6,最后输出变量的个数n=1。
⑵ 建立BP神经网络[3]。
⑶ 网络训练。
⑷ 训练过程中网络误差的变化,如图4所示。
⑸ 预测结果分析如图5所示。
⑹ 将图5的内容实际输出、期望输出、误差再加上预测的相对误差,以表格的形式显示出来,如表2所示(表格共30条内容,此处只列出5条示例)。
分析表2数据可知,只有第16,24和26组的相对误差较大,分别为19.05%,12.26%,16.93%,都超过了10%,其中11,12组没有误差,整体来说相对误差较小,平均相对误差为3.3255%。因为BP网络是我们最常用的网络,迭代方法也比较简单常见,所以预测结果总体而言还是比较符合我们的期望。
2.3 RBF神经网络预测
2.3.1 数据处理
⑴ 在RBF网络预测中,选取表shuju.xlsx共51组数据作为输入样本,并将前六列数据作为测试数据样本进行预测。
⑵ 数据归一化,RBF网络预测同样要求所有数据都在[0.1]之间,即数据必须进行归一化,让误差减到最小。
2.3.2 RBF网络的设计与建立
⑴ 建立RBF神经网络。
⑵ 网络训练。
⑶ 输出隐含层R。
⑷ 训练过程中网络误差的变化,如图6所示。
RBF网络训练过程就是沿着径向误差减小的方向进行训练,让RBF自动去寻找输入与输出之间最佳的函数映射关系,然后沿着指定的迭代方向进行迭代训练,整个过程不需要人工参与控制。直到训练误差结果达到我们所设定的训练目标为止[4]。
⑸ 预测结果分析
图7是RBF网络预测结果对比图,将实际结果与网络最终输出的预测值放在一起利用plot()函数画出对比图,同时将二者差的绝对值求出作为误差也显示在此图中,如图7所示,可以清晰的看出其预测结果的准确性。
⑹ 图7内容实际值、预测值、误差和相对误差在表4中列出,其中期望输出即为我们事先已测好的实际数值,实际输出就是网络预测后输出的结果,二者相减差的绝对值即为表中的预测误差一列的值,最后一列是相对误差,其求解方法为[相对误差=期望输出-实际输出÷期望输出],(共有30条内容,此处只列出5条)。
分析表4可知,RBF网络预测出的结果整体来说误差较大,平均相对误差为11.225%,第9、15、16、25以及26组的相对误差甚至超过了20%,分别为25.12%,57.980%,24.23%和22.63%,尤其第15组的相对误差最大达57%以上。其中也有两组的结果是我们希望看到的,第18和29组的误差为零。
就其结果做出如下分析:因为RBF网络的迭代方式特别,它的变换函数是沿着径向并且中心对称的,所以整个预测过程的任何一个部分改变都会对结果有影响,训练建立的具体网络函数也会有所不同。再加上使用51组数据事实上根本不足以让我们建立准确的网络,各种不确定因素导致预测结果不太准确,误差偏大。
2.4 BP网络和RBF神经网络的对比
上文通过BP网络和RBF网络分别进行了仿真预测,两种方法分别对51组数据进行预测后得到一些参数如表5所示,从中我们可以更清楚的看出他们各自的优势和不足。
分析表5可知,BP网络方法简单,其预测结果相对于后面的网络误差较小,与实际值更加接近,为了得到准确的预测值应该选择前者,但RBF网络误差均值更小,这意味着它的预测值波动较小,基本在某个确定范围之内,而且在相同数据量的基础下,RBF网络的运行速度要快得多,自适应能力很强,适合处理大量数据[5]。需根据不同的预测需求选择不同的神经网络,就本课题而言,选择BP网络更合适。
3 总结与展望
本文利用基于Matlab的两种神经网络对马铃薯温室环境进行预测和对比。详细对BP网络、RBF网络的概念、学习算法、神经元模型及其网络结构做了介绍。并利用两个网络实现整体预测并进行对比分析。本课题的研究在选择的影响温室环境条件的变量、数据量范围、以及预测网络选择等方面还需要进一步改进和完善。
参考文献(References):
[1] 李萍,曾令可,金雪莉,刘艳春,王慧.基于MATLAB的BP神经网络预测系统的设计[J].计算机应用于软件,2008.25(4):P11
[2] 华夏35度[EB/OL]http://www.cnblogs.com/zhangchaoyang/articles/2591663.html
[3] 朱凯.精通MATLAB神经网络[M].北京电子工业出版社,2010.
[4] MATLAB中文论坛.MATLAB神经网络30个案例分析[M].北京:北京航天航空大学出版社,2010.
[5] BP网络的优缺点[EB/OL]http://blog.sina.com.cn/u/1182060252,2011.12