張晨,朱玉杰,馮國紅
(東北林業大學 工程技術學院,黑龍江 哈爾濱,150040)
藍莓,又稱越橘,屬杜鵑花科越橘屬植物,富含花青素、維生素C、可溶性固形物等營養成分,具有抗癌、抗氧化衰老、調節血糖濃度、預防心血管疾病等功能[1],被譽為漿果之王。藍莓采收季節較強,鮮果含水量高,容易受到擠壓損傷,采摘后容易變質[2],因此通常采用低溫貯藏技術延長保質期。在貯藏期間,藍莓品質會隨貯藏時間延長而快速變化,進而影響產品銷售和深加工環節,因此建立一種高效準確無損的檢測方法對當前藍莓產業的發展具有重要意義。
由于擁有快速和無損的優勢,近紅外光譜技術在農業[3-5]、林業[6-8]和中草藥[9-10]等領域得到廣泛應用。例如孫曉榮等[11]利用近紅外光譜技術實現快速無損檢測小麥粉的品質,劉翠玲等[12]利用近紅外光譜技術實現對京郊鮮食杏品質的快速無損檢測,湯文濤等[13]利用近紅外光譜技術對山核桃的蛋白質和脂肪含量進行快速檢測,關曄晴等[14]利用近紅外光譜技術實現對蜜桃果實內部品質快速檢測。
當前對藍莓各成分無損檢測研究較多[15-19],但模型準確度和泛化能力均有待提高。本文以丹東瑞卡藍莓和綠寶石藍莓為研究對象,通過實驗獲得瑞卡藍莓不同貯藏時間和綠寶石藍莓不同成熟度的近紅外光譜、花青素、可溶性固形物和維生素C相關數據,使用競爭性自適應重加權采樣法(competitive adaptive reweighted sampling, CARS)對預處理光譜進行特征波長篩選,將支持向量回歸(support vector regression, SVR)、極端梯度上升(extreme gradient boosting, XGBoost)和多層感知機(multilayer perceptron, MLP)作為基模型,采用Stacking融合策略,建立基于集成學習的藍莓貯藏品質無損檢測模型。研究結果表明,與SVR、XGBoost和MLP模型相比,本文所提出的Stacking集成學習模型具有更高的精度、穩定性和泛化能力,可為藍莓無損檢測研究提供新的思路。
本實驗選用品種相近,果實大小相同,果皮無損傷的遼寧丹東瑞卡藍莓和綠寶石藍莓作為樣本,瑞卡藍莓成熟度相同,綠寶石藍莓成熟度不同,每個樣本中含有20枚果實,瑞卡藍莓共計150個樣本,綠寶石藍莓共計30個樣本。將瑞卡藍莓樣本進行編號,放置在4 ℃的生化培養箱中進行貯藏,之后在第0、3、6、9、12天分別測量30個樣本的近紅外光譜、可溶性固形物、維生素C和花青素含量。將綠寶石藍莓進行編號,在第0天測量所有樣本的近紅外光譜、可溶性固形物、維生素C和花青素含量。
LabSpec 5000型光譜儀,美國ASD公司;LYT-330手持式折光儀,上海淋譽公司;UV-1801紫外可見分光光度計,北京北分瑞利公司;SPX-70BⅢ型生化培養箱,天津泰斯特公司。
本實驗采用近紅外光譜儀及其漫反射組件對藍莓近紅外光譜進行采集,在采集過程中為了減小誤差,對樣本中的每個果實采集3次光譜,將60個光譜的平均值作為該樣本的近紅外光譜數據。儀器參數設定:光譜波長范圍為500~2 300 nm,采集間隔1 nm,掃描次數32。原始光譜圖和瑞卡藍莓不同貯藏時間平均光譜圖如圖1所示。

A-藍莓原始光譜曲線;B-瑞卡藍莓不同貯藏時間平均光譜曲線圖1 藍莓近紅外光譜曲線Fig.1 Near infrared spectrum curve of blueberry
本實驗采用折光儀對藍莓可溶性固形物的含量進行采集。在使用蒸餾水對折光儀進行零點校正后,吸取樣本果汁滴入折光儀進行讀數,獲取樣本中可溶性固形物含量,其中每個樣本測量3次,將3次平均值作為該樣本的可溶性固形物數據。
樣本中維生素C和花青素含量通過標準曲線法進行測量,參考文獻[20]中的方法,分別制作出維生素C 標準曲線和花青素標準曲線。從樣本中取出2 g藍莓,加入2 mL的10%(體積分數)HCl溶液進行研磨,使用蒸餾水定容至25 mL;取出2 mL溶液,加入0.2 mL 10% HCl和0.4 mL 1% HCl,用蒸餾水定容至10 mL,最后使用分光光度計測量其243 nm處吸光度,查找標準曲線,計算出樣本維生素C的含量。從樣本中取出2 g藍莓,加入少量1%(體積分數)鹽酸-甲醇溶液,研磨后繼續使用溶液定容至20 mL,之后放置在4 ℃的保溫箱中25 min。靜置完成后過濾溶液,放置在離心機(4 000 r/min)中離心10 min,取出上層清液1 mL,使用蒸餾水稀釋至8 mL,測出吸光度,查找標準曲線,計算出樣本花青素含量。瑞卡藍莓可溶性固形物、花青素和維生素C平均測量值隨貯藏時間變化如圖2所示。

圖2 瑞卡藍莓不同貯藏時間平均理化指標曲線Fig.2 Average physicochemical index curve of Ricca blueberries at different storage times
由圖2可知,在貯藏期間,可溶性固形物含量呈上升趨勢,花青素和維生素C含量呈下降趨勢,這與文獻[21]的實驗結果具有一致性。將可溶性固形物、花青素和維生素C進行標準化處理,采用主成分分析的方法構建藍莓貯藏品質綜合得分[22-23],首先對上述指標進行主成分分析,構建3個新的相互獨立的綜合指標,其次按照各綜合指標的方差貢獻率,對綜合指標進行加權求和,計算每個藍莓樣本的綜合得分,瑞卡藍莓樣本綜合得分如圖3所示。

圖3 綜合得分圖Fig.3 Comprehensive score distribution
參照NY/T 3033—2016《農產品等級規格 藍莓》的規定,根據藍莓貯藏品質綜合得分,采用K均值聚類方法(K-means clustering,K-means),將瑞卡藍莓150個樣本分為三類,其中一級品可溶性固形物、花青素和維生素C的均值分別為10.4、10.3、20.4;二級品均值分別為11.1、8.8、17.0;三級品均值分別為11.9、7.3、13.1。樣本中貯藏品質隨貯藏時間變化如圖4所示,可以明顯看出隨著貯藏時間的延長,一級品數量在前3天內快速減少,在后9天內緩慢減少,三級品數量在前6天內緩慢增加,在后6天內快速增加。

圖4 貯藏品質變化曲線Fig.4 Variation curve of storage quality
本文采用光譜-理化值共生距離法(sample set partitioning based on joint X-Y distance, SPXY)將瑞卡藍莓樣本劃分為訓練集和驗證集,其中訓練集和驗證集的比例為4:1,綠寶石藍莓樣本為測試集。SPXY是基于K-S(Kennard-Stone)算法提出的一種改進方法,K-S算法依據特征維度歐氏距離對數據集進行劃分;而SPXY算法,在此基礎上增加了對不同樣本標簽維度方向的歐氏距離的計算,并通過正則化將2種距離結合,更加全面地評估和劃分數據集。特征維度歐氏距離、標簽維度歐式距離和正則距離計算如公式(1)~公式(3)所示。樣本劃分結果如表1所示。

表1 訓練集樣本和測試集樣本結果統計Table 1 results statistics of training set samples and test set samples
(1)
(2)
(3)
式中:p,q為數據集中的一對樣本;J表示特征維度;maxp,q∈[1,N]dx(p,q)和maxp,q∈[1,N]dy(p,q)分別為數據集中最大特征維度歐氏距離和最大標簽維度歐式距離。
由于藍莓果實外形的差異以及環境的影響,原始光譜存在大量干擾信息,主要表現為光源散射、基線重疊和噪聲,因此為了減少相關因素的影響,需要對光譜數據進行預處理。本文選用標準正態變換(standard normal variate transformation, SNV)、數據標準化(Z-score standardization, Z-score)、一階導數(first derivative, 1st-D)、二階導數(second derivative, 2nd-D)4種預處理方法對原始光譜進行處理,選用偏最小二乘方法(partial least squares regression, PLSR)對預處理后的數據進行建模,采用相關系數R2、均方根誤差(root mean square error, RMSE)和相對分析誤差(relative percent deviatio, RPD)對模型進行評價,計算方法如公式(4)~公式(6)所示:
(4)
(5)
(6)

通常所建模型的RMSE越小,R2越接近1,預測效果越好,但是在實際建模過程中,一般設定R2為0.66~0.80時,剛好達到預測效果;R2為0.81~0.90時,預測效果較好;R2>0.90時,預測效果最佳。RPD主要對模型可靠性進行衡量,當RPD<1.4時,認為所建模型可靠;當RPD為1.4~2.0時,認為所建模型較可靠;當RPD>2.0時,則認為所建模型有較高可靠性,能夠用于模型分析。各種光譜預處理方法建模結果如表2所示。

表2 不同光譜預處理方法建模結果Table 2 modeling results of different spectral pretreatment methods
從表2可知,采用預處理方法后能夠大幅提高模型的相關系數和相對分析誤差,減少RMSE,其中可溶性固形物、維生素C和花青素最優模型的R2均大于0.81,RPD均大于2,說明采用近紅外光譜對藍莓貯藏品質進行無損檢測是可行的。由表2可知,可溶性固形物最優預處理方法為Z-score+1st-D;維生素C最優預處理方法為Z-score+2nd-D;花青素最優預處理方法為SNV+1st-D。
預處理后的光譜數據中含有大量的冗余信息,嚴重影響模型的魯棒性和準確性,為了簡化模型結果和提高預測精度,本文使用競爭性自適應重加權采樣法(competitive adaptive reweighted sampling, CARS)對藍莓近紅外光譜特征波長進行篩選。由于CARS算法具有隨機性,本文多次重復,選擇選取最佳波段,算法迭代過程中RMSE以及被選擇波長數量變化如圖5所示,最優波長數量信息如表3所示。

表3 最優波長數量信息表Table 3 Optimal wavelength number information table

A-RMSE曲線變化;B-波長數量曲線變化圖5 RMSE和波長數量變化圖Fig.5 RMSE and wavelength number changes
集成學習是訓練多個機器學習模型并將其輸出組合在一起的過程,致力構建一個最優的預測模型。集成學習可以提高整體模型的穩定性,從而獲得更準確的預測結果,其關鍵在于基模型的選擇和融合。
本文利用K鄰近算法(K-nearest neighbor, KNN),隨機森林(random forest, RF)等10余種常見機器學習模型對數據進行訓練,其中SVR對數據異常值具有魯棒性,訓練速度快,泛化能力強;XGBoost對于中低維數據有很好的處理速度和精度,具有一定的抗噪能力;MLP具有自適應自學習能力,對數據擬合能力強,預測精度高。
2.1.1 SVR
SVR是一種回歸模型,與一般線性回歸相比,SVR首先在損失計算上不考慮間隔帶ε范圍內的誤差;其次通過最大化間隔帶的寬度與最小化損失函數來優化模型。SVR算法回歸估計函數如公式(7)所示,其中w,b分別為系數矩陣和常數項,φ(x)為樣本數據與高維特征空間的映射函數。利用公式(8)計算得到w和b:
(7)
(8)

2.1.2 XGBoost
XGBoost是基于提升樹的Boosting算法,其原理是把每個弱模型的輸出結果當成連續值,使得損失函數連續,進而通過對弱模型迭代達到損失函數最小,最終完成對整個模型的優化。XGBoost最終預測結果為所有弱模型輸出結果之和,計算方法如公式(9)所示:
(9)

XGBoost目標函數如公式(10)所示:
(10)
式中:n表示樣本數量,yi表示樣本i的真實值,l為真實值和預測值之間的損失函數,Ω為弱模型的復雜度函數,c為公式合并后的常數項。
2.1.3 多層感知機(multilayer perceptron, MLP)
MLP也稱為人工神經網絡,其結構包括輸入層、輸出層和隱藏層,通過線性變換和非線性函數激活的方式進行特征變換,使用小批量梯度下降和反向傳播更新MLP中的參數,最后完成對整個模型的優化。損失函數的計算如公式(11)所示:
(11)

按照基模型是否相同,融合策略可以分為同質集成和異質集成,其中同質集成按照基模型之間是否存在依賴關系,可以分為并行Bagging集成和串行Boosting集成;異質集成按照元模型訓練數據選取的不同,可以分為Stacking集成和Blending集成。為了充分利用樣本數據,本文采用Stacking集成策略融合SVR、XGBoost和MLP建立藍莓貯藏品質無損檢測模型,算法整體架構如圖6所示,其流程共分為5步。

圖6 Stacking集成學習整體架構圖Fig.6 Stacking ensemble learning architecture
a)如圖7所示,在訓練SVR、XGBoost和MLP 3個基模型時,將訓練集數據劃分為5個相等的集合,取其中一份進行預測,其余進行訓練。

圖7 基模型數據流程圖Fig.7 Base model data flow diagram
b)每個基模型都要進行5折疊交叉驗證,驗證完成后,將訓練集預測結果合并構成元模型訓練集特征。
c)使用所有基模型的交叉驗證模型,對驗證集和測試集進行預測,將得到的5次預測結果求取平均值,獲得元模型驗證集特征和測試集特征。
d)如圖6所示,將獲得的3個特征進行合并,構建元模型XGBoost的訓練集、驗證集和測試集。
e)利用新的訓練集、驗證集和測試集對元模型XGBoost進行訓練、驗證和測試,得到最終結果。
為了檢驗本文提出的Stacking集成學習算法的有效性,將其與SVR、XGBoost、MLP算法進行比較,各算法建模結果如表4所示。與其他單一預測模型相比,本文所提出的Stacking集成學習效果最優,其中維生素C預測模型相關系數R2為0.872 6,RMSE為0.566 4,RPD為2.801 6;可溶性固形物預測模型相關系數R2為0.881 4,RMSE為0.696 3,RPD為2.903 7;花青素預測模型相關系數R2為0.905 5,RMSE為1.693 9,RPD為3.253。上述所有模型的相關系數R2均大于0.81,RPD均大于2,說明本文所提出的模型具有較高的精度和穩定性,以及良好的泛化性。維生素C、可溶性固形物和花青素測測試集的預測值與真實值分布散點圖如圖8~圖10所示。

表4 不同算法建模結果Table 4 Modeling results of different algorithm

A-SVR模型散點圖;B-XGBoost模型散點圖;C-MLP模型散點圖;D-Stacking模型散點圖圖8 維生素C預測值與真實值散點圖Fig.8 Scatter plot of predicted and true values of vitamin C

A-SVR模型散點圖;B-XGBoost模型散點圖;C-MLP模型散點圖;D-Stacking模型散點圖圖9 可溶性固形物預測值與真實值散點圖Fig.9 scatter plot of predicted and true values of soluble solids content

A-SVR模型散點圖;B-XGBoost模型散點圖;C-MLP模型散點圖;D-Stacking模型散點圖圖10 花青素預測值與真實值散點圖Fig.10 Scatter plot of predicted and true values of anthocyanin
本文以品種相近的丹東瑞卡藍莓和綠寶石藍莓為研究對象,采集不同貯藏時間的瑞卡藍莓和不同成熟度的綠寶石藍莓近紅外反射光譜和理化指標,之后利用4種算法,建立藍莓貯藏品質無損檢測模型,最終得出如下結論:
a)通過比較4種光譜預處理方法,發現可溶性固形物最優預處理方法為Z-score+1st-D,維生素C最優預處理方法為Z-score+2nd-D,花青素最優預處理方法為SNV+1st-D。
b)采用競爭性自適應重加權采樣法對預處理光譜進行處理,能夠有效對特征波長進行篩選,簡化了模型復雜度,提高了預測精度。
c)與SVR,XGBoost和MLP模型相比,本文所提出的Stacking集成學習模型具有更高的精度和穩定性,以及更好的泛化能力,其中維生素C預測模型的相關系數R2為0.872 6,可溶性固形物預測模型的相關系數R2為0.881 4,花青素預測模型的相關系數R2為0.905 5。