首页> 中国专利> 基于滚动BP神经网络的温室小气候中长期预测方法

基于滚动BP神经网络的温室小气候中长期预测方法

摘要

本发明提出一种基于滚动BP神经网络的温室小气候中长期预测方法,根据预测时间,每个时刻构建一个BP神经网络,最终形成一个滚动的BP神经网络群,本方法运行包括两个阶段,首先采用自动编码器进行无监督学习获得良好的初始网络参数,再利用改进的局部粒子群优化方法优化该网络参数,建立初始BP神经网络;然后在初始BP神经网络的基础上,将前一个网络的输出作为后一个网络的部分输入进行滚动训练和预测。本发明能够较准确地预测不同季节不同地域下的温室中长期环境变化趋势,并有效提高温室小气候的预测精度。

著录项

  • 公开/公告号CN107180261A

    专利类型发明专利

  • 公开/公告日2017-09-19

    原文格式PDF

  • 申请/专利权人 南京农业大学;

    申请/专利号CN201710426571.5

  • 发明设计人 任守纲;刘鑫;顾兴健;徐焕良;

    申请日2017-06-08

  • 分类号

  • 代理机构南京天华专利代理有限责任公司;

  • 代理人莫英妍

  • 地址 210095 江苏省南京市玄武区卫岗1号

  • 入库时间 2023-06-19 03:21:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-07

    专利权的转移 IPC(主分类):G06N 3/08 专利号:ZL2017104265715 登记生效日:20230327 变更事项:专利权人 变更前权利人:南京农业大学 变更后权利人:上海蓝长自动化科技有限公司 变更事项:地址 变更前权利人:210095 江苏省南京市玄武区卫岗1号 变更后权利人:201906 上海市宝山区沪太路4361号8号楼8312

    专利申请权、专利权的转移

  • 2020-03-17

    授权

    授权

  • 2017-10-20

    实质审查的生效 IPC(主分类):G06N3/08 申请日:20170608

    实质审查的生效

  • 2017-09-19

    公开

    公开

说明书

技术领域

本发明属于设施农业环境预测领域,尤其是一种基于滚动BP神经网络的温室小气候中长期预测方法。

背景技术

温室的高效生产依赖于适宜的温室小气候环境,建立高精度的温室小气候中长期预测模型对实现温室环境优化调控具有重要意义。目前温室中常用的阈值调控法虽然简单易行,但能耗高、系统稳定性差。基于比例-积分-微分(Proportion-Integral-Derivative,PID)控制器和模型预测控制(Model Predictive Control,MPC)等自动控制方法,可靠性高、能耗较低,但需要提前预测多个时段的环境参数。温室小气候模拟模型主要分为两类:一是机理模型,其参数较难确定,不适用于温室环境控制。二是实验模型,也称系统辨识,可以对模型参数进行在线调整,以满足控制的要求。实验模型中常用的是人工神经网络模型,由于BP神经网络简单且容错能力强,在温室小气候预测中应用最为广泛。

目前国内外学者针对不同温室环境建立了基于BP神经网络的小气候模拟模型,取得了良好的效果,研究表明人工神经网络在温室小气候环境预测方面切实可行,但这些预测模型多数只能进行单步预测,即短期预测,无法实现中长期预测,不能满足优化调控的要求。另外,采用BP神经网络建模具有一定的优势,但是其也有一些缺陷与不足,如易陷入局部最小值、过分依赖初始权值的选取以及泛化能力差等问题,因此BP神经网络预测的精度仍有很大的提升空间。以往的很多研究者针对BP神经网络的缺陷没有提出改进的方法,仅选取最优的结果展示出来,事实上这些结果在一定程度上并没有说服力。如何提高BP神经网络的预测精度,并实现温室小气候的中长期预测,值得进一步研究和探讨。

发明内容

本发明所解决的技术问题在于提供一种基于滚动BP神经网络的温室小气候中长期预测方法,根据预测时间构建一个滚动的BP神经网络群,将前一个网络的输出作为后一个网络的部分输入进行滚动式的训练和预测,有效提高温室小气候的预测精度。

实现本发明目的的技术解决方案为:

基于滚动BP神经网络的温室小气候中长期预测方法,包括以下步骤:

步骤1:建立初始BP神经网络f1,设当前时刻为t,输入t时刻的温室内部温湿度,输出预测的t+1时刻的温室内部温湿度,并得到f1的网络参数;

步骤2:建立滚动的BP神经网络群,包括n-1个神经网络fn,每个神经网络fn包含训练集train_Xn和测试集test_Xn,相邻两个神经网络的训练集和测试集之间均相隔一个时刻,其中,train_Xn表示t+n-1时刻的训练集,test_Xn表示t+n-1时刻的测试集,n≥2;

步骤3:利用train_Xn和网络参数结合梯度下降法训练fn模型,训练完成后,再将train_Xn输入到fn模型中,输出模拟结果train_Yn;将test_Xn输入到fn模型中,输出预测结果test_Yn

步骤4:令n=n+1,转到步骤3。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,步骤1具体包括:

步骤1-1:基于无监督学习模型对t时刻的温室内部温湿度进行预训练,抽取输入数据的特征,并重构后输出;

步骤1-2:将数据的特征作为BP神经网络的初始化参数,进行有监督的目标学习,采用改进的局部粒子群优化方法结合遗传算法优化该BP神经网络的权重和阈值参数;

步骤1-3:采用最优权重和阈值参数建立初始BP神经网络f1,输出预测的t+1时刻的温室内部温湿度。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,步骤1-1所述的对输入数据重构的方法具体为:将输入层与隐藏层之间的权重和阈值{W(1),b(1)}作为编码器,编码函数采用sigmoid函数;将隐藏层与输出层之间的权重和阈值{W(2),b(2)}作为译码器,译码函数采用tanh函数。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,步骤1-2的具体步骤为:

步骤1-2-1:将种群分为两个子群,在spmd并行结构中同时进行计算,初始化种群速度和位置、学习率C1和C2、惯性权重;

步骤1-2-2:将次数低于平均值的粒子次数清零,全局最优赋给子群全局最优,即badNum[N]=0,PLg=Pg,badNum为粒子次数,N为次数低于平均数的粒子编号,PLg为子群全局最优,Pg为全局最优;

步骤1-2-3:更新粒子的速度和位置:

vi(t+1)=ωvi(t)+c1r1(pavg-xi(t))+c2r2(pLg-xi(t)),xi(t+1)=xi(t)+vi(t+1),其中,i=1,2,…,N,t为当前迭代次数,ω是惯性权重,c1、c2是加速因子,r1、r2是[0,1]区间的随机数,vi(t)为粒子原速度,vi(t+1)为更新后的粒子速度,pavg为个体极值中心点,pLg为每个子群的全局最优位置,xi(t)为粒子原位置,xi(t+1)为更新后的粒子位置;

步骤1-2-4:引入交叉算子,若产生的随机数小于交叉概率PC,则两个子群执行交叉操作:xik=pLg1k,xjl=pLg2l,其中,xik为第一个子群中第i个粒子位置的第k维元素,pLg1k为第一个子群全局最优位置的第k维元素,xjl为第二个子群中第j个粒子位置的第l维元素,pLg2l为第二个子群全局最优位置的第l维元素,i、j=1,2,…,N/2且i≠j,k∈[(IN+1)*HN+1,D],l∈[1,(IN+1)*HN],IN为神经网络的输入层神经元个数,HN为隐藏层神经元个数,D为粒子的维度,并计算每个粒子的适应度J(i),若随机数大于交叉概率PC,则不进行任何操作;

步骤1-2-5:更新局部最优Pi,若更新后的粒子位置优于原来的粒子位置,则将新粒子位置作为该粒子的Pi,并作为本次迭代中的全局最优PLg,更新个体机制中心点Pavg,计算每个子群平均适应度fit_avg,若更新后的粒子位置未优于原来的粒子位置,则不进行任何操作;

步骤1-2-6:引入变异算子,若J(i)<fit_avg,则令badNum(i)+1,若badNum(i)≥badNumLimit,则随机初始化粒子的位置和速度:xid=a+(b-a)*rand,vid=m+(n-m)*rand,其中d=1,2,…,D,a和b是限定粒子的最小和最大位置,m和n是限定粒子的最小和最大速度,rand为[0,1)之间的均匀随机数;

步骤1-2-7:判断是否达到预设的内部迭代次数,若是,则比较两子群的子群最优,获得全局最优,若否,则转步骤1-2-3;

步骤1-2-8:判断是否达到最大迭代次数或满足gbest(n)-gbest(n-4)<=0.0001,若是,则停止迭代,若否,则砖步骤1-2-2。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,步骤1的预测公式为:

其中,(P)t为t时刻环境参数,(Tin)t为t时刻温室实测温度,(Hin)t为t时刻温室实测湿度,为预测的t+1时刻温室温度,为预测的t+1时刻温室湿度。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,步骤2中的一个时刻为15min。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,训练集train_Xn包括t+n-1时刻的温室外部环境影响因素(P)t+n-1和神经网络fn-1的训练集模拟结果train_Yn-1,其中train_Yn-1包括预测的t+n-1时刻的温室内部温湿度。

进一步的,本发明的基于滚动BP神经网络的温室小气候中长期预测方法,滚动的BP神经网络的预测公式为:

其中,(P)t+n-1为t+n-1时刻的环境参数,为预测的t+n-1时刻温室温度,为预测的t+n-1时刻温室湿度,为预测的t+n时刻温室温度,为预测的t+n时刻温室湿度。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明的方法可连续预测未来6-12小时的温室小气候,实验结果表明,与传统的BP单步提前滚动预测模型相比,滚动BP模型预测未来6小时温湿度误差可降低50%以上,大大降低了中长期滚动预测的累计误差,能够较准确地预测不同季节不同地域下的温室中长期环境变化趋势,为制定合理的小气候调控方案提供了依据。

2、本发明的方法第一阶段采用改进的BP神经网络,实验结果表明,与初始神经网络模型采用传统BP网络相比,本发明提出的滚动BP模型预测未来6小时温湿度误差可降低9.3%~45%,说明改进的BP神经网络是十分有效的,可切实提高滚动BP模型的整体预测精度。

3、本发明的方法首次将无监督学习模型用于温室小气候中长期预测中,实验结果表明,预测误差降低了10%左右,运行效率提高了20%以上。

4、本发明的方法采用改进的局部粒子群优化方法对BP神经网络进行优化,与标准的局部粒子群优化方法相比,预测温湿度误差降低10%~30%。

附图说明

图1是本发明的基于滚动BP神经网络的温室小气候中长期预测方法的模型结构图;

图2是本发明的改进的局部粒子群优化方法流程图;

图3是本发明的基于滚动BP神经网络的温室小气候中长期预测方法的第n个BP神经网络学习和预测流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

基于滚动BP神经网络的温室小气候中长期预测方法的结构图如图1所示,模型分为两个阶段,即建立初始BP神经网络和滚动的BP神经网络群。第一阶段的初始神经网络包括两步,即AE无监督学习和BP神经网络有监督学习。第二阶段构建滚动的BP神经网络群,fn-1(n>=2)模型的模拟输出将作为fn模型的部分输入,fn-1训练完成后,将fn-1的网络参数作为fn的初始网络参数,由于连续两个模型的预测时间间隔较短(15分钟),网络参数差异较小,而BP神经网络有较强的反向微调能力,因此f2~fn均采用BP神经网络,进一步缩小预测模型的误差。

根据室内外影响因子建立温室小气候的函数模型。设当前时刻为t,连续预测t+1~t+n时刻的数据,下式中,f1表示初始BP神经网络,采用t时刻的真实数据进行训练,网络输出为t+1时刻的温室内部温湿度;fn表示滚动BP神经网络中的第n(n>=2)个模型,采用t+n-1时刻的外界环境参数和fn-1模型室内温湿度模拟值进行训练,网络输出为t+n时刻的温室内部温湿度。

训练完n个网络后,保存每个BP神经网络的权重和阈值参数,再进行中长期滚动预测。预测过程是将fn-1的预测结果作为fn的部分输入进行不断滚动预测。

其中,P代表外界环境参数和温室内部设备状态,包含[Tout,Hout,Ws,Sr,Fs,Vs]中的任意多个参数,(P)t为t时刻环境参数,(Tin)t为t时刻温室实测温度,(Hin)t为t时刻温室实测湿度,为预测的t+1时刻温室温度,为预测的t+1时刻温室湿度;(P)t+n-1为t+n-1时刻的环境参数,为预测的t+n-1时刻温室温度,为预测的t+n-1时刻温室湿度,为预测的t+n时刻温室温度,为预测的t+n时刻温室湿度。

以下为实施滚动BP神经网络温室小气候中长期预测的具体过程。

1、构建初始BP神经网络

初始BP神经网络的预测结果和网络参数将分别作为第二个模型的部分输入和初始网络参数,进而影响滚动BP模型整体的预测结果。为提高预测精度,初始BP神经网络首先利用无监督学习模型AE进行无监督学习,抽取数据的特征;然后将AE的特征表达作为BP神经网络的初始化参数,再进行有监督的目标学习,并采用改进的局部粒子群优化方法来优化该网络权重和阈值。由于标准PSO算法存在易早熟、稳定性差等问题,因此本发明提出了一种改进的局部粒子群优化方法(IPSO)。最后将测试集输入训练完成的模型中验证网络的泛化能力。

(1)基于AE的BP神经网络初始参数优化

首先建立三层自动编码器网络,输入向量与输出向量各元素相等。输入层与隐藏层之间的权重和阈值{W(1),b(1)}为编码器,编码函数采用sigmoid函数;隐藏层与输出层之间的权重和阈值{W(2),b(2)}为译码器,译码函数采用tanh函数,则有:

Hi=sigmoid(W(1)Xi+b(1))

Yi=tanh(W(2)Hi+b(2))

AE是一种无监督学习模型,即训练数据是无标签的,输出为输入的重构,通过计算重构误差得到AE的权重参数,获得输入数据的特征表达。重构误差函数J(θ)下式所示。

式中m为训练样本的数量,n为网络层数,θ为神经网络的参数,包括权重和偏置项。大括号内第一项为模型输出值和期望值之间的均方差,第二项L2为正则项,用以减小权重变化幅度,避免过拟合。

(2)基于IPSO算法的BP神经网络参数优化

传统BP神经网络利用梯度下降法进行训练,局部微调性较强,但易陷入局部最优点。且由于网络参数较多,粒子的维度较高,在一定的粒子种群数量下PSO算法的性能会随着被优化问题维数的增加而降低,为了不增加算法的复杂度并提高精度,本发明提出了IPSO算法,包括:

(A)采取局部粒子群优化方法。即通过并行算法将种群分成多个子群,粒子的速度基于个体最优和子群全局最优更新,以加强全局搜索能力,同时提高算法的效率。由于神经网络结构较为复杂,粒子维度较高,因此本发明的方法将粒子速度更新公式基于个体极值中心点和全局极值。个体极值中心点为pavg=[pavg1,pavg2,…,pavgD],其中改进的粒子群速度更新公式如下式所示。

vi(t+1)=ωvi(t)+c1r1(pavg-xi(t))+c2r2(pLg-xi(t))

其中,pLg为每个子群的全局最优位置。

(B)引入遗传算法的交叉算子。即对粒子位置执行交叉操作,以增加种群多样性,避免算法早熟收敛。交叉时将网络参数分为两个部分,第一部分即神经网络输入层到隐藏层的参数{W(1),b(1)},第二部分为神经网络隐藏层到输出层的参数{W(2),b(2)}。设交叉概率为Pc,第一个子群的个体xi=[xi1,xi2,…,xiD]以Pc的概率与第一个子群的全局最优位置pLg1第二部分参数交叉;第二个子群的个体xj=[xj1,xj2,…,xjD]以Pc的概率与第二个子群的全局最优位置pLg2第一部分参数交叉,公式如下所示。

xik=pLg1k

xjl=pLg2l

其中,i,j=1,2,…,N/2且i≠j,k∈[(IN+1)*HN+1,D],l∈[1,(IN+1)*HN],IN为神经网络的输入层神经元个数,HN为隐藏层神经元个数,D为粒子的维度,即神经网络的权重和阈值参数个数之和,设输出层神经元个数为ON,则D=IN*HN+HN*ON+HN+ON。

(C)引入变异算子。种群进化过程中如果某个粒子的适应值多次低于群体平均适应值,则表明粒子的进化方向已经远远偏离最优解,不再适应当前的搜索环境,因此引入遗传算法的变异算子对该粒子执行变异操作,使陷入局部值的粒子跳出并继续寻找最优解,其他粒子则保持原状态继续进化,直至收敛。变异方式下式所示,即按初始化方式改变粒子的位置和速度。

xid=a+(b-a)*rand

vid=m+(n-m)*rand

其中,d=1,2,…,D,a和b是限定粒子的最小和最大位置,也即神经网络参数的范围;m和n是限定粒子的最小和最大速度,决定了粒子位子变化的幅度;rand为[0,1)之间的均匀随机数。

IPSO算法流程图如图2所示。具体算法流程如下:

步骤1:将种群分为两个子群,在spmd并行结构中同时计算,初始化种群速度和位置,初始化学习率c1、c2,惯性权重ω等参数;

步骤2:把统计每个粒子低于平均值的次数清0,即badNum[N]=0;把全局最优赋给子群全局最优PLg=Pg

步骤3:更新粒子的位置和速度;

步骤4:引入交叉算子。若产生的随机数小于交叉概率Pc,两个子群分别执行交叉操作;

步骤5:计算每个粒子的适应度J(i);

步骤6:更新局部最优Pi,如果粒子位置更新后优于原来的粒子,则将新的粒子的位置作为该粒子的Pi;

步骤7:①更新子群全局最优,如果位置更新后粒子优于原来的子群全局最优位置,则将该粒子的位置作为本次迭代中的全局最优PLg;②更新个体极值中心点Pavg

步骤8:计算每个子群平均适应度fit_avg;

步骤9:引入变异算子:若J(i)<fit_avg,则令badNum(i)+1;若badNum(i)>=badNumLimit,则随机初始化粒子的位置和速度。

步骤10:达到内部迭代次数后,两个子群交互,即比较子群最优,从而得到全局最优;未达到则跳转步骤3;

步骤11:达到最大迭代次数或满足gbest(n)-gbest(n-4)<=0.0001(即适应度函数连续5次不变)即停止迭代。循环回到步骤2,直至满足终止条件。

2、构建滚动的BP神经网络群

滚动BP模型第二阶段是建立滚动的BP神经网络群,即连续建立n个单步预测模型,每个网络模型都有对应的训练集train_xn(n>=2)和测试集test_xn,train_xn和test_xn代表t+n-1时刻的数据,包含(P)t+n-1三个参数。相邻两个网络模型的训练集和测试集之间只相差一个时刻,数据也顺延向下取一个时刻。train_yn和test_yn分别为第n个网络训练集train_xn和测试集test_xn的模拟结果,包含和两个参数。

第n个BP神经网络学习和预测过程如图3所示,采用t+n-1(n>=2)时刻训练集train_xn训练fn模型,该训练集包括t+n-1时刻的温室内外环境影响因素(P)t+n-1,以及fn-1模型的训练集的模拟结果train_yn-1。网络输出为t+n时刻的实测数据,采用梯度下降法训练网络。训练完成后将训练集train_xn再次输入fn模型中,得到训练集的模拟结果train_yn,即t+n时刻的温室内部温湿度模拟结果集,将作为train_xn+1的一部分用于训练fn+1模型。然后将t+n-1时刻测试集test_xn输入模型中得到t+n时刻室内温湿度预测结果test_yn,并作为test_xn+1的一部分,用于预测t+n+1时刻的室内温湿度。如此滚动训练和预测,实现温室小气候的中长期预测。训练多个网络的目的是为了使训练集和测试集来源一致,提高预测模型的精度,即fn(n>=2)模型的训练样本和测试样本中的室内温湿度数据均来自fn-1模型的模拟结果。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号