一种基于动态多层极限学习机的灌溉方法转让专利

申请号 : CN201710605810.3

文献号 : CN107466816B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁永生刘天凤郝矿荣蔡欣王彤

申请人 : 东华大学

摘要 :

本发明涉及一种基于动态多层极限学习机的灌溉方法,首先采集多组训练数据,训练数据包括土壤环境数据、气象数据和灌溉作物的作物系数;然后对各组训练数据进行归一化处理构成训练集;再采用训练集训练多层极限学习机得到最终模型;最终采集测试数据并对其进行归一化处理后输入到最终模型,得到预测灌溉需水量,根据预测灌溉需水量进行灌溉。本发明根据计算精度采用“求同存异”策略,即如果模型对再次输入数据计算结果满足精度需求,则输出该模型,否则将在已有模型的基础上进行增量式学习训练,得到动态调整的模型,本发明提高了灌溉需水量的计算精度,降低了灌溉需水量预测时间损耗和计算成本,达到了合理利用水资源、合理灌溉农作物的目的。

权利要求 :

1.一种基于动态多层极限学习机的灌溉方法,其特征是,采集与已知灌溉需水量相关的数据并进行归一化处理后训练多层极限学习机得到最终预测模型,将与待求灌溉需水量相关的数据归一化处理后输入到最终预测模型得到预测灌溉需水量后进行灌溉,其中,多层极限学习机中上一层的输入和输出同时作为下一层的输入,动态多层极限学习机是指多层极限学习机在训练过程中隐含层节点数动态更新,步骤如下:(1)采集多组训练数据,每组训练数据包括土壤环境数据、气象数据和灌溉作物的作物系数;

(2)对每组训练数据进行归一化处理,所有组训练数据构成训练集;

(3)采用训练集训练多层极限学习机得到最终预测模型;

(4)采集多组测试数据,每组测试数据包括土壤环境数据、气象数据和灌溉作物的作物系数;

(5)对每组测试数据进行归一化处理后输入到最终预测模型,得到预测灌溉需水量,根据预测灌溉需水量进行灌溉;

所述采用训练集训练多层极限学习机的具体步骤如下:

1)根据滑动窗口大小将所有组训练数据按采集时间顺序等分为n个数据块并顺序编号,滑动窗口的单位为组;

2)采用数据块1训练多层极限学习机得到模型M1;

3)令j=2;

4)将数据块j输入集成预测模型C(j-2)得到预测灌溉需水量并计算预测精度pi和预测结果决定系数R2,集成预测模型C(j-2)是指数据块(j-1)训练得到的模型,集成预测模型C0是模型M1;

5)判断预测精度pi是否大于等于设定预测精度E1,如果是,则输出模型M(j-1)即为集成预测模型C(j-1),否则,进入下一步;

6)根据预测结果决定系数R2更新多层极限学习机的隐含层节点数;

7)根据数据块j采用增量式学习机制更新多层极限学习机的输出权值矩阵得到增量式多层极限学习机;

8)采用数据块j训练增量式多层极限学习机得到模型Mj,模型Mj即为集成预测模型C(j-1);

9)令j=j+1;

10)循环步骤4)~8)至j=n,得到的集成预测模型C(n-1)即为最终预测模型。

2.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述土壤环境数据和气象数据具体为:土壤日平均温度、土壤日平均湿度、空气日平均温度、空气日平均湿度、日平均太阳总辐射、2m高处的风速和大气压强,温度的单位为℃,湿度的单位为%,所述日平均太阳总辐射的单位为MJm-2day-1,所述风速的单位为m·s-1,所述压强的单位为KPa;所述作物系数是指查询灌溉作物类型根据不同生长期专家给出每个生长期的经验值。

3.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,步骤(2)和步骤(5)中的归一化处理是指将采集的所有数据归一化到[-1,1],归一化公式如下:式中,X为归一化后的数据,X*为当前需要归一化的数据,xmin为需要归一化的数据中的最小值,xmax为需要归一化的数据中的最大值。

4.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述训练集中含有4000~5000组训练数据,所述滑动窗口大小为500组。

5.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述多层极限学习机为双层极限学习机。

6.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述多层极限学习机的构建步骤如下:(1)初始化多层极限学习机网络的输入参数,并选择隐含层的激活函数g(x);所述输入参数包括输入层数、隐含层节点数和输出层数,其中输入层数为输入数据种类的个数,输出层数为1,隐含层节点数的初始化公式如下:式中, 为第k层极限学习机的隐含层节点数, 为第k层极限学习机的输入层节点数, 为第k层极限学习机的输出层节点数;

所述激活函数g(x)的方程式如下:

式中,x为自变量,在极限学习机网络中假设给定N组样本{(Xs,ts)},s=1,...N,假设基本极限学习机的隐含层节点数为 则这里的x在极限学习机中具体指Wv·Xs+bv,Wv为输入层与隐含层之间的连接权值,bv为阈值, Xs为输入向量,e为自然常数;

(2)根据输入层节点数与隐含层节点数分别随机初始化多层极限学习机网络输入层与隐含层之间的连接权值Wv和阈值bv,初始化范围为[-0.5,0.5];

(3)根据输入层与隐含层之间的连接权值Wv、阈值bv和激活函数g(x)计算隐含层输出矩阵H,隐含层输出矩阵H的表达式如下:(4)根据隐含层输出矩阵H计算多层极限学习机输出权值矩阵β,公式如下:式中, 表示求矩阵H的Moore-Penrose广义逆,λ为正则化系数,I为单位矩阵,T为期望输出矩阵,T中的元素为由FAO-56PM方程乘以作物系数计算得到的作物需水量。

7.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述预测精度pi的计算公式如下:式中,ETPM56(i)为通过FAO-56PM方程对第i组数据作物需水量的计算值再乘以相应的作物系数得到的作物需水量,单位为mm·day-1,ETpredicted(i)为第i组数据作物的预测灌溉需水量,单位为mm·day-1,N为输入样本的组数;

所述设定预测精度E1的取值范围为大于0.90;

所述决定系数R2的计算公式如下:

式中,meanETpredicted为求N组数据预测值的平均数;

ETPM56的计算公式如下:

式中,Δ为饱和水汽压-温度的函数关系曲线斜率,单位为KPa·℃-1,Rn为输入冠层的-2 -1 -2 -1净辐射,单位为MJm day ,G为土壤热通量,这里忽略不计,单位为MJm day ,es为饱和水汽压,单位为KPa,ea为实际水汽压,单位为KPa,γ代表温度计常数,单位为KPa·℃-1,Q为日平均气温,单位为℃,u为2米高处的风速,单位为m·s-1,Crop为作物系数;Δ的计算公式如下:

8.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,所述根据预测结果决定系数R2更新多层极限学习机的隐含层节点数是指根据预测结果决定系数R2定义更新机制,具体公式如下:式中,c=5,ε=0.01。

9.根据权利要求1所述的一种基于动态多层极限学习机的灌溉方法,其特征在于,第j个数据块输入时增量式多层极限学习机的输出权值矩阵βj如下:式中,j≥2,Hj为第j个数据块输入时增量式多层极限学习机的隐含层输出矩阵,Tj为第j个数据块输入时增量式多层极限学习机的期望输出矩阵,当j=2时,βj-1为第1个数据块输入时多层极限学习机的输出权值矩阵,H1为第1个数据块输入时多层极限学习机的隐含层输出矩阵,T1为第1个数据块输入时多层极限学习机的期望输出矩阵。

说明书 :

一种基于动态多层极限学习机的灌溉方法

技术领域

[0001] 本发明属于农业物联网智能灌溉领域,涉及一种基于动态多层极限学习机的灌溉方法。

背景技术

[0002] 农业物联网是新一代信息技术在农业领域的高度集成和综合运用,对我国农业信息化发展具有重要引领作用,改变了传统农业生产方式,促进了农业向智能化、精细化方向的转变。利用大量的传感器节点采集农作物生产环境实时信息,通过网络技术构成监控系统,帮助农民及时发现问题,并且准确地确定发生问题的位置。使原本依赖于孤立机械的生产模式转向以信息和软件为中心的智能化生产模式,从而达到农业高效生产的目的。
[0003] 农业物联网智能灌溉领域中通过准确地计算灌溉需水量,了解作物需水规律,是制定科学、合理的灌溉制度,确定灌区灌溉用水量,实施精细灌溉的基础;是达到节水、高产、高效目的,实现灌区水资源可持续发展的有效手段和基本保障;是制定流域规划、地区水利规划、水资源利用规划以及灌排工程的规划、设计、管理等领域的基本依据。通过准确地计算以确定灌溉方法对于减小作物生育期的水分消耗,提高水分利用率,发展节水农业有着十分重要的意义。
[0004] 目前在农业灌溉方法领域已有大量的研究成果,以期达到为灌溉管理层和决策者提供直观的可视化决策依据,指导灌区做到适时适量灌溉,提高灌区灌溉水资源的合理利用率。发明专利CN 201610951658.X公开了一种未来气候条件下作物灌溉需水量计算方法,该方法根据作物田间试验的生育期数据和积温公式,构建作物播种日期和作物生育期长度对温度的响应模型;利用彭曼公式结合单作物系数法和土壤水分胁迫系数计算作物逐日需水量;再基于作物灌溉制度和水量平衡原理计算作物逐日灌溉需水量。虽然该方法处理结果相对准确,但该方法需要采集的信息量较多,例如彭曼公式涉及的土壤热通量,适用面较小,难以推广。发明专利CN 201710020805.6提供了一种农田灌溉水量计算方法和装置,提出了根据机理模型计算目标区所述目标区灌溉的作物蒸散量,再计算需水量。虽然该方法处理结果较为准确,但该方法同样存在土壤参数如土壤含水率,获取比较昂贵的问题,需要采用专用设备监测,使用成本较高。发明专利CN 201611093504.8提供了一种基于改进极限学习机的作物蒸腾量预测方法,该方法采用粒子群优化算法优化极限学习机网络输入层与隐含层之间的输入权值和阈值,这提高了蒸腾量的计算精度,但在迭代寻优过程中所耗时间相对本专利所述方法相对较长,对于大规模数据量不能实现快速处理。
[0005] 因此,一种数据处理快速、数据处理规模大、同时在所给数据参数种类较少的情况下能短时间准确的计算作物需水量的灌溉方法极具应用前景。

发明内容

[0006] 本发明的目的是克服现有技术中数据处理规模小、数据处理速度慢及所给训练数据种类较少等问题,提供一种数据处理快速、数据处理规模大、同时在所给数据参数种类较少的情况下能短时间准确的计算作物需水量的灌溉方法。
[0007] 为了达到上述目的,本发明采用的技术方案为:
[0008] 一种基于动态多层极限学习机的灌溉方法,采集与已知灌溉需水量相关的数据并进行归一化处理后训练多层极限学习机得到最终预测模型,将与待求灌溉需水量相关的数据归一化处理后输入到最终预测模型得到预测灌溉需水量后进行灌溉,其中,多层极限学习机中上一层的输入和输出同时作为下一层的输入,模拟了人脑的再次巩固学习机理,动态多层极限学习机是指多层极限学习机在训练过程中隐含层节点数动态更新,隐含层节点数的动态更新主要是基于预测精度与隐含层节点之间存在一定的关系,因而可以根据当前数据的预测结果动态调整,步骤如下:
[0009] (1)采集多组训练数据,每组训练数据包括土壤环境数据、气象数据和灌溉作物的作物系数;
[0010] (2)对每组训练数据进行归一化处理,所有组训练数据构成训练集;
[0011] (3)采用训练集训练多层极限学习机得到最终预测模型;
[0012] (4)采集多组测试数据,每组测试数据包括土壤环境数据、气象数据和灌溉作物的作物系数;
[0013] (5)对每组测试数据进行归一化处理后输入到最终预测模型,得到预测灌溉需水量,根据预测灌溉需水量进行灌溉;
[0014] 所述采用训练集训练多层极限学习机的具体步骤如下:
[0015] 1)根据滑动窗口大小将所有组训练数据按采集时间顺序等分为n个数据块并顺序编号,滑动窗口的单位为组;
[0016] 2)采用数据块1训练多层极限学习机(DELM)得到模型M1,训练过程中首先将数据块1输入到第一层极限学习机得到第一层预测结果,然后将数据块1和第一层预测结果同时作为输入参数输入到第二层极限学习机中得到第二层预测结果,接着将数据块1、第一层预测结果和第二层预测结果同时作为输入参数输入到第三层极限学习机中得到第三层预测结果,依次类推得到模型M1;
[0017] 3)令j=2;
[0018] 4)将数据块j输入集成预测模型C(j-2)得到预测灌溉需水量并计算预测精度pi和预测结果决定系数R2,集成预测模型C(j-2)是指数据块(j-1)训练得到的模型,集成预测模型C0是模型M1;
[0019] 5)判断预测精度pi是否大于等于设定预测精度E1,如果是,则采用“求同”策略输出模型M(j-1)即为集成预测模型C(j-1),否则,采用“存异”策略,进入下一步;
[0020] 6)根据预测结果决定系数R2更新多层极限学习机(DELM)的隐含层节点数;
[0021] 7)根据数据块j采用增量式学习机制更新多层极限学习机(DELM)的输出权值矩阵得到增量式多层极限学习机(IDELM),每当新增数据时,并不需要重建所有的知识库,而是在原有知识库的基础上,仅做由于新增数据所引起的更新,符合人脑的思维原理;
[0022] 8)采用数据块j训练增量式多层极限学习机(IDELM)得到模型Mj,模型Mj即为集成预测模型C(j-1);
[0023] 9)令j=j+1;
[0024] 10)循环步骤4)~8)至j=n,得到的集成预测模型C(n-1)即为最终预测模型。
[0025] 作为优选的技术方案:
[0026] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述土壤环境数据和气象数据具体为:土壤日平均温度、土壤日平均湿度、空气日平均温度、空气日平均湿度、日平均太阳总辐射、2m高处的风速和大气压强,温度的单位为℃,湿度的单位为%,所述日平均太阳总辐射的单位为MJm-2day-1,所述风速的单位为m·s-1,所述压强的单位为KPa;所述作物系数是指查询灌溉作物类型根据不同生长期专家给出每个生长期的经验值。
[0027] 如上所述的一种基于动态多层极限学习机的灌溉方法,步骤(2)和步骤(5)中的归一化处理是指将采集的所有数据归一化到[-1,1],归一化公式如下:
[0028]
[0029] 式中,X为归一化后的数据,X*为当前需要归一化的数据,xmin为需要归一化的数据中的最小值,xmax为需要归一化的数据中的最大值。
[0030] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述训练集中含有4000~5000组训练数据,所述滑动窗口大小为500组。
[0031] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述多层极限学习机为双层极限学习机。
[0032] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述多层极限学习机的构建步骤如下:
[0033] (1)初始化多层极限学习机网络的输入参数,并选择隐含层的激活函数g(x);所述多层极限学习机网络的输入层为土壤环境数据、气象数据和作物系数,输出层为灌溉需水量;所述输入参数包括输入层数、隐含层节点数和输出层数,其中输入层数为输入数据种类的个数,输出层数为1,隐含层节点数的初始化公式如下:
[0034]
[0035] 式中, 为第k层极限学习机的隐含层节点数, 为第k层极限学习机的输入层节点数, 为第k层极限学习机的输出层节点数;
[0036] 所述激活函数g(x)用于计算隐含层与输出层之间的输出权值,所述激活函数g(x)这里选取sigmod函数的方程式如下:
[0037]
[0038] 式中,x为自变量,在极限学习机网络中,x具体指Wv·Xs+bv,Wv为输入层与隐含层之间的连接权值,bv为阈值, Xs为输入向量,e为自然常数, 为隐含层节点数;
[0039] (2)根据输入层节点数与隐含层节点数分别随机初始化多层极限学习机网络输入层与隐含层之间的连接权值Wv和阈值bv,初始化范围为[-0.5,0.5];
[0040] (3)根据输入层与隐含层之间的连接权值Wv、阈值bv和激活函数g(x)计算隐含层输出矩阵H,具体为:在极限学习机网络中假设给定N组样本{(Xs,ts)},s=1,...N,假设基本极限学习机(ELM)的隐含层节点数为 则极限学习机网络结构如下:
[0041]
[0042] 式中,Xs=[Xs1,Xs2,...,Xsn]T∈Rn,ts=[ts1,ts2,...,tsm]T∈Rm,Xs和ts分别代表输入变量和对应的输出变量,Wv=[Wv1,Wv2,...,Wvn]T是连接第v隐含层节点与n个输入层之间的输入权值向量,bv是第v隐含层的阈值向量, βv=[βv1,βv2,...,βvm]T是连接第v隐含层节点与m个输出层之间的权值向量,Wv·Xs表示求内积;
[0043] 上述方程变换得到:
[0044] Hβ=T;
[0045] 式中,H为隐含层输出矩阵,β为输出权值矩阵,T为期望输出矩阵,T中的元素为由FAO-56PM方程乘以作物系数计算得到的作物需水量,其中:
[0046]
[0047] 由于输入层与隐含层之间的输入权值和阈值为确定值,则Wv和bv取值确定,可以计算出隐含层输出矩阵H;
[0048] (4)根据隐含层输出矩阵H计算多层极限学习机输出权值矩阵β,公式如下:
[0049]
[0050] 式中, 表示求矩阵H的Moore-Penrose广义逆,λ为正则化系数,I为单位矩阵,T为期望输出矩阵,T中的元素为由FAO-56PM方程乘以作物系数计算得到的作物需水量。
[0051] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述预测精度pi的计算公式如下:
[0052]
[0053] 式中,ETPM56(i)为通过FAO-56PM方程对第i组数据作物需水量的计算值再乘以相应的作物系数得到的作物需水量,单位为mm·day-1,ETpredicted(i)为第i组数据作物的预测灌溉需水量,单位为mm·day-1,N为输入样本的组数;
[0054] 所述设定预测精度E1的取值范围为大于0.90,根据实际情况预测精度要求确定;
[0055] 所述决定系数R2的计算公式如下:
[0056]
[0057] 式中,meanETpredicted为求N组数据预测值的平均数;
[0058] 所述ETPM56(i)的计算公式如下:
[0059]
[0060] 式中,Δ为饱和水汽压-温度的函数关系曲线斜率,单位为KPa·℃-1,Rn为输入冠层的净辐射,单位为MJm-2day-1,G为土壤热通量,这里忽略不计,单位为MJm-2day-1,es为饱和-1水汽压,单位为KPa,ea为实际水汽压,单位为KPa,γ代表温度计常数,单位为KPa·℃ ,Q为日平均气温,单位为℃,u为2米高处的风速,单位为m·s-1,Crop为作物系数;Δ的计算公式如下:
[0061]
[0062] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述根据预测结果决定系数R2更新多层极限学习机(DELM)的隐含层节点数是指根据预测结果决定系数R2定义更新机制,具体公式如下:
[0063]
[0064] 式中,c为正整数,取5;ε为一个接近于0的常数,取0.01,防止除数为0;R2为决定系数,决定系数R2越接近1,预测精度越高。
[0065] 如上所述的一种基于动态多层极限学习机的灌溉方法,所述增量式多层极限学习机是指根据模型M(j-1)和数据块j从新数据中学习新知识,以前已经处理过的数据不需要重复处理,与最基本的极限学习机相比,每增加新数据块,多层极限学习机的输出权值矩阵需要根据新数据块进行更新:
[0066] 根据基本极限学习机可知第1个数据块输出权值矩阵计算公式为:
[0067]
[0068] 增量式学习机制的第2个数据块的输出权值矩阵计算公式为:
[0069]
[0070] 式中,
[0071] 以此类推,可得第j个数据块输入时增量式多层极限学习机的输出权值矩阵βj如下:
[0072]
[0073]
[0074]
[0075] 式中,j≥2,Hj为第j个数据块输入时增量式多层极限学习机的隐含层输出矩阵,Tj为第j个数据块输入时增量式多层极限学习机的期望输出矩阵,β1为第1个数据块输入时多层极限学习机的输出权值矩阵,H1为第1个数据块输入时多层极限学习机的隐含层输出矩阵,T1为第1个数据块输入时多层极限学习机的期望输出矩阵。
[0076] 有益效果:
[0077] (1)本发明的一种基于动态多层极限学习机的灌溉方法,采用智能动态多层极限学习机算法计算灌溉需水量,提出了多层极限学习机算法,该算法针对大规模数据处理效果比标准极限学习机算法泛化性能和数据处理稳定性能好;
[0078] (2)本发明的一种基于动态多层极限学习机的灌溉方法,根据计算处理结果动态调整隐含层节点个数,改进极限学习机算法不仅学习速度很快,时间损耗低,而且对灌溉需水量的计算精度高;
[0079] (3)本发明的一种基于动态多层极限学习机的灌溉方法,将采集的数据分成数据块,根据计算精度,采用“求同存异”策略,即如果模型对再次输入数据计算结果满足精度需求,就直接输出该模型,否则将在已有模型的基础上进行增量式学习训练,得到动态调整的模型,可以实现从新数据中学习新知识,而以前已经处理过的数据不需要重复训练。

附图说明

[0080] 图1为本发明的一种基于动态多层极限学习机(DELM)的灌溉方法的步骤框图;
[0081] 图2为本发明的多层极限学习机的构建步骤框图;
[0082] 图3为本发明的预测作物灌溉需水量计算网络结构示意图;
[0083] 图4为本发明的sigmoid激活函数的示意图;
[0084] 图5为真实作物需水量值、基本极限学习机(ELM)预测作物需水量与DELM预测作物需水量的对比图;
[0085] 图6为ELM与本发明DELM预测作物需水量绝对值误差曲线图。

具体实施方式

[0086] 下面结合具体实施方式,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0087] 实施例1
[0088] 一种基于动态双层极限学习机的灌溉方法如图1所示,采集与已知灌溉需水量相关的数据并进行归一化处理后训练双层层极限学习机得到最终预测模型,将与待求灌溉需水量相关的数据归一化处理后输入到最终预测模型得到预测灌溉需水量后进行灌溉,其中,具体步骤如下:
[0089] (1)采集农田的土壤环境数据和气象数据,采集的土壤环境数据和气象数据来自上海市农业委员会信息中心研发的农业物联网设备,包括土壤日平均温度和湿度、空气日平均温度和湿度、日平均太阳总辐射、2m高处的风速、大气压强以及对应的作物系数,其中温度的单位为℃,湿度的单位为%,日平均太阳总辐射的单位为MJm-2day-1,风速的单位为m·s-1,压强的单位为KPa;查询灌溉作物类型根据不同生长期专家给出每个生长期的经验值;
[0090] (2)对步骤(1)中采集的所有数据进行归一化得到训练集;归一化是指将采集的所有数据归一化到[-1,1],归一化公式如下:
[0091]
[0092] 式中,x为归一化后的数据,x*为当前需要归一化的数据,xmin为需要归一化的数据中的最小值,xmax为需要归一化的数据中的最大值;
[0093] (3)采用训练集训练双层极限学习机得到最终预测模型:
[0094] 1)选取4000组数据,将数据按照时间顺序排列,按照500组数据作为一个数据块分块,将数据分为8个数据块并顺序编号;
[0095] 2)采用数据块1训练双层极限学习机得到模型M1,训练过程中首先将数据块1输入到第一层极限学习机得到第一层预测结果,然后将数据块1和第一层预测结果同时作为输入参数输入到第二层极限学习机中得到模型M1,该双层极限学习机构建的基本步骤如图2所示:
[0096] i)初始化双层极限学习机网络的输入参数,并选择隐含层的激活函数g(x);输入参数包括输入层数、隐含层节点数和输出层数,其中输入层数为输入数据种类的个数,输出层数为1,隐含层节点数的初始化公式如下:
[0097]
[0098] 式中, 为第k层极限学习机的隐含层节点数, 为第k层极限学习机的输入层节点数, 为第k层极限学习机的输出层节点数;
[0099] 激活函数g(x)如图4所示,其方程式如下:
[0100]
[0101] 式中,x为自变量,在极限学习机网络中假设给定N组样本{(Xs,ts)},s=1,...N,则这里的x在极限学习机中具体指Wv·Xs+bv,Wv为输入层与隐含层之间的连接权值,bv为阈值,Xs为输入向量,e为自然常数;
[0102] ii)根据输入层节点数与隐含层节点数分别随机初始化双层极限学习机网络输入层与隐含层之间的连接权值Wv和阈值bv,初始化范围为[-0.5,0.5];
[0103] iii)根据输入权值和阈值、激活函数g(x)计算隐含层输出矩阵H,具体为:假设在极限学习机网络中给定N组样本{(Xs,ts)},s=1,...N,隐含层节点为 则极限学习机网络结构如下:
[0104]
[0105] 式中,Xs=[Xs1,Xs2,...,Xsn]T∈Rn,ts=[ts1,ts2,...,tsm]T∈Rm,Xs和ts分别代表输入变量和对应的输出变量,Wv=[Wv1,Wv2,...,Wvn]T是连接第v隐含层节点与n个输入层之间的输入权值向量,bv是第v隐含层的阈值向量,βv=[βv1,βv2,...,βvm]T是连接第v隐含层节点与m个输出层之间的权值向量,Wv·Xs表示求内积;
[0106] 上述方程变换得到:
[0107] Hβ=T;
[0108] 式中,H为隐含层输出矩阵,β为输出权值矩阵,T为期望输出矩阵,T中的元素为由FAO-56PM方程乘以作物系数计算得到的作物需水量,其中:
[0109]
[0110] 由于输入层与隐含层之间的输入权值和阈值为确定值,则Wv和bv取值确定,可以计算出隐含层输出矩阵H;
[0111] iv)根据极限学习机网络隐含层的激活函数g(x)计算隐含层输出矩阵H,计算极限学习机输出权值矩阵β,所述计算极限学习机输出权值矩阵β的公式如下:
[0112]
[0113] 式中, 表示求矩阵H的Moore-Penrose广义逆,λ为正则化系数,I为单位矩阵;
[0114] 3)将数据块2输入模型M1得到预测灌溉需水量并计算预测精度pi和预测结果决定系数R2,其计算过程如图3所示,其中
[0115]
[0116] 式中,ETPM56(i)为通过FAO-56PM方程对第i粒子作物需水量的计算值再乘以相应、的作物系数得到的作物灌溉需水量,单位为mm·day-1,ETpredicted(i)为极限学习机对第i粒子作物需水量的训练预测值,单位为mm·day-1,N为输入样本的组数;
[0117] 作物灌溉需水量ETPM56的计算公式如下:
[0118]
[0119] 式中,Δ为饱和水汽压-温度的函数关系曲线斜率,单位为KPa·℃-1,Rn为输入冠层的净辐射,单位为MJm-2day-1,G为土壤热通量,这里忽略不计,单位为MJm-2day-1,es为饱和水汽压,单位为KPa,ea为实际水汽压,单位为KPa,γ代表温度计常数,单位为KPa·℃-1,Q为-1日平均气温,单位为℃,u为2米高处的风速,单位为m·s ;crop为作物系数;
[0120] Δ的计算公式如下:
[0121]
[0122] 决定系数R2越接近1,预测精度越高,决定系数R2的计算公式为:
[0123]
[0124] 4)判断预测精度pi是否大于等于设定预测精度E1(0.93),如果是,则输出模型M1即为集成预测模型C1,否则,进入下一步;
[0125] 5)根据预测结果决定系数R2更新双层极限学习机的隐含层节点数,其中
[0126]
[0127] 式中,c=5,ε=0.01;
[0128] 6)根据数据块2采用增量式学习机制更新双层极限学习机的输出权值矩阵得到增量式双层极限学习机,第j个数据块输入时增量式双层极限学习机的输出权值矩阵βj如下:
[0129]
[0130]
[0131]
[0132] 式中,j≥2,Hj为第j个数据块输入时增量式双层极限学习机的隐含层输出矩阵,Tj为第j个数据块输入时增量式双层极限学习机的期望输出矩阵,当j=2时,βj-1为第1个数据块输入时双层极限学习机的输出权值矩阵,H1为第1个数据块输入时双层极限学习机的隐含层输出矩阵,T1为第1个数据块输入时双层极限学习机的期望输出矩阵;
[0133] 7)采用数据块2训练增量式双层极限学习机得到模型M2,模型M2即为集成预测模型C1,训练步骤同步骤2);
[0134] 8)将数据块3输入集成预测模型C1得到预测灌溉需水量并计算预测精度和预测结果决定系数R2,计算步骤同步骤3);
[0135] 9)循环步骤3)~7)直到数据块8输入后,得到的集成预测模型C7即为最终预测模型;
[0136] (4)采集五组测试数据,每组测试数据包括土壤环境数据、气象数据和灌溉作物的作物系数;对每组测试数据进行如步骤(2)所示归一化处理后输入到最终预测模型C7,得到最终预测灌溉需水量,根据预测灌溉需水量进行灌溉,预测灌溉需水量及其与真实值的误2
差如图5和图6所示,其预测指标决定系数R=0.98244。
[0137] 对比例1
[0138] 一种基于标准极限学习机的灌溉方法,本例数据与实施例1相同,最终所得预测灌溉需水量及其与真实值的误差如图5和图6所示,其预测指标决定系数R2=0.9473,由图5和图6可以看出,本发明的动态多层极限学习机相对于标准极限学习机能够更加准确地计算灌溉需水量,实现合理灌溉。
[0139] 实施例2
[0140] 一种基于动态多层极限学习机的灌溉方法,其方法与实施例1基本相同,不同之处在于其多层极限学习机为三层极限学习机,选用的数据共5000组,分为10个数据块,最终计算所得预测灌溉需水量与实际需求值的预测指标决定系数R2=0.97405,所述预测结果都是程序运行20次取的平均值。