一种改进神经网络的金针菇产量预测方法及实施系统与流程

文档序号:11143592阅读:919来源:国知局
一种改进神经网络的金针菇产量预测方法及实施系统与制造工艺

本发明涉及一种产量预测领域,尤其涉及一种改进神经网络的金针菇产量预测方法及实施系统。



背景技术:

农业领域中运用的预测模型大致可以分为两类:一是基于统计计量技术的传统预测模型,二是以神经网络为代表的智能计算技术模型。

1、统计计量预测模型

在农业领域中基于统计计量技术的预测模型主要有多元线性回归模型、Logistic回归模型以及自回归移动平均模型。

(1)多元线性回归模型

多元线性回归模型本质上是一种因果关系模型,用以描述多个自变量和一个因变量之间的线性相关关系。其数学表示形式为:

式中Y为因变量,即所要预测的农业指标;Xj是自变量,即影响该农业指标的各种因素;α和βj为未知常数,分别代表预测对象的初始状态和各变量的回归系数,其数值可采用最小二乘法进行估计;ε为相互独立且服从正态分布的随机误差。

多元线性回归模型的最大优点是形式上比较直观,结果易于解释,且操作十分简便。但从理论上来说,该模型存在两方面的问题:一是要求样本数据的方差相等且独立,这一条件在农业领域的预测环境中很难得到满足;二是多元线性回归模型存在固定影响假设和完全线性补偿假设等逻辑问题。正是由于上述原因,虽然多元线性回归模型简便直观,但该模型的使用效果往往达不到预期。

(2)Logistic回归模型

Logistic回归模型是所谓的第二代统计预测模型。该模型假设事件的发生概率服从Logistic的累积概率分布,不要求变量服从正态分布且具有等协方差的条件,因而颇受农业领域预测工作者的青睐。其概率密度函数的数学表示形式为:

式中Xi表示第i个指标,1≤i≤n,α和βj为常数。由于Logistic回归模型是一种离散选择模型,其误差分布不再是正态分布而是二项分布,所以模型中的系数采用极大似然法进行估计。

Logistic回归模型的缺陷在于,当数据存在高维性和高相关性时,会严重影响Logistic分析的过程和结果,可能导致原始数据信息的丢失,且估计方程中存在一定的共线性问题。

(3)自回归移动平均模型

自回归移动平均模型是一种随机性时间序列预测模型。设{Yt}为随机时间序列,且满足条件:

Yt1Yt-12Yt-2-…-φnYt-n=εt1εt-12εt-2-…-θmεt-m

或写成后移算子形式:

φ(B)Yt=θ(B)εt

式中{εt}为白噪声序列,φ12,…φn为自回归系数,θ12,…θn为移动平均系数,且φ(B)与θ(B)为无公因子。

自回归移动平均模型的缺陷在于:

a、自回归移动平均模型仅限于描述平稳随机时间序列,而在农业领域中很多的预测问题涉及到的时间序列都是非平稳的,且很难通过简单的差分方法将它转化为平稳序列;

b、时间序列预测的关键是要找出相关函数f,如果能够事先知道f的形式,则可以根据时间序列的前m个输出值得到所有后续时刻的输出值。由于f的具体形式通常都很复杂,事先并不知道,再加上农业领域中预测涉及的指标和因素很多,导致自回归移动平均模型的预测精度受到较大影响。

2、神经网络预测模型

人工神经网络(Artificial Neural Network)又称连接机模型,是在现代神经学、生物学、心理学等学科研究的基础上产生的,它反映了生物神经系统处理外界事物的基本过程,是在模拟人脑神经组织的基础上发展起来的计算系统,在一定程度上反映了人脑功能的若干反映,是对生物系统的某种模拟,具有大规模并行、分布式处理、自组织、自学习等优点,近年来,以神经网络为代表的智能预测系统开始在农业领域的预测中得到应用,且很快在这一领域占据了主导地位。

神经网络根据网络的特性可以划分为前馈网络、后馈网络、自组织网络和随机网络等不同类型。其中,多层前馈神经网络是农业预测领域应用最广泛的一种,而误差反向传播(back propagation,BP)算法是神经网络最常见的学习算法。



技术实现要素:

本发明提供了一种改进神经网络的金针菇产量预测方法及实施系统,可以对冷库中栽培、且生长过程尚未完成的金针菇进行产量预测。本发明采用软硬件结合的方式,底层由各类无线传感器组成,中间层为嵌入式网关,顶层基于B/S结构进行开发,并植入改进的神经网络算法,以求能更加稳定的输出金针菇的产量预测模型,且该模型能达到较高的预测精度。

一种改进神经网络的金针菇产量预测方法,包括以下步骤:

(1)选择BP神经网络模型作为金针菇产量预测系统的基本模型;

(2)设置BP神经网络模型的输入层的节点数、输出层的节点数以及隐含层的节点数;

(3)利用遗传算法改进训练BP神经网络模型,得到金针菇产量预测系统的预测模型;

(4)输入预测样本,得到金针菇产量预测结果。

在步骤(1)中,BP神经网络由一个输入层、一个输出层以及一个或多个隐含层构成,其中隐含层神经元和输出层神经元为计算节点,输入层由多个输入量组成,输出层由多个输出量组成,输出量在预测问题中即为要预测的各项指标。神经网络每层所含的神经元个数可以一样,也可以不一样。不同层次的神经元之间按权值进行连接,神经元的传递函数一般为Sigmoid函数。

在步骤(1)中,BP算法的学习训练过程是由信号的正向传播与误差的反向传播两个过程组成;当学习样本的信息进入神经网络后,神经元的激活值从输入层经隐含层向输出层传递,而输出层的神经元获得网络输入响应,再按照减少实际输出与期望输出之间误差的原则,从输出层经隐含层向输入层逐层反馈误差信息,并依据误差修正相应的连接权值。随着误差修正过程的反复进行,网络对输入模式响应的正确率也将不断上升,最终形成由输出信号承载的预测结果。

在步骤(2)中,BP神经网络的输入层、输出层维数根据使用者的要求来设计。根据实际对象的输入输出量来考虑输入层的节点数和输出层的节点数,在设计中应尽可能地减小系统规模,使学习的时间和系统的复杂性减小。本发明中输入层的节点数为24,分别对应金针菇六个生长阶段的平均空气温度、平均空气湿度、平均土壤温度、平均土壤湿度这四个指标,输出节点为1个,对应该区域的金针菇产量。

在步骤(2)中,BP神经网络的隐含层节点数的选择问题是个很复杂的问题,因为没有很好的解析式表示,只能结合经验公式和尝试法来确定隐含层的节点数;经验公式为:

其中,n为输入层节点数,l为输出层节点数,α为1~10之间的随机数,m为第一层隐含层节点数,第二层节点数通常为第一层的75%,比较不同节点设置下的训练精度、迭代次数、测试精度这三个指标来确定隐含层节点的个数,本发明中隐含层的节点数为14。

神经网络的权值训练过程实际是一种复杂函数优化问题,即通过反复调整来寻找最优的连接权值。但目前广泛使用的BP神经网络,是基于梯度下降方法,因而对神经网络的初始权值异常敏感,不同的初始权值会导致完全不同的结果,而遗传算法遵循物竞天择的原则,在寻优问题上有很好的表现,故采用遗传算法确定初始权值来替代原本的随机产生一组初始权值的方式,可以有效克服BP神经网络训练时间长同时容易陷入局部极值的问题。

利用遗传算法改进训练BP神经网络模型的具体步骤为:

(3-1)对权值进行编码,并在指定的范围内随机产生多组编码,将其作为神经网络的多组连接权值;

(3-2)输入训练样本,计算每组连接权值下神经网络的预测值与实际值之间的误差平方和,并以该误差平方和的倒数作为每组连接权值的适应度;

(3-3)选择所有组适应度中较大的1/3~1/2的连接权值对应的个体作为进化群体;

(3-4)利用交叉、变异操作对进化群体进行进化,产生新一代群体;

(3-5)判断新一代群体是否满足训练目标,如是,执行步骤(3-6),若否,用上一代中的进化群体中个体对应的连接权值代替步骤(3-2)中的连接权值,重复步骤(3-2)~步骤(3-5);

(3-6)将适应度最大的一组连接权值作为BP神经网络的初始权值;

(3-7)训练BP神经网络,直到网络的均方误差小于初始权值的倒数为止,得到金针菇产量预测系统的预测模型。

在步骤(3-1)中,一个染色体个体对应神经网络的一组权值阈值,染色体的每一个基因即为一个寻优参数,对应于神经网络的一个连接权值。

在步骤(3-1)中,编码的方式可以为二进制编码法或浮点数编码法,浮点数编码法可以减小二进制数到实数之间的转换误差,同时不易陷入局部极值,收敛速度快,因此,本发明优选选择浮点数编码方式。

在步骤(3-2)中,误差越小,适应度越大,表示个体的素质越优,误差越大,适应度越小,表示该个体的素质越差,因此,以适应度的大小来评价连接权值的优劣,即评价个体素质的优劣。

在步骤(3-5)中,训练目标为得到优良种群样本。

在步骤(3-6)中,初始权值对应训练样本经遗传算法训练后得到的最优个体。

在步骤(3-7)中,金针菇产量预测系统的预测模型为金针菇栽培过程中环境参数与最终产量之间的关系模型。

遗传算法的控制参数主要包括:初始种群数目、交叉概率和变异概率以及适应度函数,而这些参数的确定没有实际可行的理论依据,只能结合数据的特点并不断加以尝试来确定,由于本发明中运用遗传算法来寻找一个较优的初始权值,希望能在较短的时间内尽快找到一个较优的初始权值,因此,可选择设定的遗传代数结束进化过程,认为进化固定的遗传代数得到的新一代群体满足训练目标,该方法为:

(3-1’)对权值进行编码,并在指定的范围内随机产生多组编码,将其作为神经网络的多组连接权值;

(3-2’)输入训练样本,计算每组连接权值下神经网络的预测值与实际值之间的误差平方和,并以该误差平方和的倒数作为每组连接权值的适应度;

(3-3’)选择所有组适应度中较大的1/3~1/2的连接权值对应的个体作为进化群体;

(3-4’)利用交叉、变异操作对进化群体进行进化,产生新一代群体;

(3-5’)判断当前遗传代数是否大于设定的遗传代数,如是,执行步骤(3-6’),若否,用上一代中的进化群体中个体对应的连接权值代替步骤(3-2’)中的连接权值,重复步骤(3-2’)~步骤(3-5’);

(3-6’)将适应度最大的一组连接权值作为BP神经网络的初始权值;

(3-7’)训练BP神经网络,直到网络的均方误差小于初始权值的倒数为止,得到金针菇产量预测系统的预测模型。

交叉概率和变异概率根据实际需要自行设置,适应度函数设置为误差均方根函数(MSE)的倒数。

在步骤(4)中,将环境参数作为预测样本输入到金针菇产量预测系统的预测模型中,便可以得到相应的产量预测结果。

一种改进神经网络的金针菇产量预测方法的实施系统,包括置于底层的多组无线传感器、置于中间层的嵌入式网关以及置于顶层的B/S结构;无线传感器将采集的信号发送到嵌入式网关,嵌入式网关响应服务器的请求并将接收到的信号发送给B/S结构,B/S结构对接受的信号进行处理,完成金针菇产量的预测。

所述的无线传感器内设有ZigBee无线发射模块,将采集到的信号通过IEEE802.15.4标准发送到中间层的嵌入式网关。

所述的嵌入式网关负责接收ZigBee无线发射模块发射的数据,同时响应服务器的请求将数据发送给服务器。

所述B/S结构包括Web服务器与客户端,Web服务器接收嵌入式网关上传的数据,并对数据解析和存储,同时响应客户端的请求,对用户的请求做出反馈,属于一个智慧农业生产平台。

所述的Web服务器采用Nginx+uWSGI组合服务器,部署在服务器上的Web应用采用Django框架,该框架是python语言编写的一个Web应用框架,采用了MVC的设计模式,非常适合快速开发。

B/S结构的金针菇产量预测系统的设计:对每天的环境数据进行预处理,得到各个阶段每一天的环境均值数据,然后对每天的环境均值数据及最终产量数据进行训练,得到各个阶段的环境均值数据和最终产量数据之间的关系模型,并将该模型保存作为系统的预测模型,最后输入阶段环境均值数据,利用该预测模型输出该种环境配置下的最终产量的效果。

对经预处理后的阶段环境均值数据及最终产量数据进行建模,使用普通的BP神经网络进行模型建立时,在模型训练的过程中经常出现提前终止训练的情况,且输出的预测模型其预测精度也较低,分析其原因在于模型的初始权值及阈值选取不当,因此网络的性能较差,而本发明提出的用遗传算法去优化BP神经网络初始权值的方法有效地解决该问题,经权值优化过的神经网络,其在训练过程中表现稳定,且输出的预测模型预测精度较高。

本发明提供了一种精确度高、稳定性好的金针菇产量预测系统,实现在工厂化生产大环境下,对生长周期未完成的金针菇进行产量预测,本发明提出的用遗传算法优化BP神经网络初始权值的放法解决了在使用BP神经网络训练预测模型时所需的迭代次数多且容易在未达到训练目标时就提前终止训练的问题,且在训练过程中收敛速度快,很大程度上提高了训练出的预测模型的精度。

附图说明

图1为BP神经网络模型图;

图2为平台的整体结构图;

图3为本发明改进神经网略的金针菇产量预测方法的流程图;

图4为利用遗传算法改进训练BP神经网络模型的步骤流程图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

如图1所示,BP神经网络由一个输入层、一个输出层和一个或多个隐含层构成,其中隐含层和输出层神经元为计算节点。x1,x2…,xm为输入量,y1,y2…,yn为输出量,在预测问题中即为要预测的各项指标。神经网络每层所含的神经元个数可以一样,也可以不一样。不同层次的神经元之间按权值进行连接,神经元的传递函数一般为Sigmoid函数。

BP算法的学习训练过程是由信号的正向传播与误差的反向传播两个过程组成。当学习样本的信息进入神经网络后,神经元的激活值从输入层经隐含层向输出层传递,而输出层的神经元获得网络输入响应,再按照减少实际输出与期望输出之间误差的原则,从输出层经隐含层向输入层逐层反馈误差信息,并依据误差修正相应的连接权值,普通的BP神经网络的初始权值是随机确定的,而本发明使用遗传算法首先确定出一组较好的权值来,将该权值作为神经网络的初始权值。随着误差修正过程的反复进行,网络对输入模式响应的正确率也将不断上升,最终形成由输出信号承载的预测结果。

如图2所示,一种基于改进神经网络的金针菇产量预测系统,包括置于底层的30组无线传感器、置于中间层的嵌入式网关以及置于顶层的Web服务器与客户端;无线传感器定时采集数据并将数据按相应的协议打包好,通过内置的zigbee无线发射模块将数据发送到中间层的嵌入式网关,该网关中同样集成了zigbee无线模块,主要用来接收传感器上传的数据,同时响应服务器的请求将数据发送给顶层的Web服务器,Web服务器定时向嵌入式网关请求数据,并将数据存储在数据库中,客户端通过可视化的界面,对服务器中的数据进行查看、编辑等各项操作。

Web服务器采用Nginx+uWSGI组合服务器,部署在服务器上的Web应用采用Django框架,该框架是python语言编写的一个Web应用框架,采用了MVC的设计模式,非常适合快速开发。

如图3所示,改进神经网络的金针菇产量预测方法,包括以下步骤:

步骤1,选择BP神经网络模型作为金针菇产量预测系统的基本模型。

步骤2,设置BP神经网络模型的输入层的节点数为24、输出层的节点数为1以及隐含层的节点数为14。

本发明中输入层的节点数为24,分别对应金针菇六个生长阶段的平均空气温度、平均空气湿度、平均土壤温度、平均土壤湿度这四个指标,输出节点为1个,对应该区域的金针菇产量。

步骤3,利用遗传算法改进训练BP神经网络模型,得到金针菇产量预测系统的预测模型:

如图4所示,利用遗传算法改进训练BP神经网络模型的具体步骤为:

(a)采用浮点数编码方式对权值进行编码,并在指定的范围内随机产生多组编码,将其作为神经网络的多组连接权值;

(b)输入训练样本,计算每组连接权值下神经网络的预测值与实际值之间的误差平方和,并以该误差平方和的倒数作为每组连接权值的适应度;

(c)选择所有组适应度中较大的1/3的连接权值对应的个体作为进化群体;

(d)利用交叉、变异操作对进化群体进行进化,产生新一代群体;

(e)判断当前遗传代数是否大于设定的遗传代数,如是,执行步骤(f),若否,用上一代中的进化群体中个体对应的连接权值代替步骤(b)中的连接权值,重复步骤(b)~步骤(e);

(f)将适应度最大的一组连接权值(7.1749e-06)作为BP神经网络的初始权值;

(g)训练BP神经网络,直到网络的均方误差小于初始权值的倒数为止,得到金针菇产量预测系统的预测模型;

遗传算法的控制参数:遗传代数为100,交叉概率为0.9,变异概率为0.1,适应度函数为误差均方根函数(MSE)的倒数;这样的遗传算法的控制参数的设置能够产生更多的新个体,加快寻优的速度。

步骤4,输入60组测试样本,得到金针菇产量预测结果为423g;

这里60组测试样本指的是各个阶段的环境均值数据。

采用同样的训练样本训练传统的预测模型和本发明改进神经网络的预测模型,结果显示,当输入同样的预测样本时,采用本发明改进神经网络的预测模型得到的平均误差为0.0038,传统的预测模型得到的平均误差为0.0064,因此,这种预测模型使得预测系统更加精确。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1