当前位置:文档之家› 基于BP神经网络的大豆变量施肥模型研究与建立_纪文义

基于BP神经网络的大豆变量施肥模型研究与建立_纪文义

收稿日期:2013-04-11修回日期:2013-05-06

第一作者:纪文义,男,高级工程师,研究方向为现代农业装备,E-mail:jwy730306@https://www.doczj.com/doc/da2985411.html, *基金项目:“十二五”农村领域国家科技计划课题(2011BAD20B03-01-02)

**通讯作者:陈海涛,男,教授,博士生导师,主要从事旱作农业装备和生物质材料技术研究,E-mail:htchen@https://www.doczj.com/doc/da2985411.html,

基于BP 神经网络的大豆变量

施肥模型研究与建立

*

纪文义1,陈海涛1**,张继成2,陈

菲2

(1.东北农业大学工程学院,哈尔滨

150030;2.东北农业大学电气与信息学院,哈尔滨

150030)

中图分类号:S14

文献标志码:A

文章编号:1674-3547(2013)04-0049-05

摘要:通过对比国内外处方图生成方法,研究了基于BP 神经网络的变量处方施肥关系模型。应用Matlab7.0人工神经网络工具箱,设计了BP 人工神经训练网络,实现了以土壤中施氮肥量、磷肥量、钾肥量和种植密度为输入参数,以大豆的产量为预测目标的模拟关系,预测在一定范围内的氮磷钾投入配比可获得的最大产量。该方法能够实现各种营养元素的全面平衡供应,使大豆栽培肥料投入更为科学合理,达到减肥增效的目的。关键词:处方图;BP 神经网络;土壤养分;密度;产量

Study and Establish of Variable Fertilizing Modeling Based on

BP Neural Network

Ji Wenyi 1,Chen Haitao 1,Zhang Jicheng 2,Chen Fei 2

(1.Engineering College,Northeast Agricultural University,Harbin 150030,China;2.Electrical &Informational College ,Northeast Agricultural University,Harbin 150030,China )Abstract:This paper had compared the generation methods of the prescription map at home and abroad,and established the variable fertilizing model based on BP artificial neural network.This model was designed through Matlab7.0neural network to predict the maximum yield based on the mount of soil ’s NPK.The

method could achieve the balance of a variety of nutrition elements,and could make more reasonable fertilizer inputs and increase efficiency.

Key words:Prescription;BP neural network;Soil nutrients;Density;Yield

传统的施肥方式是在一个地块内使用一个施肥标准(均匀施肥或者平均施肥),然而在同一地块内不同区域的土壤养分含量存在差异,如果采用平均施肥,会造成在肥力低的区域施肥不足,而在肥力高的区域施肥过量,其结果必然造成肥料资源浪费、生产成本增加和环境污染[1]。因此,依据施肥处方图实施变量施肥是提高化肥利用率、保护环境的重要途径。

目前,国内外处方图生成方法的研究主要有四种,一种是冠层光谱指数的变量施肥研究,它对同一空间位置的作物通过光谱遥感技术所获得的序列光谱数据,包含作物一定的生长发育长势信息[2],该方法主要依赖于遥感仪器,不利于处方图生成技术的推广和普及。一种是叶绿素计的变量施肥研究,这种仪器以叶绿素对红光和近红外光的不同吸收特性为原理,测定植物叶片的相对叶绿素含量,通过叶绿素与叶片全氮的关系来反映作物的氮营养状况[3],进而确定作物是否缺氮,但该技术在制作其他元素处方图时存在很大难度,无法得到广泛应用。作物生长模型已被公认为是农业研究的一个重要方法,它从农业生态系统物质平衡和能量守恒原理以及物质能量转换原理出发,以光、温、水、土壤等条件为环境驱动变量,应用物理数学方法和计算机技术,对作物生育期内光合、呼吸、蒸腾等重要生理生态过程及其与气象、土壤等环境条件的关系进行逐日数值模拟,再现农作物生长发育过程,是一种机理性和时间动态性很强的模型[4],但该方法对制作人员的技术水平要求很高,也难以得到广泛应用。

基于土壤肥力与目标产量的变量施肥研究,是随着现代科学技术特别是信息科学技术进步而发展起来的,在一些发达国家和地区,以定位营养管理为中心的土壤管理技术日趋成熟。如美国的许多地区和农场已经将土壤类型、土壤质地、土壤养分含量、历年施肥和产量情况等有关信息输入计算机,制成GIS 土壤养分或肥料施用量图层,形成了精准农业的技术支持体系,并在此基

础上发展形成了精准农业变量施肥技术,即在田间任何位点上(或任何一个操作单元上)均实现了各种营养元素的全面平衡供应,使肥料投入更为合理,肥料利用率和施肥增产效益也提高到较理想的水平[5]。这也是国内很多研究机构所采用的主要研究方法。

本文在基于土壤肥力与目标产量的变量施肥研究方法基础上,重点研究基于BP 神经网络的“养分-密度-产量”数据的处方施肥关系模型,该模型的建立方法不仅适用于大豆也适用于耕作期其他多种作物的施肥处方生成,具有变量施肥决策功能。1模型构建

1.1

BP 神经网络

BP 人工神经网络,是误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播2个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的网络学习信息正向传播和误差反向传播过程,是各层权值和闭值不断调整的过程,也是人工神经网络的学习训练过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止[6]。1.2

模型构建流程

为了提高施肥决策系统的决策水平和智能

化,采用BP 人工神经网络对某一地块的施肥量与产量进行预测。用Matlab7.0人工神经网络工具箱,设计BP 人工神经训练网络,实现以土壤中施氮肥量、磷肥量、钾肥量和种植密度为输入参

数,以作物的产量为预测目标的模拟关系,预测在一定范围内的氮磷钾投入配比可获得的最大产量。土壤中养分含量为实测值。土壤中养分含量的氮,磷,钾的单位为mg/kg ,用N ,P ,K 表示。施肥量的氮,磷,钾的单位为kg/hm 2,分别用Nn ,Pn ,Kn 。产量用Yield 表示,单位为kg/hm 2。样本数据采用某一试验田历年的土壤氮磷钾含量,实际施肥量和大豆产量作为样本数据,BP 神经网络设计流程如图1所示。

2试验设计与采样方法

黑龙江红星农场,位于小兴安岭南麓,北纬48°02'~48°17',东经126°47'~127°15',属大陆性季风气候区,年平均降水量555.3mm ,年≥10.0℃,

积温2293.1℃。土壤属草甸黑土,黑土层厚度30cm ,有机质含量4%。

本研究选取纬度范围48°02'54"~48°11'21"之间,东经127°02'06"~127°03'01"之间的第二作业区进行试验。取样深度平均20cm ,取样点的设计为以地号为4~6号的第187根垄为基准向下60垄为取样区域,其中每隔20垄设一条取样纵轴,共4条

纵轴,按垄方向每50m 设一条横轴,两轴相交点为取样点,本试验共计120个取样点,其中常规农业取点20个,试验作物为大豆,前茬作物为玉米。

本试验田间试验观察记载的内容,包括气候条件的观察记载:温度(气温)、光照(光照长度和强度)、降雨和灾害性气候。本试验气候条件的观察引用了附近气象台(站)的资料;作物生育动态的观察记载:项目在制订试验计划时已预先确定,主要包括生育期、形态特征、生理特性、生长动态、农艺性状等。根据试验目的、作物种类、观察项目等确定观察记载的方法、标准和时间。本试验在田间观察记载和测定时,采用简单随机抽样。3网络的设计

3.1

网络的层数

理论上已证明:具有偏差和至少一个S 型隐含层加上一个线性输出层的网络,能够逼近任何有理数。增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整。所以一般情况下,应优先考虑增加隐含层中的神经元数。本试验设计的BP 神经网络二层,即该BP 神经网络有一个隐含层、一个输出层和一个输入层[7]。3.2

隐含层的神经元数[8]

网络训练精度的提高,可以通过采用一个隐

含层,而增加神经元数的方法来获得。这在结构实现上,要比增加隐含层数要简单得多。隐含层节点的选取在理论上并没有一个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。比较实用的做法是通过对不同神经元数进行训练对比,一般方法是凑试法:先由经验公式(式1,2)和Kolmogorov 定理9(式3)确定。

m=l +n +a m=nl

图1BP 神经网络设计流程

m=2n+1

其中,m 为隐层节点数,n 为输入节点,a 为在1~10之间的调节常数。然后改变m ,用同一样本集训练,从中确定网络误差最小时对应的隐层节点数。

BP 人工神经网络的设计方案中,网络输入数

据为4,选择1个隐含层的BP 人工网络作为施肥量预测的训练网络,输出层数据为1。m 的大致取值范围为3~12。通过对比本试验确定的隐含层节点数为9。3.3

各层间的传递函数

神经元输入和输出之间的变换函数,有时也

叫激发或激励函数。在神经元获得网络输入信号,经过激活函数可以得到网络输出信号。往往采用0和1二值函数或S 型函数,这2种函数都是非线性的。常见的激活函数有以下几种:

(2)线性函数:f (x )=kx

(3)对数Sigmoid 函数:f (x )=1(1+e -x )(4)琥切Sigmoid 函数:f (x )=tanh (x )一般为了保证BP 网络能够学习输入和输出间的非线性关系,隐层采用对数Sigmoid 函数。3.4

初始权值的选取

由于系统是非线性的,初始值对于学习是否

达到局部最小、是否能够收敛及训练时间的长短关系很大。一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S 型激活函数变化最大之处进行调节。所以,一般取初始权值在(-1,1)之间的随机数。3.5

学习速率

BP 算法本质上是优化计算中的梯度下降法,

利用误差对于权、阈值的一阶导数信息来指导下一步的权值调整方向,以求最终得到误差最小。

为了保证算法的收敛性,学习率η必须小于某一上限,一般取(0,1)而且越接近极小值,由于梯度变化值逐渐趋于0,算法的收敛就越来越慢。在网

络参数中,学习率η和动量因子α是很重要的,他们的取值直接影响到网络的性能,主要是收敛速度。为了提高学习效率,应采用大的学习率η。但学习率η太大却可能导致在稳定点附近震荡,仍至不收敛。针对具体的网络结构模型和学习样本,都存在一个最佳学习率η和动量因子α,学习速率的选取范围在0.01~0.8之间,动量因子的取值范围一般0~1之间,视情况而定。在上述范围内通过对不同的学习率η和动量因子α的取值进行观察。4

网络训练与实现

用人工神经网络解决实际问题时,首先要确定网络的结构和网络中各层神经元所选的传递函数,然后就是确定网络中神经元之间的连接权值以及神经元的阈值,叫做人工神经网络的训练。

在确定了BP 网络的结构后,要通过输入和输出样本集对网络进行训练,即对网络的阀值和权值进行学习和修正,以使网络实现给定的输出输入映射关系。BP 网络的学习过程分为3个阶段,如图2

所示:

第一阶段数据预处理。限制网络输入的幅值,加快学习,应对网络输入样本进行归一化处理。第二阶段是输入已知学习样本,通过设置的网络结构和前一次的迭代的权值和阈值,从网络的第一层向后计算各神经元的输出。第三个阶段是对权值和阈值进行修正,从最后一层向前计算各权值和阈值对总误差的影响,据此对各权值和阈值进行修改。第二阶段和第三阶段2个过程反

(1)阀值型函数:f (x )=ìí

?1,x ?0

0,x ?0

图2试验训练网络流程图

出层

入层

复交替进行,直到达到收敛为止。

本研究设计的网络结构为输入4,即输入数据P (N ,P ,K ,Density );1个隐含层包含9个神经元,隐含层激活函数为Sigmoid 函数;目标函数为

yield ,激活函数为Purelin 。

对样本数据进行预处理,选择网络学习速率和网络的最大学习次数。在误差允许范围内,即达到误差性能目标,终止训练。部分实现代码如下:

%matlab 编程部分代码......

%NEWFF ——生成一个新的神经网络%TRAIN ——对BP 神经网络进行训练

%SIM ——对BP 神经网络进行仿真pause

%敲任意键开始%定义训练样本%P 为输入矢量,包括氮磷钾和密度P;

%T 为目标矢量,即产量T=Yield;……

%创建一个新的前向神经网络net=newff(minmax(P),[9,1],{'tansig ','purelin '},

'traingdm ')

%当前输入层权值和阈值inputWeights=net.IW{1,1}inputbias=net.b{1}

%当前网络层权值和阈值layerWeights=net.LW{2,1}layerbias=net.b{2}%设置训练参数

net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.mc=0.9;

net.trainParam.epochs=1000;net.trainParam.goal=1e-3;%调用TRAINGDM 算法训练BP NN

[net,tr]=train(net,P,T);

%对BP 网络进行仿真A =sim(net,P)%计算仿真误差E =T-A MSE=mse(E)......

5

结论

研究了基于BP 神经网络的变量处方施肥关系模型,实现以土壤中施氮、磷、钾含量和种植密度为输入参数,以作物的产量为预测目标的模拟关系,预测在一定范围内的氮磷钾投入配比可获得的最大产量。

在后续研究过程中,将进一步分析探讨大豆生长过程中干物质积累规律,探索作物生长期内缓释肥投放及优化作物生长阶段二次追肥的施肥策略,提高大豆栽培化肥的使用效率,完善变量施肥决策效果。参考文献:

[1]张书慧,马成林,吴才聪,等.地理信息系统在精确农业

变量施肥中的应用[J].农业机械学报,2003,34(3):92-95.

[2]蒋阿宁,黄文江,赵春江,等.基于光谱指数的变量施肥

对冬小麦产量构成的影响及其效益分析[J].麦类作物学报,2007,27(1):122-126.

[3]李志宏,刘宏斌,张云贵.叶绿素仪在氮肥推荐中的应用

研究进展[J].植物营养与肥料学报,2006,12(1):125-132.

[4]蒋阿宁.基于多源数据的冬小麦变量施肥研究[D].呼和

浩特:内蒙古农业大学,2007.

[5]薛绪掌,陈立平,孙治贵,等.基于土壤肥力与目标产量

的冬小麦变量施氮及其效果[J].农业工程学报,2004,20(3):59-62.

[6]蒋宗礼.人工神经网络导论[M].北京:高等教育出版社,

2008:5.

[7]张金娣.基于步进电机的自动变量施肥系统研究[D].昆

明:昆明理工大学,2010.

[8]沈清,胡德文,时春.神经网络应用技术[M].长沙:国防

科技大学出版社,1993.

相关主题
文本预览
相关文档 最新文档