基于集成学习和近红外光谱的玉米种子含水率预测方法研究
2022-11-02叶泽辉
杨 琳,张 林,叶泽辉
(1.商洛学院 电子信息与电气工程学院,陕西商洛 726000;2.陕西省商丹高新学校,陕西商洛 726000)
玉米是全世界范围内主要的粮食作物之一,富含氨基酸、维生素A、维生素E、卵磷脂、亚油酸等营养成份,不但是水产养殖、养殖、畜牧等行业至关重要的饲料原料来源,还是医疗卫生、轻工化工、战略物资储备,以及食品餐饮等领域的必不可少的原料之一[1-2]。20世纪90年代随着美国率先推出玉米“单粒种子”播种技术,迅速在世界种粮大国得到推广,中国玉米种植模式也随之发生改变[3]。种子质量是决定玉米产量的关键因素,但种子质量容易受到环境条件、机械脱粒、干燥等操作的影响[4],这些因素可能导致严重的种子损伤和种子外观的变化。机械揉捏压力造成的损害、病原体的侵袭、种子破损、种皮破裂、水分损害和发绿的种子可能会对种子活性产生一定的影响,对玉米种子质量的监控显得非常重要[5-7]。
玉米种子的质量取决于水分、油、蛋白质和淀粉几种主要化合物,这些化合物赋予玉米种子营养价值,尤其是水。水分含量太高,会引发种子霉变,水分含量太低,种子活性会大幅度降低。因此,在玉米种子处理工序和储存过程中,应保持特定的水分含量限值,以确保其质量的稳定性[8]。目前,物质成分测定的常规物理和化学方法主要包括烘箱干燥法、分光光度法和高效液相色谱法(HPLC)[9-12]。虽然基于大型设备的技术提供了各种可靠的方案,具有良好的准确性和灵敏度,但它们通常存在预处理程序复杂、操作耗时、成本高以及需要专业操作人员等缺点[13]。
由于拥有快速、无损的优势,近红外光谱技术近年来得到了广泛的关注。例如刘秀英等[14]将BP神经网络对光谱的分析,应用于牡丹种子含水率的估算,姜妍等[15]用近红外光谱检测了青饲大豆主要品质参数,焦俊等[16]用近红外光谱完成了核桃的品种鉴别,余克强等[17]用近红外光谱检测了猕猴桃不同贮藏期果肉色泽。康文翠等[18]利用光谱对霉变小麦菌落数定量分析。近红外光谱技术的原理是近红外光照射到样品时,一部分光会被物质吸收,同时会发生漫反射,不同的成分对应物质内部的C-H、N-H、O-H和S-H等不同化学键,对近红外光谱的吸收波长不同,因此可以利用近红外光谱分析技术进行定性和定量分析研究[19-22]。Bai等[23]基于机器学习算法,根据速溶茶的近红外光谱,对其水分、咖啡因等相关参数进行预测,表现出很高的精度和准确性。虽然近红外光谱已经得到了广泛的应用,但对玉米种子的各种成分进行无损定量分析的研究很少,且准确率还有待提高。在多元数据分析中,机器学习[24]的应用非常广泛,其中的集成学习算法具有可以融合多个基础模型的优势,从而达到更高的精度。针对上述问题,本试验拟结合近红外光谱技术与机器学习方法的优势,研究含水率预测的新方法,在提高速度的同时提高准确率。
本研究采用竞争性自适应重加权算法(CARS)进行特征波长的提取,建立集成学习[25]算法模型,选择RF[26]、GDBT[27]、XGB[28]作为基础模型,以Stacking作为融合规则,使用不同的模型进行玉米种子含水率预测的试验,以异质集成的方式,有效融合基算法,实现优势互补。结果表明,Stacking集成学习算法较其他算法而言,精度高,有良好的泛化能力,显著提升玉米种子含水率预测的效果。本研究为近红外光谱结合集成学习算法分析玉米种子质量提供了新的思路,提高了准确率和应用性,对高效率播种,与提高现代化农业生产效率有非常重要的意义。
1 材料与方法
1.1 试验材料
本试验中玉米样本为未包裹种衣剂等药物的玉米种子,由种子公司提供,分别为‘陕科9号’‘鲲玉8号’‘东单159’‘潞玉6号’‘正大999’‘正大12’‘均隆608’‘郑单958’共计8个品种,每个品种选择40粒,共计320份玉米种子样本。首先对320个玉米种子进行编号,采用近红外光谱仪(AntarisⅡ型,美国Nicolet公司)采集每粒玉米种子的近红外漫反射光谱作为特征,然后采用直接干燥法测定每个玉米种子含水率作为标签。
为了增强所建立模型的鲁棒性,训练集和测试集的样本更具有代表性,按3∶1的比例,采用K-S算法(Kennard-Stone),将所有的数据集划分为训练集和测试集。K-S算法是将所有的样本全部看作是训练集的候选样本,然后依次从其中挑选出测试集样本进行划分,其挑选的依据是依次选择欧氏距离最远的2个样本作为训练集,随后对其余的样本分别计算到训练集中每一个样本的欧氏距离,分别找到拥有最大欧氏距离的样本和最小欧氏距离的样本存放入训练集中,依次重复以上过程,直到训练集样本数量达到设置要求为止,剩余样本划为测试集。该算法最大的优势在于可以确保测试集中的样本最大限度按照空间距离均匀分布,且不受异常样本的干扰。样本间欧式距离计算方法如公式(1)所示。
式中:N表示样本点数,p,q∈[1,N],x p和x q表示2个不同的样本,m表示空间维度。图1为采用直接干燥法测得的玉米种子样本含水率分布,从图中可知玉米种子样本含水率基本符合正态分布。
图1 玉米种子样本含水率Fig.1 Distribution of moisture content maize seed samples
1.2 近红外光谱采集
本试验过程中采用近红外光谱仪(AntarisⅡ型,美国Nicolet公司)及其漫反射部件对玉米种子近红外光谱进行采集,在采集过程中为减少因玉米种子摆放角度引起的干扰,分别对玉米种子样本胚芽正面朝上和胚芽朝下采集3次光谱,对每个样本的共计6个光谱取平均作为该玉米种子的近红外光谱数据使用。仪器参数设定为:光谱采集波长范围1 100~2 400 nm,扫描间隔为2 nm,每个样品获得700个样本点,扫描次数为32次。玉米种子样本近红外漫反射光谱如图2所示。
图2 玉米种子样本近红外光谱图Fig.2 Near infrared spectra of maize seed samples
1.3 光谱预处理
由于不同的玉米种子颗粒及种子表面平整度的差异及种子形状和种皮之间均存在着较明显的差异,导致近红外光谱在采集过程中光的反射、散射影响程度不一,采集到的玉米种子原始近红外光谱中包含了大量的干扰信息,导致测量误差很难消除,影响最终的定量分析结果。因此为了减少外界环境和种子外观不同产生的影响,选择适当的预处理方法对光谱进行预处理是必要的。本次试验采用SG平滑滤波法,分别结合多元散射校正法(Multiplicative scatter correction,MSC)、归一化(Normalization,NOR)、均值中心化(Mean centering,MC)、标准正态变量变换(Standard normal variate transformation,SNV)4种预处理方法对玉米种子近红外光谱的处理。
1.4 提取特征波长
由于全波段的吸收光谱中包含有大量的干扰信息和冗余信息,为了减少计算量,简化模型,提高模型的运行效率,需要对预处理后的光谱信息进行特征提取。采用竞争性自适应重加权算法(competitive adapative reweighted sampling,CARS)来提取玉米种子近红外光谱的特征波长。图3为玉米种子近红外光谱主成分累计贡献率,由图中可知前7个主成分的累计贡献率达92%以上,包含了大部分光谱有效信息,因此建模时提取玉米种子光谱的前7个主成分作为特征信息进行建模。
图3 玉米种子样本近红外光谱主成分累计贡献率Fig.3 Cumulative contribution of principal components in near-infrared spectra of maize seed samples
2 算法原理
集成学习[25](Ensemble learning)是一种融合多个基础模型的集成模型,通过某种融合策略,对几个可能含有错误的输出进行分析后,得到一个对性能提高具有积极影响的结果,提升模型学习的性能。
2.1 基础模型选择
本试验中,通过对8个玉米品种的光谱特征在GBDT等10个常用模型进行性能验证,其中RF算法对数据集的适应能力强,训练速度快,有一定的抗噪能力;GBDT的基学习器之间存在串行关系,在相对较少的调参时间下,预测的准确度较高;XGB能够自动地运用CPU的多线程进行并行计算,同时算法精度得以提高。因此选择以上3个模型作为集成模型的基础模型。
RF[26](Random Forest,随机森林),即用随机的方式将多个没有关联的决策树组合起来的模型。得到随机森林模型后,当新样本进入时,随机森林中的每一棵决策树分别进行判断,T个基础模型得到的回归结果进行算术平均,作为最终模型输出。这种方式提高了预测精度,并对多元共线性不具有敏感性,对缺失数据和非平衡数据的结果而言,相对稳健,对于几千个解释变量,有很好的预测表现。
GBDT[27](Gradient Boosting Decision Tree,梯度提升决策树)是一种迭代决策树算法,由多棵回归决策树组成。GBDT的核心在于累加所有树的结果作为最终结果,该算法的泛化能力较强。GBDT的基础学习器表示为式(2):
回归树将输入变量和输出变量组成的空间划分成J个不相交的区域R j,j表示第j个区域。样本点落入区域R j预测值为b j,否则为0,{b j,R j}J表示每个模型的参数。I(·)为示性函数,当前迭代的结果表示为式(3):
其中,f b-1(x)表示上一次迭代结果,R jb为第b次迭代基于伪响应变量建立回归树获得的区域划分。,即预测值为落入区间R jb的样本观测点的均值,系数ρb为搜索所得。
XGB[28](或XGBoost,Extreme Gradient Boosting极端梯度上升),以提升效果为目的,依次加入不同的树,来对损失函数Loss进行二阶的泰勒展开,同时还添加了正则项,以得到最优解,通过权衡模型的复杂程度,以及降低目标函数,达到避免过拟合的效果。
XGB算法完整的目标函数为式(4):
2.2 融合策略
集成学习一般有平均法、投票法和学习法几种融合策略,分为Bagging、Boosting、Stacking三大类,分别侧重于减少方差、减少偏差和提升预测结果。其中,Bagging是并行同质集成方法,利用基础模型的独立性,通过平均能够较大地降低误差;Boosting属于串行集成方法,利用基础模型之间的依赖,通过给错分样本一个较大的权重来提升性能;Stacking是通过一个元分类器或者元回归器来整合多个分类模型或回归模型的集成学习技术。本研究使用Stacking策略融合RF、GDBT和XGB 3个基础模型算法,其中RF属于Bagging,GDBT、XGB属于Boosting。建立一种新的Stacking算法,如图4所示,其流程分为6步。
图4 Stacking集成学习算法框图Fig.4 Block diagram of Stacking ensemble learning algorithm
(1)将数据划分为2个训练集(Training set 1,Training set 2)和1个测试集(Testing set);
(2)创建第一层模型,利用Training set 1来训练GDBT、RF、XGB 3个基学习器的模型;
(3)每个训练集划分为5个大小相同的集合,取其中一份作为测试集,其余的为训练集。每个模型都要进行5折交叉验证,如图5所示,分别得到一个结果,合并构成新的训练集;
图5 Stacking集成学习算法数据流图Fig.5 Data flow diagram of Stacking ensemble learning algorithm
(4)Training set 2分 别 通 过GDBT、RF、XGB 3个基模型,生成的预测结果作为新的特征,并拼接起来作为第二层的训练集New training set;
(5)测试集(Testing set)也经过3个模型后,取输出的平均值,形成第二层的测试集New testing set;
(6)以New training set作为训练集,以New testing set作为测试集,进行第二层模型的训练与预测,得到最终的结果。
2.3 模型的评价
在本次研究过程中采用决定系数(R2)、校正均方根误差(Root mean square error of cross validation,RMSECV)、预测均方根误差(Root mean square error of prediction,RMSEP)和相对分析误差(relative percent deviation,RPD)对模型进行评价。其计算方法如式(5)、式(6)和式(7)所示:
式中:m表示样本数量,y j表示第j个样本的真实值,^y j表示第j个样本的预测值,ˉy j表示所有m个训练样本真实值的平均值。
通常模型最终得到的RMSECV和RMSEP的值越小,R2的值越接近于1,则表面该模型的预测精度越高。如果RMSECV和RMSEP的值相差过大,则表明训练集样本和测试集样本不具有代表性,发生了过拟合或者欠拟合的情况,需要对样本重新划分训练集和测试集。
RPD的值小于1.4,表示模型不可靠;RPD的值在1.4~2之间表示模型有一定的可靠性;RPD的值在2~2.5之间表示模型较可靠,能够用于模型分析;RPD的值大于2.5,表示模型可靠性较高[29]。
3 结果与分析
3.1 光谱预处理
采用SG平滑滤波法(Savitzky-Golay smoothing,SG),分别结合多元散射校正法(Multiplicative scatter correction,MSC)、归一化(Normalization,NOR)、均值中心化(Mean centering,MC)、标准正态变量变换(Standard normal variate transformation,SNV)4种预处理方法对玉米种子原始近红外光谱的处理后,选用偏最小二乘回归(Partial Least Squares Regression,PLS)方法分别建立原始光谱、SG平滑滤波后的光谱,以及SG平滑滤波结合四种预处理的光谱,建立含水率预测模型,其结果如表1所示。
表1 玉米种子含水率预测模型不同预处理方法建模结果Table 1 Modeling results of different preprocessing methods for prediction model of moisture content in maize seed
由表1可知,无论采用哪一种光谱预处理方法,分别建立玉米种子含水率的预测模型,训练集和测试集的决定系数均大于0.77,测试集的相对分析误差也均大于2,说明采用近红外光谱分析法对玉米种子含水率进行检测分析是可行的。对比分析建模参数可以发现采用Savitzky-Golay方法结合多元散射校正法预处理后的光谱建立的模型,达到了较好的效果,决定系数R2=0.903 2,预测均方根误差RMSEP=0.159 7,且相对分析误差RPD=2.32,既能够有效去除干扰信息,又能够最大限度保留有效信息。
3.2 建模结果分析
为检验Stacking集成算法的优劣,将其与RF、GDBT、XGB 3个算法进行比较,分别进行3 000次训练后的建模结果如表2所示,在同样玉米种子光谱数据对模型进行训练的情况下,本研究提出的Stacking集成算法预测效果更优,预测相关系数R2P=0.939 1,相对分析误差PRD=2.91,模型预测精度和稳定性较好。
表2 4种模型的预测效果对比Table 2 Comparison of prediction effect of four models
为了进一步优化模型参数和收敛特性,对模型进行重复训练,训练结果如图6所示,由曲线对比可知,四种模型测试集的损失函数,均随着训练次数的增加而减小,在训练1 051次之前损失函数下降速度较快,模型优化速度明显,本研究提出的Stacking集成算法收敛速度最快,明显优于Bagging、Boosting策略,在训练2 163次以后模型性能提升有限,因此在实际应用中将模型的训练次数设定为2 163次对比4个模型的预测效果。
4个模型经过2 163次训练后,模型测试集真实值与预测值的散点拟合图如图7所示。可以看出采用RF、GDBT、XGB建立的预测模型的预测值较为分散,而采用本试验提出的Stacking集成算法,数据点密集地集中在拟合直线两侧。因此,Stacking模型预测玉米种子含水率效果明显优于RF、GDBT、XGB 3种基算法。
图7 4种建模方法验证结果Fig.7 Verification results of four models
将80个测试集样本按其含水率从小到大进行排序,从中等间隔抽取23测试集样本进行重复试验,将抽取的23个重复试验样本重新按1~23进行编号,分别采用Stacking模型进行5次预测,得到23组数据分别计算其均值和方差,其结果如图8所示。由图8可以看出,选取的23个测试样本的5次预测平均值大多落在直线y=x上,说明模型的预测准确度较高。第21号样本的波动范围最大,其5次预测值的标准差为0.403 73,其余样本的5次重复预测值的标准差均集中在0.260 77以内,说明该模型的预测稳定性较好,与前面通过模型参数预测相关系数和相对分析误差PRD对模型的评价结果一致,进一步说明了该模型的预测能力和模型稳定性。
图8 Stacking模型重复5次测试结果Fig.8 Test results five times by stacking model
为了进一步研究训练集样本与测试集样本的代表性,对测试集样品实测值与预测值结果进行T检验,结果见表3。由表3可知,测试集样品的实测值与预测值方差方程Levene检验结果P值为0.961,不显著,测试集样本预测值与实测值均值方程T检验结果P值(双侧)为0.901,不显著,表明测试集样本具有普适性,进一步说明所建立的玉米种子含水率预测模型能够很好地对未知玉米种子样本含水率进行预测。
表3 测试集样品实测值与预测值结果进行T检验结果Table 3 T test results of measured and predicted values of testing set sample
4 结论
本研究提出一种基于集成学习的近红外光谱快速预测玉米种子含水率的方法。对于种子公司提供的,未包裹种衣剂等药物的8个品种320份玉米种子进行了近红外漫反射光谱特征的4种集成学习算法分析,得出如下结论:
(1)采用竞争性自适应重加权算法(CARS)进行特征波长的提取,发现前7个光谱特征波长包含了玉米种子含水率大部分特征信息,所以选择前7个特征光谱作为样本的特征向量。
(2)通过对比4种预预处理方法,发现Savitzky-Golay方法结合多元散射校正法对玉米种子近红外光谱的去噪效果最优。
(3)建立玉米种子含水率预测的Stacking模型,融合了GDBT、RF、XGB 3种算法的优势,2 163次训练后模型的预测相关系数R2P达到0.939 1,相对分析误差PRD为2.91,5次重复性试验的结果显示,平均值集中在直线y=x上,且其标准差均不超过0.403 73。Levene检验结果P值为0.961,T检验结果P值(双侧)为0.901,表明测试样本具有普适性。
(4)本研究所述的Stacking模型的预测精度和预测稳定性远高于GDBT、RF、XGB这些基础模型,收敛特性好、泛化能力强,有助于实现玉米种子含水率快速、无损、稳定地检测,为农业生产过程管理和质量控制提供一种有效方法。