?

基于XGBoost的儲糧品質預測

2023-03-26 05:40張慧媛曾顯超鐘克針韓帥唐懷建
糧食科技與經濟 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分公司油氣開發投資分析與預測模型研究
基于熵技術的公共事業費最優組合預測
基于支持向量機的金融數據分析研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合