一种基于LightGBM-XGBoost集成学习的农药残留量测量方法技术

技术编号:39245015 阅读:11 留言:0更新日期:2023-10-30 11:57
本发明专利技术提供一种基于LightGBM

【技术实现步骤摘要】
一种基于LightGBM

XGBoost集成学习的农药残留量测量方法


[0001]本专利技术涉及农业药物残留领域,尤其涉及一种基于LightGBM

XGBoost集成学习的农药残留量测量方法。

技术介绍

[0002]近年来,随着生活水平的提高,消费者的消费观念、饮食态度正发生着巨大的改变,食品消费理念从需求向追求转变。这导致农产品中的农药残留等食品安全问题备受瞩目。在实际生活中农药残留量超过国家规定标准的发生主要原因有如下几点:超量施药,不当施药造成农药过量残留;选药不当,选用的农药其残留量为农药原体及其有毒代谢物和杂质的总残留量;农药特性,农药本身性质特征导致残留的时间过长。我国作为农业大国,人民需求和经济市场对于作物上农药残留相关研究都有着迫切的需求。建立关于农药残留的预测分析系统,不仅可以为公众了解作物上农药残留信息提供有效平台,对种植户使用农药有特殊指导意义,而且还可以为国家制定农药残留相关法则提供参考依据。

技术实现思路

[0003]针对现有技术的不足,本专利技术提供一种基于LightGBM

XGBoost集成学习的农药残留量测量方法。针对特征为温度、降水量、土壤有机质含量、土壤PH值、平均光照量、施药浓度、施药次数、采收间隔期的数据集结合LightGBM、XGBoost和猎人猎物优化算法(HPO)进行农药残留量预测建模,选出最优超参数,提高检测精度。相比于一般的农药残留量预测模型,本专利技术采用猎人猎物优化算法算法组合LightGBM、XGBoost模型,使得模型泛化能力更强,预测精度更高,同时在农药残留量预测任务中所取得的效果相比于传统的方法更好。
[0004]一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,包括以下步骤:
[0005]步骤1:获取作物生长时外界参数的历史数据与最终农药残留量,并通过去除明显异常值与采样重复值进行数据预处理,将处理好的数据输入到Excel中,得到训练集;
[0006]所述外界参数包括平均温度、平均降雨量、平均日照量、土壤PH值、阳离子交换量、土壤有机质含量、施药浓度、施药次数、采收间隔期;
[0007]步骤2:通过皮尔逊系数对进行预处理后得到的数据进行数据降维,并建立数据集;
[0008]具体包括:计算农药残留量与收集参数的皮尔逊系数,皮尔逊系数的计算公式如下:
[0009][0010]其中,x
i
为收集参数中某一收集参数x在第i个样本中的值,y
i
为农药残留量y在第i个样本中的值,i=1,2,3,...,n,n为样本数,为某一收集参数x在n个样本的平均值,为农药残留量y在n个样本的平均值,ψ为某一收集参数x和农药残留量y的皮尔逊系数;
[0011]步骤3:采用XGBoost模型对农药残留量进行预测,运用猎人猎物优化算法对
XGBoost模型进行超参数调优,选出最优超参数后建立HPO

XGBoost模型;
[0012]所述xGBoost模型对农药残留量进行预测的预测值由如下公式表示:
[0013][0014]其中,表示XGBoost模型的预测值,K代表决策树的数目,f
k
(x
i
)表示输入为x
i
时第k个决策树的预测值,F代表所有决策树的集合;XGBoost模型的目标函数L
(t)
由下式表示:
[0015][0016]式中,g
i
损失函数的一阶导数值,h
i
表示损失函数的二阶导数值,其中具体使用方差损失函数作为损失函数,f
t
(x
i
)是第t轮的预测值,γ和λ是正则项系数,T表示目标函数中的叶子节点个数,w
j
表示第j个叶子节点的权重系数;
[0017]所述运用猎人猎物优化算法对XGBoost模型进行超参数调优的步骤为:
[0018]步骤S1:初始化参数,设定最大迭代次数代、种群数目n
pop
和调节参数δ,且δ为0到1之间的任意值,在搜索空间随机生成初始种群每个成员i的位置,公式如下:
[0019]s
i
=rand(1,dim).*(u
bound
‑1bound
)+1
bound
[0020]式中,s
i
表示猎人或者猎物的位置,dim为需优化超参数的个数,u
bound
和1
bound
分别表示待优化超参数的上界和下界;选取HPO

XGBoost模型的均方误差为评价函数,公式如下:
[0021][0022]式中,fit
i
为第i个解的适应度,n为解的数量,y
i
为实际值,为预测值,当fit
i
达到最小值时得到最优解;
[0023]通过对i个适应度fit
i
进行排序,得到均方误差最小值,即minfit
i
。它所对应的位置就是最优位置设定当前迭代次数引入自适应参数Z和平衡参数C,并且C值在迭代过程中数值从1减少到0.02,公式如下:
[0024][0025]式中为当前迭代次数,时最大迭代次数,其中自适应参数Z的公式如下:
[0026]P=rand(1)<C;IDX=(P==0);
[0027][0028]其中P为rand(1)<C的索引值,IDX为满足P==0的向量P的索引值,rand(1)为在0

1之间的随机数。当随机数小于调节参数即rand(1)<δ时,当前位置被视为猎人,猎人向猎物移动寻找脱离群体的猎物,包括以下步骤:
[0029](1)计算种群内个体的平均位置其中n
pop
为种群内个体数目;
[0030](2)计算所有个体到平均位置μ的欧氏距离排序得到Dist,选择距离最远的个体s
i
作为猎物P
pos
,且P
pos
=Dist(k
best
),其中k
best
=round(C*n
pop
),因此猎人更新位置,公式如
下:
[0031]s
i
(t+1)=s
i
(t)+0.5[(2C
·
Z
·
P
pos

s
i
(t))+2(1

C)Z
·
μ

s
i
(t)][0032]若rand(1)≥δ,则当前位置s
i
被视为猎物,猎物也动态调整位置,趋向于更为安全的区域,因此猎物更新位置,公式如下:
[0033]s
...

【技术保护点】

【技术特征摘要】
1.一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,其特征在于,包括以下步骤:步骤1:获取作物生长时外界参数的历史数据与最终农药残留量,并通过去除明显异常值与采样重复值进行数据预处理,将处理好的数据输入到Excel中,得到训练集;步骤2:通过皮尔逊系数对进行预处理后得到的数据进行数据降维,并建立数据集;步骤3:采用XGBoost模型对农药残留量进行预测,运用猎人猎物优化算法对XGBoost模型进行超参数调优,选出最优超参数后建立HPO

XGBoost模型;步骤4:采用LightGBM模型对农药残留量进行预测,运用猎人猎物优化算法对LightGBM模型进行超参数调优,选出最优超参数后建立HPO

LightGBM模型;步骤5:使用猎人猎物优化算法算法选出HPO

LightGBM、HPO

XGBoost模型的最优权重占比,建立LightGBM

XGBoost组合模型;步骤6:将数据集输入LightGBM

XGBoost组合模型中,进行作物农药残留量预测,得到最终的预测值。2.根据权利要求1所述的一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,其特征在于,步骤1中所述外界参数包括平均温度、平均降雨量、平均日照量、土壤PH值、阳离子交换量、土壤有机质含量、施药浓度、施药次数、采收间隔期。3.根据权利要求1所述的一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,其特征在于,所述步骤2具体包括:计算农药残留量与收集参数的皮尔逊系数,皮尔逊系数的计算公式如下:其中,x
i
为收集参数中某一收集参数x在第i个样本中的值,y
i
为农药残留量y在第i个样本中的值,i=1,2,3,...,n,n为样本数,为某一收集参数x在n个样本的平均值,为农药残留量y在n个样本的平均值,ψ为某一收集参数x和农药残留量y的皮尔逊系数。4.根据权利要求1所述的一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,其特征在于,步骤3中所述XGBoost模型对农药残留量进行预测的预测值由如下公式表示:其中,表示XGBoost模型的预测值,K代表决策树的数目,f
k
(x
i
)表示输入为x
i
时第k个决策树的预测值,F代表所有决策树的集合;XGBoost模型的目标函数L
(t)
由下式表示:式中,g
i
损失函数的一阶导数值,h
i
表示损失函数的二阶导数值,其中具体使用方差损失函数作为损失函数,f
t
(x
i
)是第t轮的预测值,γ和λ是正则项系数,T表示目标函数中的叶子节点个数,w
j
表示第j个叶子节点的权重系数。5.根据权利要求1所述的一种基于LightGBM

XGBoost集成学习的农药残留量测量方法,其特征在于,步骤3中所述运用猎人猎物优化算法对XGBoost模型进行超参数调优的步
骤为:步骤S1:初始化参数,设定最大迭代次数代、种群数目n
pop
和调节参数δ,且δ为0到1之间的任意值,在搜索空间随机生成初始种群每个成员i的位置,公式如下:s
i
=rnad(1,dim).*(u
bound
‑1bound
)+1
bound
式中,s
i
表示猎人或者猎物的位置,dim为需优化超参数的个数,u
bound
和1
bound...

【专利技术属性】
技术研发人员:李文超朱宇杰管政沙晓鹏郭周鹏谢德瀚
申请(专利权)人:东北大学秦皇岛分校
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1