王啟陽,吳文福,蘭天憶
(吉林大學生物與農業(yè)工程學院,長春130022)
糧食儲備是保障國家糧食安全的重要物質基礎。據(jù)統(tǒng)計,2018年中國共有標準糧食倉房倉容6.7億t[1],如何保證糧食儲藏過程中的品質顯得尤為重要。糧食儲藏過程中,谷物中脂肪酸含量是其品質變化的敏感性指標,常被用來衡量谷物變質程度[2-4]。谷物在儲藏過程中游離脂肪酸含量隨時間增加,品質也會隨之下降,到一定程度將不能食用。因此,研究谷物中脂肪酸含量的變化規(guī)律意義重大。
為了研究谷物中脂肪酸含量的變化規(guī)律,國內外眾多研究人員做了大量研究。Park等將水稻置于不同溫度條件下儲藏一定時間,結果表明溫度對水稻儲藏期間脂肪酸含量的影響非常顯著[5]。楊慧萍等研究了不同溫度和水分條件下粳稻谷的脂肪酸變化規(guī)律,并建立了稻谷脂肪酸值與氣味值的回歸方程[6]。De Alencar等研究了大豆在不同儲存溫度下品質的變化規(guī)律,建立了大豆脂肪酸值與儲存時間的方程,并對方程進行了顯著性分析[7]。Dong等根據(jù)大豆儲藏過程中脂肪酸值的變化對大豆的保質期進行預測[8]。宋偉等分析了小麥儲藏積溫與游離脂肪酸關系,并建立了儲藏積溫與小麥脂肪酸的線性回歸方程[9]。上述方法通過對品質變化規(guī)律進行曲線擬合,得到其品質變化方程,進而預測谷物中脂肪酸含量。
近年來機器學習(machine learning,ML)與大數(shù)據(jù)技術的出現(xiàn),為儲糧安全提供了新的思路,得到廣泛的應用。孫勃將BP神經網絡實現(xiàn)了儲糧宜存概率的預測,并基于此設計了一套糧食儲存品質預測軟件[10]。Liu等對不同儲糧因素引起的糧食損失進行了分析和預測,并建立了基于決策樹算法的糧食損失預測模型[11]。張德賢等提出了基于SVR的糧倉儲糧重量檢測模型[12]。Shen等利用深度神經網絡提出了一種對儲糧害蟲進行檢測和識別的方法,取得了較好的效果[13]。然而,卻鮮有將機器學習方法用于稻谷脂肪酸含量預測的報道。
綜上所述,本文利用機器學習算法預測稻谷在儲藏過程中的脂肪酸含量(以KOH計)。采用主成分分析方法對采集所得數(shù)據(jù)進行篩選和壓縮,從中選取若干對稻谷脂肪酸含量具有最佳解釋能力的關鍵因子,用較少的變量代替原來較多的變量與脂肪酸含量之間進行回歸建模和驗證;將選擇的關鍵預測因子分別輸入到多元線性回歸(multiple linear regression,MLR)、人工神經網絡(artificial neural network,ANN) 、 支 持 向 量 回 歸(support vector regression,SVR)、最小二乘支持向量回歸(least square support vector regression, LSSVR)等模型,并采用均方根誤差等指標分析各模型的預測性能,探討稻谷脂肪酸含量預測的最優(yōu)模型算法,為科學儲糧提供了依據(jù)。
1.1.1 數(shù)據(jù)采集
在本文研究工作中,試驗數(shù)據(jù)來自東北地區(qū)的5個儲備糧糧庫,其中黑龍江3個糧庫、吉林省1個糧庫、遼寧省1個糧庫,共包含35個糧倉。糧庫作業(yè)人員定期在糧倉中扦樣,送至當?shù)貦z測站進行相關數(shù)據(jù)檢測,其中脂肪酸含量檢測方法按照國家標準GB/T 29405-2012《糧油檢驗谷物及制品脂肪酸值測定儀器法》中規(guī)定的光度滴定儀法進行,水分檢測按照國家標準GB/T 5497-1985《糧食、油料檢驗水分測定法》中規(guī)定的定溫定時烘干法進行。糧溫均采用電子檢溫系統(tǒng)檢測并保存記錄。
1.1.2 糧溫數(shù)據(jù)處理
由于設備故障、天氣及人為因素等影響會造成糧溫數(shù)據(jù)異?;蛉笔У惹闆r,需要對收集到的糧溫數(shù)據(jù)進行處理:首先將糧情溫度數(shù)據(jù)中數(shù)值過大、過小及亂碼的數(shù)據(jù)清除;其次,采用線性插值的方法補全缺失的糧溫數(shù)據(jù)[14]。
1.1.3 儲藏有效積溫
儲糧溫度是影響儲糧安全的關鍵因素[15],對糧食中脂肪酸含量的影響顯著[16],原因是溫度不僅影響糧食中現(xiàn)有霉菌的種類,也影響所形成代謝產物的種類和產量,從而導致糧食脂肪酸含量的變化[17-19]。因此,本文引入儲藏有效積溫用于稻谷脂肪酸預測。當溫度高于某一溫度值時,生物體開始發(fā)育生長,因其生長還需一定的時間,將這一段時間溫度的積累稱為有效積溫[20]。糧食中生物與微生物的大量活動能夠導致糧食發(fā)熱,而糧食溫度高低也直接影響糧食中生物與微生物的活動狀況,研究表明儲糧溫度為-8℃時仍能檢測到霉菌[21],因此本文取-8℃為儲藏積溫的相對0點計算有效積溫,計算公式為
式中K為有效積溫,℃·d;Ti為實測儲糧溫度,℃;N為計算儲藏積溫的時間,d;n儲糧總時間,d;T0為儲藏積溫相對0點。
1.1.4 數(shù)據(jù)歸一化
標準歸一化處理可使每個數(shù)據(jù)特征的量綱相同,提高算法的訓練速度和精度,研究表明將輸入數(shù)據(jù)歸一到(0,1)范圍內的性能表現(xiàn)出優(yōu)于原始輸入數(shù)據(jù)的性能[22],因此,有必要在建立預測模型前對原始數(shù)據(jù)進行歸一化處理。本文先將原始數(shù)據(jù)歸一化處理,最后將模型輸出值反向轉換為原始比例,歸一化公式為
式中xi和分別為原始數(shù)據(jù)和歸一化后的數(shù)據(jù),xmax和分別為數(shù)據(jù)樣本的最大值和最小值。
1.2.1 主成分分析
谷物中脂肪酸含量受生物、非生物等多種因素影響,因此模型輸入變量的選擇非常重要,它直接影響模型的預測精度。本文所收集的因素從個體來說,都與谷物脂肪酸含量有相關關系,但建立模型時選擇變量過多一方面增加了計算量和分析問題的復雜性,另一方面也存在信息的重疊現(xiàn)象,因此需要選擇關鍵影響因子作為模型輸入變量。主成分分析(principal component analysis,PCA)是一種重要的數(shù)據(jù)統(tǒng)計方法,其利用降維的思想把多指標轉化為少數(shù)幾個綜合指標,在保留原始數(shù)據(jù)主要特征前提下,根據(jù)實際需要從中選取出幾個較少的變量對問題進行定量分析,減少輸入數(shù)據(jù)維度[23]。
1.2.2 預測模型統(tǒng)計
1)多元線性回歸
多元線性回歸(MLR)主要是研究1個因變量與2個或2個以上自變量之間的關系。它用于根據(jù)2個或多個其他變量的值預測變量的值。一個包含k個預測因子(自變量)和一個響應變量(因變量)的線性回歸模型可以表示為
式中Y為響應變量,Xk為預測因子,ε0為模型的殘差項,β0、β1、β2、…、βk為回歸系數(shù)。
2)人工神經網絡
人工神經網絡(ANN)簡稱神經網絡,是基于生物學中神經網絡的基本原理,在建模過程中模擬大腦的互聯(lián)性。人工神經網絡的目標是通過一些內部計算從輸入值計算輸出值,它能夠從實例中學習實值、離散值和向量值函數(shù),并且對訓練數(shù)據(jù)中的錯誤保持較強的魯棒性[24]。本文建立3層人工神經網絡模型,包括1個輸入層、1個隱含層和1個輸出層。試驗過程使用的梯度優(yōu)化器為Adam,隱藏層激活函數(shù)選擇sigmoid,輸出層為ReLu函數(shù),并設置epoch為200。
3)支持向量回歸
支持向量機(support vector machine,SVM)是由Vapnik等提出的一種機器學習方法,通過非線性映射將自變量映射到高維的特征空間,在高維特征空間中尋找一個最優(yōu)分類超平面,使得所有訓練樣本距離該最優(yōu)分類面的誤差最小[25]。支持向量回歸(SVR)假設模型輸出與真實值之間可被容忍最多為ε的偏差,即僅當模型輸出與真實值之間的差別絕對值大于ε時才計算損失,是支持向量機在回歸問題上的應用模型[26]。
4)最小二乘支持向量回歸
最小二乘支持向量回歸(LSSVR)是SVR的一種改進算法,利用二次損失函數(shù)取代傳統(tǒng)支持向量機中不敏感的損失函數(shù),將標準支持向量機中的不等式約束條件轉化成等式約束,并將損失函數(shù)由誤差和轉變?yōu)檎`差的平方和,使求解過程由二次尋優(yōu)問題轉化為線性方程組的求解,具有運算簡單、收斂速度快的優(yōu)點[27-28]。
1.2.3 SVR和LSSVR模型參數(shù)調節(jié)方法
1)核函數(shù)的選擇
支持向量機常用的核函數(shù)有徑向基核函數(shù)(RBF)、多項式核函數(shù)、Sigmoid核函數(shù)及線性核函數(shù),引入核函數(shù)的目的是代替高維特征空間的內積運算,避免出現(xiàn)維數(shù)災難[29]。本文選擇RBF,其函數(shù)表達式為
式中x為m維輸入向量;xj為第j個徑向基函數(shù)的中心,與x具有相同的維數(shù);σ為核函數(shù)的寬度參數(shù);為向量x-xj的范數(shù),表示x與xj之間的距離。
2)粒子群優(yōu)化算法
粒子群優(yōu)化算法(particle swarm optimization,PSO)[30]是Kennedy和Eberhart在1995年提出的一種隨機優(yōu)化技術,其思想源于對鳥類群體覓食行為研究,通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解,目前,已經廣泛應用在約束優(yōu)化和多目標優(yōu)化等領域[31-32]。PSO算法具有簡單易行、魯棒性好、收斂速度快等優(yōu)點[33]。為了提高SVR和LSSVR模型的預測性能,本文利用PSO算法確定訓練模型的超參數(shù),取平均絕對百分誤差作為適應度函數(shù),并采用10折交叉驗證。
1.2.4 模型評價指標
為了全面的評價儲糧過程中脂肪酸變化預測模型的性能,本文采用多種評價指標:均方根誤差(root mean square error,RMSE)、平均絕對誤差(mean absolute error,MAE)、平均絕對百分誤差(mean absolute percentage error,MAPE) 和決定系數(shù) (coefficient of determination,R2),各評價指標表達式如下
式中fi為預測值;yi為測試樣本的真實值;yˉ為測試樣本的平均值;N為測試樣本集數(shù)量。
1.2.5 平臺和環(huán)境
本研究仿真試驗所使用的計算機的配置如下:處理器為Intel(R)Core(TM)i5-4200M,CPU頻率為2.5 GHz;內存為8.00 GB;操作系統(tǒng)為Windows 10(64-bit);程序設計語言為python 3.7(64-bit),集成開發(fā)環(huán)境為Anaconda 3。
經過計算處理后共得到201條稻谷儲藏數(shù)據(jù),每條數(shù)據(jù)包含10個儲藏參數(shù):入倉月份、初始水分、初始脂肪酸含量、檢測水分、儲藏有效積溫、儲藏時間、檢測糧溫、檢測倉溫、檢測月份和檢測脂肪酸含量,各參數(shù)統(tǒng)計數(shù)據(jù)見表1。
表2為不同預測因子的相關性分析。由表2可知,檢測水分與儲藏有效積溫、儲藏時間以及檢測糧溫呈極顯著負相關(P<0.01),而與初始水分呈極顯著正相關(P<0.01);儲藏有效積溫與儲藏時間呈極顯著正相關(P<0.01);檢測糧溫與檢測倉溫、檢測月份呈極顯著正相關(P<0.01)。由此可見,不同預測因子之間存在不同程度的相關性,預測因子間存在信息重疊,直接利用進行脂肪酸含量預測會導致預測結果出現(xiàn)偏差。因此,需要用主成分分析法將眾多具有一定相關性的預測因子剔除,再用選擇的關鍵預測因子對稻谷脂肪酸含量進行預測,提高預測結果的可靠性。
表1 稻谷儲藏參數(shù)統(tǒng)計Table 1 Statistics on storage parameters of rice
采用SPSS軟件對入倉月份、初始水分、初始脂肪酸含量、檢測水分、儲藏有效積溫、儲藏時間、檢測糧溫、檢測倉溫、檢測月份9個預測因子進行主成分分析,探尋影響脂肪酸含量的關鍵因子,分別得到各主成分的特征值及累積貢獻率,結果見表3。以特征值大于1.0的原則提取4個主成分,累計貢獻率為80.603%,可代表原始數(shù)據(jù)的大部分信息,經標準化后的因子負荷矩陣如表4所示。
表2 不同儲藏因子間的相關系數(shù)矩陣Table 2 Correlation coefficient matrix between different storage factors
由表3和表4可知,第1主成分包含了原始信息量的31.321%,其大小主要由檢測糧溫、檢測倉溫和檢測月份決定,命名為溫度因子;第2主成分包含了原始信息的23.719%,其大小主要由儲藏有效積溫和儲藏時間決定,命名為時間因子;第3主成分包含了原始信息的14.284%,其大小主要由初始水分決定,命名為水分因子;第4主成分包含了原始信息的11.279%,其大小主要由初始脂肪酸含量決定,命名為初始因子。
結合相關性分析和因子分析的結果,在溫度因子中,3個代表因子極顯著相關,檢測糧溫比檢測倉溫更具有代表性,用以代替該因子;同樣,在時間因子中,2個代表因子極顯著相關,儲藏有效積溫更為客觀影響脂肪酸含量的變化,用以代替該因子。因此,本文選擇初始脂肪酸含量、初始水分、儲藏有效積溫、檢測糧溫4個預測因子作為稻谷脂肪酸含量變化的主要影響因子,即用該4個預測因子預測稻谷脂肪酸含量。
表3 特征值及累積貢獻率Table 3 Eigen value and cumulative variance contribution
表4 因子負荷矩陣Table 4 Component matrix
1)SVR模型參數(shù)優(yōu)化
SVR模型參數(shù)設置:粒子群體的大小為30,慣性權重ω取初始值為0.9,加速度常數(shù)取c1=c2=2,最大迭代次數(shù)為100,判斷終止精度為10-4,正則化參數(shù)C、不敏感參數(shù)ε及核函數(shù)參數(shù)γ的初始搜索范圍分別設定為[1,1000]、[0.001,0.1]和[0.1,10],搜索過程中如果超過邊界則設為邊界值。通過PSO算法得到SVR模型的最優(yōu)參數(shù)正則化參數(shù)C、不敏感參數(shù)ε及核函數(shù)參數(shù)γ分別為569.3、0.05、2.7。
2)LSSVR模型參數(shù)優(yōu)化
LSSVR模型參數(shù)設置:粒子群體的大小為30,慣性權重ω取初始值為0.9,加速度常數(shù)取c1=c2=2,最大迭代次數(shù)為100,判斷終止精度為10-4,正則化參數(shù)C、和核函數(shù)參數(shù)γ的初始搜索范圍分別設定為[1,1000]和[0.0001,1],搜索過程中如果超過邊界則設為邊界值。LSSVR模型的最優(yōu)超參數(shù)正則化參數(shù)C’和核函數(shù)參數(shù)γ’分別為1000.0和0.003。
將經過歸一化預處理后的201條樣本數(shù)據(jù)隨機劃分為訓練集和測試集,其中訓練集樣本數(shù)占總樣本的80%,剩下的20%樣本用于模型性能測試。將劃分好的數(shù)據(jù)集分別輸入到MLR、ANN、SVR、LSSVR 4種模型,經過仿真試驗得到模型的測試集誤差曲線如圖1所示。由圖1可知,在所測試的41個樣本中,LSSVR和MLR2種模型的預測誤差波動較小,預測誤差的范圍分別為:-0.759~0.764 mg/100 g,-0.764~0.802 mg/100 g;ANN和SVR2種模型的預測誤差波動較大,預測誤差的范圍分別為:-0.787~0.902 mg/100 g,-0.814~0.879 mg/100 g。
圖1 不同模型預測結果的誤差Fig.1 Errors of predicted results of different models
表5給出了4種模型在測試集上預測性能的指標統(tǒng)計結果。從表5可得,MLR和LSSVR對稻谷脂肪酸含量預測的MAPE相近,分別為1.615%和1.604%,表明LSSVR得到的結果要略優(yōu)于MLR;ANN對稻谷脂肪酸含量預測的MAPE為1.708%,相較于LSSVR而言,MAPE值增加了0.176%,表明ANN的預測能力要次于LSSVR,即LSSVR的預測精度更高;此外,還可看出LSSVR模型的MAPE要明顯低于SVR。對比4種預測模型,LSSVR的預測效果明顯優(yōu)于SVR和ANN,略優(yōu)于MLR,說明LSSVR預測精準度最高,該回歸模型的決定系數(shù)R2、MAE、MAPE、RMSE分別為0.911、0.275 mg/100 g、1.604%、0.348 mg/100 g。試驗結果表明,LSSVR和MLR對稻谷脂肪酸含量預測達到了較為理想的效果,預測精度高,可以用于儲藏期間稻谷的脂肪酸含量的預測。
表5 不同模型預測性能對比Table 5 Comparisons of predictive performances of different models
本文基于機器學習中多種方法,結合實際儲藏數(shù)據(jù)對稻谷脂肪酸含量預測方法進行了研究,結論如下:
1)利用主成分分析方法確定了初始脂肪酸含量、初始水分、檢測糧溫、儲藏有效積溫4個預測因子作為脂肪酸含量的主要影響因子。
2)將選擇的關鍵預測因子分別輸入到多元線性回歸(multiple linear regression,MLR)、人工神經網絡(artificial neural network, ANN)、 支 持 向 量 回 歸(support vector regression,SVR)、最小二乘支持向量回歸(least square support vector regression,LSSVR)模型進行了仿真試驗。在測試集中LSSVR模型預測結果的決定系數(shù)R2、MAE、MAPE、RMSE分別為0.911、0.275 mg/100 g、1.604%、0.348 mg/100 g,略優(yōu)于MLR,明顯優(yōu)于ANN和SVR。仿真結果表明,LSSVR和MLR對稻谷脂肪酸含量預測精度高,達到了較為理想的效果,可以用于儲藏期間稻谷的脂肪酸含量的預測。
因獲取儲糧數(shù)據(jù)數(shù)量有限,下步可嘗試擴大訓練樣本和測試樣本數(shù)量,使用更多的數(shù)據(jù)訓練MLR、ANN、SVR、LSSVR模型。同時可將天氣、濕度、品種、糧倉狀況等因素納入特征范圍,進一步提高預測精度。