APP下载

基于XGBoost的储粮品质预测

2023-03-26张慧媛曾显超钟克针韩帅唐怀建

粮食科技与经济 2023年6期
关键词:预测模型支持向量机

张慧媛 曾显超 钟克针 韩帅 唐怀建

摘要:研究了基于机器学习的粮食品质预测技术,创新性地采用机器学习中的XGBoost算法进行粮情检测,通过对粮仓中温度、湿度和化学物质含量进行特征向量分析,旨在帮助粮仓管理人员更好地了解储存粮食的状态,预测可能的变质和虫害情况,保证粮食质量和安全。针对算法检测的准确率,通过XGBoost和传统的机器学习分类算法支持向量机和逻辑回归算法对实验粮食数据进行预测并对比,结果表明,机器学习XGBoost、支持向量机、逻辑回归等算法在粮情检测上都可以快速且正确地做出预测,XGBoost算法的结果相对于支持向量机和逻辑回归,具有更高的准确率。XGBoost算法在提高粮食品质监测效率和准确性方面具有较大潜力。

关键词:储粮品质;逻辑回归;支持向量机;XGBoost算法;预测模型

中图分类号:TS210.2 文献标志码:A DOI:10.16465/j.gste.cn431252ts.20230615

Prediction of stored grain quality based on XGBoost

Zhang Huiyuan1, Zeng Xianchao2, Zhong Kezhen2, Han Shuai2, Tang Huaijian1

( 1. School of Food and Strategic Reserves, Henan University of Technology, Zhengzhou, Henan 450001; 2. School of Artificial Intelligence and Big Data, Henan University of Technology, Zhengzhou, Henan 450001 )

Abstract: The grain quality prediction technology based on machine learning was studied, the XGBoost algorithm in machine learning was innovatively used to detect grain conditions, and the quality of grain was judged by analyzed the eigenvectors of temperature, humidity and chemical substance content in the granary. It was designed to help granary managers to better understand the status of stored grain, predict possible deterioration and pest damage, and ensure grain quality and safety. Aiming at the accuracy rate of algorithm detection, XGBoost and traditional machine learning classification algorithm supporting vector machine and logistic regression algorithm were used to predict and compare the experimental grain data. The empirical results showed that machine learning algorithms such as XGBoost, support vector machine and logistic regression can quickly and correctly make predictions in food situation detection. Compared with support vector machines and logistic regression, the XGBoost algorithm had higher accuracy in grain situation detection. The XGBoost method have great potential in improving the efficiency and accuracy of grain quality monitoring.

Key words: stored grain quality, logistic regression, support vector machine, XGBoost algorithm, prediction model

儲粮品质预测是农业领域中一项极其重要的工作,它对于粮仓管理人员及时了解储存粮食的状态、预测变质和虫害[1]的概率,以保证粮食质量和安全具有重要意义。然而,传统的储粮品质监测方法存在时间长、误差大等问题,限制了其准确性和效率。随着人工智能和机器学习技术的迅猛发展,这些问题可以得到有效解决。储粮品质预测的研究意义在于提高粮食贮存管理的效率和精度,为粮仓管理人员提供及时、准确的信息,使其能够采取相应的措施,防止粮食的变质和损失。此外,粮食是国家的重要战略物资,粮食安全关系到国家的经济发展和社会稳定。通过引入机器学习技术,提高储粮品质预测的准确性和及时性,可以为国家的粮食安全提供有力保障。

粮食储藏发展至今,已不仅仅是单一的学科,而是跨不同研究领域的综合学科[2]。随着机器学习的快速发展,其已被成功应用在农业领域的多个方面。同样,机器学习方法也被用于储藏上,并且取得了较好的效果。沈兵[3]根据粮仓温度、湿度、粮食水分和害虫数据建立了基于BP神经网络的储粮安全预测模型,及时预测储粮的安全状况。Li等[4]为了提高温度检测的准确性,利用深度置信网络建立了储粮温度预测模型,以散粮温度和湿度为输入,得到的预测值精度较高。Kanaan等[5]通过无线传感器网络监测储粮状态,并利用神经网络对储粮状态进行分类,准确率达到为99%。Duan等[6]提出基于支持向量回归粮温预测模型,分析了粮温数据与相应的气象预报数据之间的相关性,对气象数进行主成分分析缩小了模型输入数据的维数,利用气象数据来预测谷物堆的平均温度,预测的RMSE为1.26 ℃。

前人的研究在粮情检测上虽然有很高的准确率,但存在极大的过拟合问题,即在实验的训练数据上有很好的准确率,但在未见过的数据上会表现不佳,对于粮情检测所使用的深度置信网络,因包含多个层次的隐藏节点,这将大大增加模型复杂性,并更容易受到训练中的噪声数据的影响。本文拟研究机器学习算法在储量品质检测的应用,通过XGBoost[7]、支持向量机、逻辑回归3个算法,分别对储量品质进行预测,并通过对其预测结果精确率、召回率进行对比验证,分析得出对于储量品质检测的最优算法XGBoost,以及XGBoost相对其他两个算法在储量品质检测上的优势和后续模型优化方案。

1 XGBoost模型及其对比

1.1 逻辑回归算法

逻辑回归算法可以使用一个逻辑函数(Sigmoid函数)将线性模型输出转换为概率值,用于分类问题,适用于线性可分问题,算法本身简单且适用于小样本数据集。逻辑回归(logistic regression,LR)[8]属于监督学习算法中广义线性模型的一种,类似于线性回归,寻找多个特征自变量和因变量之间的一个线性关系,逻辑回归中使用的Sigmoid函数,可以巧妙地将线性函数的输出值映射到0~1,从而得到样本属于某个类别的概率。

该函数的取值范围为0~1,可以看作是概率分布函数。当其≥0.5时,判定x为正例类别;否则判定x为负例类别。

本文中采用的逻辑回归模型,针对粮食的温差,采用基于拟牛顿法[9](quasi-Newton methods)的lbfgs求解器进行求解,它基于坐标轴下降法[10](coordinate descent)的思想,通过迭代更新模型参数来最小化损失函数,可以支持多分类问题和L2正则化的优化算法,适合于粮情的多分类问题。但其不支持L1正则化,不适合于处理稀疏特征。

本文指定正则化参数C为0.2,并用其来控制正则化程度,它使用似然函数最大化方法来拟合训练数据,可以通过添加正则化来减少过拟合现象。C较小时,模型更倾向于选择参数较小的特征,从而减少过拟合的风险。

1.2 支持向量机算法

支持向量机(support vector machine,SVM)[11]算法是一种在分类和回归问题中广泛使用的机器学习算法。其基本思想是找到一个最优的分割超平面,使得两个不同类别的样本之间的距离(margin)最大化,从而实现对新数据的正确分类[12]。对于线性不可分的情况,采用核函数将样本点映射到高维空间,使其变得线性可分。Sklearn 中可用的核函数有线性函数、poly函数、sigmoid函数和径向基核函数(radial basis function,RBF)。

本文采用了基于多项式poly的核函数[13]。在采用poly核函数同时对数据进行了标准化,以避免特征值差异较大对模型性能的影响。gamma系数采用了默认值“auto”。针对粮食好坏的数据存在类别不平衡问题,通过设置class_weight参数指定为balanced,在训练过程中自动调整每个类别的权重,使得每个类别具有相同的重要性,可以避免出现因为类别不平衡而导致模型出现偏差的问题。在使用该参数时,会根据训练数据中每个类别的数量自动计算每个类别的权重,从而保证不同类别的样本被处理得更加平衡。惩罚系数C设置为5,通过网格搜索找到的最优惩罚系数,过小模型对于错误分类的惩罚就越轻,更倾向于选择一个简单的决策边界,这可以提高模型的泛化能力,但可能导致欠拟合的问题。

1.3 XGBoost算法

XGBoost[14]使用一种特殊的树结构,称为CART(classification and regression tree)树,它采用二叉树进行处理。每个叶节点包含一个输出值,并且所有内部節点都表示简单的二元分裂条件。

使用式(9)可以构建每次迭代的目标函数,并通过梯度下降算法进行优化,从而获得更好的预测精度。

2 结果与分析

2.1 XGBoost的优势

针对储粮粮情,从粮温、化学成分含量等分析,本文主要采用XGBoost,指定目标函数为binary:hinge,相对于传统的SVM,XGBoost使用了类似于梯度提升树(gradient boosting tree)的技术,可以通过分批处理或者多线程计算等方式有效减少训练时间,适合处理大规模数据集,且采用了多棵树的集成算法[15]。

XGBoost使用决策树作为基分类器,在每次提升时会生成一棵新的决策树,max_depth参数用于控制树的深度,限制树的深度可以防止过拟合,提高模型的泛化性能,在本文中,max_depth=5表示每棵树的最大深度为5。如果max_depth设置得太小,会导致欠拟合;如果设置得太大,会导致过拟合。该参数的取值需要视情况而定,本文通过交叉验证方式进行了调整。

通过图1所示的决策树可视化图,可以了解到决策树的层数、叶子节点数量等结构信息。XGBoost通过计算每个特征在决策树中被使用的次数及其对应的分裂增益来评估特征的重要性。因此,在可视化决策树图中,可以依据每个节点所用到的特征在特征重要性排序中的排名来判断该特征的重要性。

XGBoost模型具备较强的可解释性,通过图2可以直观地看出各特征的重要性。建立模型后,查看特征重要程度可以更好地理解粮情数据在不同维度上的变化。这有助于分析潜在因素,优化特征工程和模型构建过程,提高模型预测准确率。同时,在全面评估特征和样本数据的基础上,可以更好地理解和解释XGBoost模型的分类器结果,从而得到更准确的判断和判定。每个特征都被分配了一個重要性得分,得分越高表示该特征对模型的贡献越大。

对于参数eval_metric采用了ROC曲线下面积[16](AUC)作为模型评估指标。AUC是判断分类器好坏的一种常用指标。其计算方法是将正负样本之间所有可能的阈值下的分类精度绘制成ROC曲线,然后计算ROC曲线下面积,AUC值越大,分类器性能越好。在训练二分类模型的时候,AUC通常是比准确率等指标更为稳健的指标,尤其是在类别不平衡的情况下,针对本次训练样本也更加契合。

模型学习曲线,针对SVM和XGBoost绘制学习曲线如图3所示。

在绘制该曲线时采用了交叉验证的方式,在不同大小的训练集上分别计算训练集得分和测试集得分,使用accuracy作为评估指标。

对比XGBoost、SVM和LogisticRegression学习曲线可以看出,XGBoost的准确率始终保持在0.98附近,反观SVM、LogisticRegression准确率则并不理想,分别保持在0.89和0.85左右。

从图4可以看出,随着训练样本的增加,XGB-oostd的训练得分始终保持在0.99左右,交叉验证得分不断增加在Training examples为800时达到平稳,训练得分始终保持在较高水平,且交叉验证得分也在稳步增长,表明XGBoost模型在粮情分析上具有很好的泛化能力,在训练集之外的数据上也能表现出良好的性能。反观SVM和LogisticRegression,也可以更直观地看出XGBoost的优势。

2.2 结果分析

本文通过以上3种算法,对粮食情况进行分析,各算法得到的结果如表1~表3所示。

从表1~表3可以看出,支持向量机、逻辑回归、XGBoost对于0、1、2类别的精确率、召回率、F1评分值,以及准确率、宏平均、加权平均。通过对比可以发现,针对粮情问题,不同算法间存在差异:

3个模型在类别0上的表现整体较为优秀,其精确率、召回率和F1得分均高于其他两个类别,且支持向量机和XGBoost的精确率分别为0.88和0.99,相比之下逻辑回归略低。说明3个模型在类别0上的分类效果均较好。

逻辑回归在类别1和类别2上的表现较差,其召回率和F1评分都较低,分别为0.17和0.28。而支持向量机和XGBoost在类别1和类别2上表现较为优秀,其中支持向量机的精确率和F1得分分别为0.95和0.57,XGBoost的精确率、召回率和F1得分均高于0.9。说明逻辑回归在多分类问题上可能存在不足,而支持向量机和XGBoost在处理多分类问题时有明显优势。

从宏平均和加权平均指标来看,XGBoost相比于逻辑回归和支持向量机更为优秀,其宏平均和加权平均指标均高于其他两个模型,说明XGBoost在整体分类效果上比较优秀。

通过混淆矩阵图(图5)可以更直观地观测出,XGBoost在粮情问题方面相对于其他两个模型的优越性。LogisticRe-gression和SVM在对于类别为1的样本预测结果均不理想,均将第1类错误地预测为0类,而XGBoost在对于3个粮情类别严重、轻度、正常均做出了准确的预测。

3 结 论

本研究以粮情检测问题为背景,引入了XGBoost模型,并探讨了其在该领域中的应用和优势。研究结果表明:① XGBoost模型相较于传统的检测模型,在粮情检测中具有更高的准确性。该模型通过集成多个决策树模型,能够更好地捕捉样本数据中的复杂关系,提高分类器的准确率。② XGBoost模型在特征处理和样本分类过程中展现出较强的自适应和灵活性。它能够根据不同的特征和标签数据自动调整参数,提高模型的精度和泛化能力。③ XGBoost模型还能根据特征的重要程度进行筛选,进一步提高分类器的准确率。

针对模型的改进,研究提出了两种方法:① 基于遗传算法和XGBoost的集成学习方法(GAXGBoost),通过遗传算法对XGBoost模型参数进行寻优,提高模型的精确度和稳定性;② 基于海螺群体算法的改进方法(SSA-XGBoost),通过将SSA算法与XGBoost模型结合,优化模型的参数和权重,提高粮情检测模型的预测性能和应用效果。XGBoost模型作为一种集成学习算法,不仅适用于粮情检测领域,还可在医学图像分析、股票交易预测等多个领域中应用,提高分类和预测的准确性,同时为进一步研究和应用提供了更多的可能性。

综上所述,XGBoost可以更好地解决神经网络过于复杂而造成过拟合的问题,而相对于传统的机器学习算法XGBoost又具有更高的准确率和效率,可见XGBoost在粮情检测上能达到很好的效果。未来的研究可以进一步改进XGBoost模型的优化方法,以提高模型的性能。此外,还可以探索更多领域中XGBoost模型的应用,为相关研究和实际应用提供更多的方向和价值。

参 考 文 献

[1] 王若兰,黄亚伟,刘毅,等.小麦储藏品质评价指标研究[J].粮食科技与经济,2007(6):31-32.

[2] 雷馨雨.基于改进YOLOv5模型的储粮害虫小目标检测[D].武汉:武汉轻工大学,2022:35-36.

[3] 沈兵.基于BP神经网络的储粮安全预测模型研究[J].交通信息与安全,2013,31(6):140-143.

[4] LI Z, ZHU Y. Prediction of grain storage temperature based on deep learning[J]. Revista de la Facultad de Ingeniería, 2017, 32(14): 918-924.

[5] KANAAN M, BAVKARA C K. Proactive monitoring and classification of stored grain condition via wireless sensor networks and machine learning techniques[C]// 2018 2nd International Symposium on Multidisciplinary Studies and Innovative Technologies(ISMSIT). Ankara : IEEE , 2018:1-4.

[6] DUAN S S, YANG W D, WANG X Y, et al. Forecasting of grain pile temperature from meteorological factors using machine learning[J]. IEEE Access, 2019,7:130721-130733.

[7] NGUYEN L T K, CHUNG H H, TULIAO K V, et al. Using XGBoost and skip-gram model to predict online review popularity[J]. SAGE Open,2020,10(4):215824402098331.

[8] 易东,许汝福,夏结来.Logistic回归模型异常值的判定原理探讨[J].第三军医大学学报,1994(5):326-328.

[9] 杨茜,吴泽忠,贺盛瑜.一类改进的BFGS拟牛顿法及与其他几种拟牛顿法的比较研究[J].成都信息工程大学学报,2023,38(2):227-235.

[10] 陶杰,张威,卢超,等.计算最小体积覆盖椭球的坐标轴下降算法[J].中国科学:数学,2021,51(12):2065-2086.

[11] 姜友军,江孝龙,邹潇,等.基于支持向量机算法的粮食储存品质预测模型构建研究[J].食品科技,2020,45(9):162-167.

[12] 徐志.分类模型的风险与鲁棒性研究[D].上海:华东师范大学,2021:38-40.

[13] 龚曲华.基于多项式核函数的曲线型生产前沿面的综合DEA模型[J].闽江学院学报,2018,39(2):10-14.

[14] 郭利进,王永旭.基于XGBoost优化算法的儲粮温度预测研究[J].粮食与油脂,2022,35(11):78-82.

[15] 张国鑫.基于双进化架构的集成学习方法研究[D].西安:西安邮电大学,2022:21-23.

[16] 韩云峰.ROC曲线下面积的计算方法[J].齐齐哈尔医学院学报,2007(6):697-698.

猜你喜欢

预测模型支持向量机
基于矩阵理论下的高校教师人员流动趋势预测
基于支持向量回归的台湾旅游短期客流量预测模型研究
基于改进支持向量机的船舶纵摇预报模型
基于神经网络的北京市房价预测研究
基于SVM的烟草销售量预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
中国石化J分公司油气开发投资分析与预测模型研究
基于熵技术的公共事业费最优组合预测
基于支持向量机的金融数据分析研究