楊 琳,張 林,葉澤輝
(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集成學習算法較其他算法而言,精度高,有良好的泛化能力,顯著提升玉米種子含水率預測的效果。本研究為近紅外光譜結合集成學習算法分析玉米種子質量提供了新的思路,提高了準確率和應用性,對高效率播種,與提高現代化農業生產效率有非常重要的意義。
本試驗中玉米樣本為未包裹種衣劑等藥物的玉米種子,由種子公司提供,分別為‘陜科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
本試驗過程中采用近紅外光譜儀(AntarisⅡ型,美國Nicolet公司)及其漫反射部件對玉米種子近紅外光譜進行采集,在采集過程中為減少因玉米種子擺放角度引起的干擾,分別對玉米種子樣本胚芽正面朝上和胚芽朝下采集3次光譜,對每個樣本的共計6個光譜取平均作為該玉米種子的近紅外光譜數據使用。儀器參數設定為:光譜采集波長范圍1 100~2 400 nm,掃描間隔為2 nm,每個樣品獲得700個樣本點,掃描次數為32次。玉米種子樣本近紅外漫反射光譜如圖2所示。

圖2 玉米種子樣本近紅外光譜圖Fig.2 Near infrared spectra of maize seed samples
由于不同的玉米種子顆粒及種子表面平整度的差異及種子形狀和種皮之間均存在著較明顯的差異,導致近紅外光譜在采集過程中光的反射、散射影響程度不一,采集到的玉米種子原始近紅外光譜中包含了大量的干擾信息,導致測量誤差很難消除,影響最終的定量分析結果。因此為了減少外界環境和種子外觀不同產生的影響,選擇適當的預處理方法對光譜進行預處理是必要的。本次試驗采用SG平滑濾波法,分別結合多元散射校正法(Multiplicative scatter correction,MSC)、歸一化(Normalization,NOR)、均值中心化(Mean centering,MC)、標準正態變量變換(Standard normal variate transformation,SNV)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
集成學習[25](Ensemble learning)是一種融合多個基礎模型的集成模型,通過某種融合策略,對幾個可能含有錯誤的輸出進行分析后,得到一個對性能提高具有積極影響的結果,提升模型學習的性能。
本試驗中,通過對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):

集成學習一般有平均法、投票法和學習法幾種融合策略,分為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作為測試集,進行第二層模型的訓練與預測,得到最終的結果。
在本次研究過程中采用決定系數(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]。
采用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,既能夠有效去除干擾信息,又能夠最大限度保留有效信息。
為檢驗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
本研究提出一種基于集成學習的近紅外光譜快速預測玉米種子含水率的方法。對于種子公司提供的,未包裹種衣劑等藥物的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這些基礎模型,收斂特性好、泛化能力強,有助于實現玉米種子含水率快速、無損、穩定地檢測,為農業生產過程管理和質量控制提供一種有效方法。