一种融合随机森林算法的设施光环境调控方法与流程

文档序号:15587532发布日期:2018-10-02 18:33阅读:255来源:国知局

本发明属于智能设施农业技术领域,特别涉及一种融合随机森林算法的设施光环境调控方法。



背景技术:

我国设施蔬菜栽培面积占世界总面积的90%以上,已成为我国现代农业的重要组成部分。尽管我国设施管理技术水平逐年提升,与发达国家相比仍存在较大差距,设施蔬菜单位面积产量仅为荷兰的1/5-1/3,其中生产过程中光合速率低是造成该现象的关键因素。光是温室作物进行光合作用、形成温室内温度与湿度条件的能源。其中部分地区由于冬、春季节低温弱光、阴雨低温天气较多,再加上温室覆盖材料不清洁或老化导致透光率较低,设施内光环境参数(包括光质和光子通量密度)通常低于光合作用最低需求,导致作物生长发育减缓、各种病虫害发生几率增加,造成落叶、发花数量少、花形花色不正、坐果率低等问题,严重影响作物产量和品质,特别是近期出现的led光源技术,其一定程度避免热量高、耗能大、不能定量调节亮度,光质、光子通量密度难以调控等传统补光设备的问题,基于led的设施补光技术已成为设施补光研究的热点,出现了各种基于led的设施补光设备,一定程度提高了作物品质和节能效果。

近年来,设施光环境调控得到了广泛的研究,出现了融合了光合因子调控模型,其大部分调控模型都是通过非线性回归的方法,把环境的温度作为自变量,光合速率模型中输出的光饱和点作为因变量,构建了任意温度光饱和点的动态获取,从而得到相应的pfd值;由于实际的模型中加入二氧化碳因素后,模型的精度降低、复杂度明显提升,使得模型的运行时间变长,最终导致整个光调控系统响应的慢、调控值精度低,所以目前一般的调控系统未考虑二氧化碳对最终光饱和点的影响;综上所述现有的设施光环境调控通过模型拟合好的公式嵌入到控制系统中,使得算法的适应性低、模型的可移植性差、调控过程不精准、设备响应速度慢等问题。因此,寻找一种调控精度高、复杂度低的智能算法将成为解决这个问题的关键;随机森林算法相比其他算法不需事先设定函数形式,能够克服协变量之间复杂的交互作用,可以处理高维度数据,数据处理时间短,具有较高的预测性,目前,随机森林算法主要应用于计算机视觉领域、医学领域、生态学领域等,本发明将随机森林算法引入到设施光环境调控中,设计了一种融合随机森林算法的设施光环境调控设备,以弥补现有的设施光环境调控系统的可移植性差、设备的可靠性低、系统响应慢、能耗高等问题。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种融合随机森林算法的设施光环境调控方法,以弥补现有的设施光环境调控系统的可移植性差、设备的可靠性低、系统响应慢、能耗高等问题。

为了实现上述目的,本发明采用的技术方案是:

一种融合随机森林算法的设施光环境调控方法,包括如下步骤:

步骤一:根据植物生长过程中,光、二氧化碳和温度的变化对植物光合速率的影响,关联温度、光照、二氧化碳浓度环境因子,使用bp算法建立光合速率预测模型,其次采用改进鱼群算法对光合速率模型进行寻优;

步骤二:通过步骤一中寻优算法找到不同温度和二氧化碳条件下的光饱和点,建立融合随机森林算法的光环境调控模型,并通过对随机特征策略选取,聚集大量分类树,提高随机森林模型的预测精度;

步骤三:搭建一种可以实现模型移植的树莓派系统框架和平台体系,在调控过程中,实现对智能调控算法的跨平台移植,其设备的硬件结构主要由树莓派主控节点、传感器监测节点和led调光节点组成,将各节点之间通过zigbee无线技术实现信息交互,内部采用模块化设计思路;

步骤四:完成上述步骤的模型建立和智能算法的跨平台移植后,在实际的调控过程中,通过参数选择界面对调控对象的基本参数的选择,监测节点实时反馈环境情况,直接调用保存好的随机森林模型,在界面中就可以看到模型计算出此时的光环境调控的目标值,通过与环境的输入光照强度比较,计算出当前环境实际需要的光子通量密度值,并将其转化为脉宽调制控制信号,控制led补光节点根据实际光环境完成动态、精确调控。

所述步骤一中,光合速率预测模型与寻优模型构建的具体步骤如下:

步骤1:根据调控模型实验方案,使用bp算法建立光合速率预测模型,通过将温度、二氧化碳、光照环境因子归一化处理作为模型的输入样本集,建立的bp神经网络模型:式中n表示输入节点数,l表示隐含层节点数,m表示输出节点数,x表示输入量,wij表示输入层和隐含层间连接权值,wjk表示隐含层和输出层间连接权值,aj表示初始化隐含层阈值,bk表示初始化输出层阈值,f()表示隐含层激励函数;建立bp光合速率预测模型:pn=net(t,c,d)式中pn表示光合速率,t表示温度,c表示二氧化碳浓度,d表示光子通量密度,根据输入样本完成对模型pn=net(t,c,d)温度、二氧化碳、光子通量密度的实例化,建立不同温度、二氧化碳、光子通量密度条件下的预测函数pm=net(tm,cm,dm);

步骤2:在完成上述步骤一中的bp光合速率预测模型建立后,采用改进型鱼群算法对光合速率模型寻优,随机生成初始鱼群,产生的初始鱼群个体的状态向量表示为x=(x1,x2,…xn),其中xn为欲寻优变量的不同温度、二氧浓度条件下对应的光饱和点,并利用得到的特定温度下和二氧化碳条件下的寻优目标值函数fm,通过对鱼群算法中觅食行为、群居行为、追尾行为的处理,使人工鱼的位置不断进行更新,从而使得新鱼群中个体食物浓度不断提高,作物本代最佳光合速率随进化代数增加而逐渐增大,当人工鱼群算法产生新的个体逼近最优解时,其个体食物浓度基本保持恒定,从而完成光合速率寻优。

所述步骤二中,融合随机森林算法的光调控模型的具体步骤如下:

步骤一:假设x={(xm,ym),m=1,2,...,m}是经改进型鱼群算法寻优所得不同温度、二氧浓度条件下对应的光饱和点样本集,以此作为光环境优化调控模型的一组训练集,其中xm是第m个光饱和点对应的温度及二氧化碳浓度,ym是第m个光饱和点样本数据;通过对寻优所得样本集x进行随机抽样产生l棵决策树f(x,θk)集合,构建随机森林,其中,k=1,2,...,l,θk是第k棵决策树用来选择样本点的随机向量;

步骤二:通过bootstrap采样方法随机生成θk,随机抽取2/3的训练样本点生成第k棵决策树,随机向量θk相互独立且服从统一分布;式中表示每棵决策树产生一个预测的光饱和点所对应的光子通量密度值,表示随机森林预测的光饱和点所对应光子通量密度值通过对所有决策树的预测值取平均所得。

建立融合随机森林算法的光调控模型后,为了修正上述模型和提高随机森林的预测精度,采用随机特征选取策略:在每棵决策树的每个节点处,从n个总输入光饱和点变量中随机抽取n个光饱和点变量,并从中选取一个最优光饱和点变量对节点进行分割,然后增加或减小n的数值,直至获得最小的测试误差,此时输出最终输出光子通量密度值就是最优的调控值,其中n≤n,使得最终的调控模型的精度更高。

所述步骤三中,树莓派系统框架和智能算法移植具体步骤如下:

步骤1:系统控制器采用树莓派3代b型,搭载linux操作系统,在qt上完成设备界面的开发,采用7inchhdmilcd触摸显示屏,方便人机交互,从而搭建一种可以实现模型移植的树莓派系统框架和平台体系,在嵌入式平台上实现融合随机森林光环境调控模型的调控目标值进行实时精准计算和智能反馈控制;

步骤2:使用随机森林模型构建完成后通过模型变量保存输出,其变量保存为txt文件或者其他文件形式,使用python的pickle模块中的pickle.dump()函数把程序中的变量存储到本地文件,完成模型的保存工作,使用python中的pickle模块中的pickle.load()函数从本地文件中导入到程序的相应位置,实现模型的加载,其模型移植过程只需要在相应路径加载模型即可导出模型,完成跨平台光调控模型移植;

步骤3:设备硬件结构主要由树莓派主控节点、传感器监测节点和led调光节点组成,将各节点之间通过zigbee无线技术实现信息交互,内部采用模块化设计思路;各节点采用cc2530作为核心处理模块,基于zigbee协议实现无线传感器网络(wsn)自组网及管理功能,所述传感器监测节点在zigbee网络中作为路由器实现不同温室节点间数据转发,所述树莓派控制节点通过协调器将主控程序以广播形式发送至led调光节点,所述led调光节点利用cc2530接收中央控制节点发出的led控制信号。

完成树莓派系统框架构建和智能算法移植后,在设备参数设定界面,进行作物的选择和补光阶段的确定,并在树莓派的相应路径加载嵌入到系统的随机森林模型,将传感器监测到的环境因子作为模型的输入,此时随机森林算法会通过聚集大量分类树,模型的光饱和点所对应光子通量密度值是通过对所有决策树的预测值取平均所得,再根据实际环境中传感器监测节点监测到光合有效辐射值,进行差值计算调控。

所述步骤四,在实际的调控过程中,通过参数选择界面对调控对象的基本参数的选择,直接调用保存好的随机森林模型,传感器监测节点通过周期监测光合有效辐射值,利用自然光中太阳高度角与红蓝光比例关系,计算出当前红蓝光光量子通量密度,发送至到树莓派主控节点,再利用主控制节点计算其与作物所需目标量的差值,并将其转换为脉宽调制控制信号,然后通过zigbee控制led调光节点控制led输出亮度,实现led补光灯的输出光量的动态、精确、无线调控。

与现有技术相比,本发明的有益效果是:

1)本设施光环境调控设备融合随机森林算法,进行光调控目标值的动态计算,与传统的多元线性回归模型或参数回归模型相比,随机森林算法不需事先设定函数形式,且能克服协变量之间复杂的交互作用,具有较高的分类正确率,通过聚集大量分类树来提高模型预测精度,在异常值和噪声方面有很高的容忍度,且不易出现过度拟合现象同时,相比基于rbf核函数的svm模型的复杂度随样本量增大呈指数倍增长,其时间复杂度也会随着训练集样本库的增大急剧变大,而随机森林算法具有运算简单,数据处理时间短,响应速度快等优势,从而在有效提高了调控系统的精确度,减少对系统对硬件系统的需求。

2)本设施光环境调控设备为了能够实现随机森林光环境调控模型这一智能调控算法的顺利移植,设计了一种新的树莓派系统框架和平台体系,与传统嵌入式光环境控制系统不能直接加载智能算法模型相比,本系统使用随机森林模型构建完成后可通过模型变量保存输出;模型移植过程只需要在相应路径加载模型即可导出模型,完成跨平台光调控模型移植,从而在嵌入式平台上实现融合随机森林光环境调控模型的调控目标值进行实时精准计算和智能反馈控制。

附图说明

图1是本发明设施系统光环境调控整体图。

图2是本发明改进型鱼群算法的流程图。

图3是本发明随机森林学习算法模型的结构框架示意图。

图4是本发明随机森林模型调控目标值输出图。

图5是本发明随机森林算法的模型验证图。

图6是本发明系统硬件结构示意图。

图7是本发明模型移植界面图。

图8是本发明系统光调控显示界面图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

本发明主要步骤如下:

步骤一:根据植物生长过程中,光、二氧化碳和温度的变化对植物光合速率的影响,关联温度、光照、二氧化碳浓度环境因子,使用bp算法建立光合速率预测模型,采用改进鱼群算法对光合速率模型寻优,并找到不同温度和二氧化碳条件下的光饱和点,建立了融合随机森林算法的光合作用调控模型。

步骤二:采用具有自组网、能耗低、易于管理等优点的无线传感器网络(wsn)部署整个设施光环境调控设备,设计了一种新的树莓派系统框架和平台体系,设备硬件由树莓派控制节点、传感器监测节点和led调光节点组成,各节点采用cc2530作为核心处理模块,基于zigbee协议实现无线传感器网络(wsn)自组网和信息传输。其中树莓派控制节点汇聚实时环境信息、计算补光量、下发补光命令、设定系统参数等管理功能,通过协调器将主控程序以广播形式发送至补光节点,接受传感器监测节点所发送来的环境因子信息;传感器节点完成环境因子采集、处理与发送,同时在zigbee网络中作为路由器实现不同温室节点间数据转发;led调光节点利用cc2530接收中央控制节点发出的led控制信号,并将其转化为对应的pwm信号,通过led驱动芯片控制led输出电流,实现调光灯组按需输出光照度。

步骤三:在实际的设施光环境调控中,用户进入模型导入界面,选择相应的补光作物,并加载所需的模型,完成模型的跨平台移植,此时模型将环境的温度、二氧化碳和光照强度作为输入,在界面中就可以看到模型计算出此时的光环境调控的目标值,通过与环境的输入光照强度比较;得到此时模型的的环境下所需要的值,再通过树莓派主控节点发送指令到led补光节点,完成对番茄的动态补光。

以下是调控模型的具体实验方案

针对番茄幼苗的试验于2017年9月-2017年10月在西北农林科技大学北校区实验室培养箱进行。实验采用li-cor公司生产的li-6800型便携式光合仪,可在设定并调控叶室小环境的同时测定净光合速率;采用光照、温度、二氧化碳耦合嵌套试验方式得到不同梯度温度、光照、二氧化碳条件下对番茄幼苗的光合速率,进行粗大误差分析并滤除,其次对滤除粗大误差后的数据进行预处理,从而形成建模所需的不同温度、光照、二氧化碳组合条件下对应的光合速率样本集,其中控制二氧化碳浓度梯度分别为:400,0,200,400,800,1200,1600七个梯度,控制温度为:14,17,20,23,16,30,33七个梯度,控制光照强度为:1500,1300,1200,1100,900,700,500,300,200,100,50,20,0,十个梯度;共进行了60组试验,每组实验随机选取7株茄子植株,每株茄子植株测量5次取平均值并做三组重复,最终形成了样本容量为350的试验样本集,经过数据分析和处理后,最终得到样本个数为314的试验样本。

基于上述实验方案,使用bp算法建立光合速率预测模型步骤如下:

步骤一:数据的预处理,设施环境中各变量的数量级差别较大,为使模型计算更加有效,对原始输入变量进行规范化处理,转变为无量纲变量,规范化处理公式如下所示,处理后各输入变量均服从均值为0、方差为1的分布。

其中,为规范化后的第j个温度的输入变量;sj分别为第j个原温度的始输入变量的均值和样本方差,将标准化后的向量x=(x1,x2,…xn)为光合速率模型的输入量。

步骤二:利用处理后的数据建立的bp神经网络模型如下:

式中n表示输入节点数,l表示隐含层节点数,m表示输出节点数,x表示输入量,wij表示输入层和隐含层间连接权值,wjk表示隐含层和输出层间连接权值,aj表示初始化隐含层阈值,bk表示初始化输出层阈值,f()表示隐含层激励函数。

建立的bp光合速率预测模型公式如下:

pn=net(t,c,d)

式中pn表示光合速率,单位为μmol/(m2·s),net()表示bp神经网络模型,t表示温度,c表示二氧化碳浓度,d表示光子通量密度,根据预测样本完成对模型pn=net(t,c,d)温度、二氧化碳、光子通量密度的实例化,建立不同温度、二氧化碳、光子通量密度条件下的预测函数pm=net(tm,cm,dm)。

基于上述bp算法光合速率预测模型,建立改进型鱼群算法的温度和二氧化碳耦的光合速率模型寻优步骤如下:

步骤一:改进鱼群算法的流程图如图2所示,随机生成初始鱼群,产生的初始鱼群个体的状态向量表示为x=(x1,x2,…xn),其中xn为欲寻优变量的不同温度、二氧浓度条件下对应的光饱和点,并利用得到的特定温度下和二氧化碳条件下的寻优目标值函数fm,作为特定温度下和二氧化碳条件的食物浓度y,从而利用ym=fm计算食物浓度完成评价,当其鱼群评价不满足停止条件,改进型鱼群算法的核心视野和步长的动态调整公式如下,通过改进型鱼群继续寻优操作。

式中v表示本次搜索人工鱼的视野,st本次搜索人工鱼移动的步长,vi-1表示前次搜索人工鱼的视野,st,i-1表示前次搜索人工鱼的视野,a表示调节系数,vmin表示视界范围最小变化量stmin表示步长最小变化量。

步骤二:通过步骤三的计算,觅食行为的计算为:记人工鱼的当前状态为xi,在感知范围内随机选择一个状态xj,即

xj=xi+(2r-1)st

其中r为随机数,人工鱼所在的状态的食物浓度满足yj>yi,yj、yi,xi++位置更新为

步骤三:通过步骤三的计算,聚群行为的计算为:人工鱼朝伙伴中心移动,若人工鱼群中心位置食物浓度为为yc、当前食物浓度为yi、当前视野内的伙伴数量nf之间,若满足其中σ为拥挤度,以此来限制人工鱼群聚集的规模,执行聚群行为,计算式为

步骤四:通过步骤三的计算,追尾行为的计算为:人工鱼朝最优位置伙伴方向移动,若人工鱼群当前最优位置食物浓度ybest与当前食物浓度yi满足时,执行追尾行为,计算式为

步骤五:通过对鱼群算法中觅食行为、群居行为、追尾行为的处理,对人工鱼的位置不断进行更新,从而使得新鱼群中个体食物浓度不断提高,番茄本代最佳光合速率随进化代数增加而逐渐增大;而随进化代数增加,当人工鱼群算法产生新的个体逼近最优解时,其个体食物浓度基本保持恒定,从而完成光合速率寻优。

基于上述改进型鱼群算法的温度和二氧化碳耦的光合速率模型寻优,建立融合随机森林算法的调控模型步骤如下:

步骤一:假设x={(xm,ym),m=1,2,...,m}是经改进型鱼群算法寻优所得不同温度、二氧浓度条件下对应的光饱和点样本集,以此作为光环境优化调控模型的一组训练集,其中xm是第m个光饱和点对应的温度及二氧化碳浓度,ym是第m个光饱和点样本数据;通过对寻优所得样本集x进行随机抽样产生l棵决策树f(x,θk)集合,构建随机森林。其中,k=1,2,...,l,θk是第k棵决策树用来选择样本点的随机向量,通过bootstrap采样方法随机生成θk,随机抽取2/3的训练样本点生成第k棵决策树,随机向量θk相互独立且服从统一分布;式中表示每棵决策树产生一个预测的光饱和点所对应的pfd,表示随机森林预测的光饱和点所对应pfd值通过对所有决策树的预测值取平均所得。

步骤二:图3为随机森林学习算法模型的结构框架示意图,为了提高随机森林的预测精度,采用如下的随机特征选取策略:首先,在每棵决策树的每个节点处,从n个总输入光饱和点变量中随机抽取n(n≤n)个光饱和点变量,并从中选取一个最优光饱和点变量对节点进行分割;然后增加或减小n的数值,直至获得最小的测试误差,此时输出最终输出pfd值就是最优的调控值。

步骤三:图4为随机森林模型调控目标值输出图,验证模型需要通过合适的评价指标,其中拟合优度r2可以检验回归模型对样本数据的拟合程度,取值在0到1之间,拟合优度越高,代表模型的可解释程度越高;均方根误差rmse可以反映样本的离散程度,取值为大于0的整数,取值越低说明精度越高,但其大小受预测数值的大小影响;精度p的取值为0到1之间,精度越高,说明预测的准确率越高;图5是本发明随机森林算法的模型验证图。

基于上述调控模型的建立,本发明装置的硬件结构如图6所示,各部分结构组成如下:

本发明装置的硬件结构主要由树莓派主控节点、传感器监测节点和led调光节点组成,其中树莓派主控节点实现对整个装置的控制,将各节点之间通过zigbee无线技术实现信息交互,内部采用模块化设计思路。

树莓派主控节点通过协调器将主控程序以广播形式发送至led调光节点,接收传感器监测节点所发送来的环境因子信息;负责收发程序具有汇聚实时环境信息、计算补光量、下发补光命令、设定系统参数等管理功能,用户交互模块采用超清分辨率为1024x600的7inchhdmilcd显示屏,支持触摸操作,方便人机交互。

传感器监测节点通过安装温度传感器、光照传感器和二氧化碳传感器将设施环境中的因子通过zigbee实时发送至主控节点,为了保证传感器的数据有效性,定期对传感器监测节点进行校准。

led调光节点采用阵列式补光灯组,选取中心波长为450nm的蓝光、680nm的红光作为调光光源,红/蓝比例设为3:2,其利用cc2530接收智能调控节点发出的控制信号,并将其转化为红蓝光对应的pwm控制信号,pwm调控机理是采用pt4115led集成驱动芯片,通过在控制端加载不同pwm占空比信号,线性改变驱动芯片输出端电流,从而改变流经led的电流大小,实现对led亮度的定量控制。

基于上述系统设备硬件设计,本发明具体实施例详细步骤如下:

步骤一:模型训练,在pythonscikit-learn算法中包含随机森林工具箱调,使用randomforestregtessor类来训练随机森林模型,根据自己对预期模型的要求,设定相应的参数;将数据进行预处理获得属性、标签、属性名存入列表,将列表转化为numpy数组形式,使用sklearn的train_test_split构建训练集和测试集,性能曲线可以展示集成方法中决策的数目发生变化时,其性能的变化过程,初始化randomforestregtessor对象后,然后通过调用fit()方法,训练数据集作为其输入参数,最后再调用predict()方法进行预测,输入时测试数据集的属性,并将预测值与测试数据中的标签比较,使用sklearn.metrics的mean_squared_error函数计算预测均方误差,最终将训练好的模型保存。

步骤二:模型变量输出;由于训练的模型输出的是个变量,需要将变量保存成txt文件或其他文件的形式,因为后面的某些程序也会用到这个重要文件,把它存储到本地来,下次调用的时候,先读取本地的文件,导入到字典类型中,只要调用就可以访问,代码的的可读性高;使用python的pickle模块中的pickle.dump()函数把程序中的变量存储到本地文件。

步骤三:模型加载如图7所示,为了提高算法的可移植性,在该设备中设有模型的加载移植界面,其功能的实现是建立在步骤二基础上,通过将步骤一得到的模型变量输出保存,再使用python的pickle模块中的pickle.load()函数从本地文件中导入到程序的相应位置,实现模型的加载。

步骤四:该设备的系统光调控显示显示界面如图8所示,在实际的设施光环境调控中,传感器监测节点不仅实时将采集到的环境因子显示在触摸屏上方便用户查阅还将此时的环境因子作为调控模型的输入变量,此时系统通过模型所在的相应路径加载模型即可导出模型,完成跨平台光调控模型移植,通过构建好的随机森林模型计算出当前环境所需要的光子通量密度值。

步骤五:传感器监测节点通过周期监测光合有效辐射值,利用自然光中太阳高度角与红蓝光比例关系,计算出当前红蓝光光量子通量密度,传递到树莓派主控节点,再利用主控制节点计算其与作物所需目标量的差值,并将其转换为脉宽调制控制信号,然后通过zigbee控制led调光节点控制led输出亮度,实现led补光灯的输出光量的动态、精确、无线调控。

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