苑江浩 常 青 趙會(huì)義 唐 芳
(國(guó)家糧食和物資儲(chǔ)備局科學(xué)研究院,北京 100037)
糧食霉變?cè)诩Z食儲(chǔ)藏過(guò)程中極易發(fā)生,是影響糧食品質(zhì)的一項(xiàng)重要因素,據(jù)統(tǒng)計(jì),我國(guó)因糧食霉變?cè)斐傻漠a(chǎn)后損失占總產(chǎn)量的4.2%[1]。為降低糧食損失,國(guó)內(nèi)外研究者從糧食霉菌生長(zhǎng)規(guī)律、糧食霉變快速檢測(cè)、儲(chǔ)糧安全和糧情預(yù)測(cè)等方向開(kāi)展研究。Genkawa等[2]研究了不同水分的稻谷儲(chǔ)藏過(guò)程中霉菌數(shù)量的變化;唐芳等[3-6]從實(shí)驗(yàn)室和實(shí)倉(cāng)的角度開(kāi)展了儲(chǔ)糧危害真菌生長(zhǎng)及演替規(guī)律的研究;劉慧等[7]以安全水分稻谷為研究對(duì)象,開(kāi)展在不同儲(chǔ)藏溫、濕度中的霉菌生長(zhǎng)規(guī)律研究,并建立生長(zhǎng)動(dòng)力學(xué)模型;蔡靜平等[8-11]開(kāi)展了不同糧食品種在儲(chǔ)藏過(guò)程中霉菌活動(dòng)特性差異性研究。亦有研究者通過(guò)電子鼻技術(shù)[12, 13]、機(jī)器視覺(jué)技術(shù)[14]、高光譜技術(shù)[15, 16]等開(kāi)展了糧食霉變無(wú)損快速檢測(cè)的研究。同時(shí),很多研究者[17-20]從儲(chǔ)糧安全和糧情預(yù)測(cè)角度出發(fā),建立儲(chǔ)糧安全風(fēng)險(xiǎn)預(yù)警模型,結(jié)合糧堆溫度、濕度、水分和CO2等因素,用于分析檢測(cè)糧食霉變的可能性,以保證儲(chǔ)糧安全。而針對(duì)霉變預(yù)測(cè)的方法較少,鄧玉睿等[21, 22]研究了基于樸素貝葉斯和BP神經(jīng)網(wǎng)絡(luò)進(jìn)行霉變預(yù)測(cè)技術(shù)的研究,但其僅針對(duì)稻谷進(jìn)行了初步探索,且建模所需的訓(xùn)練樣本集較大,面臨小樣本時(shí),準(zhǔn)確率較低。
支持向量機(jī)[23, 24](Support Vector Machine, SVM)算法簡(jiǎn)單,且魯棒性較好,可有效解決非線性分類等問(wèn)題,其主要應(yīng)用于分類預(yù)測(cè)研究,特別是在小樣本分類預(yù)測(cè)領(lǐng)域應(yīng)用效果很好,目前該算法已在圖像識(shí)別[25, 26]、文本分類[27, 28]等領(lǐng)域得到廣泛應(yīng)用。該算法在糧食領(lǐng)域內(nèi)亦得到廣泛應(yīng)用,鄭沫利等[29]通過(guò)SVM對(duì)數(shù)據(jù)建模,以對(duì)糧食在儲(chǔ)藏過(guò)程中的損耗智能評(píng)估;段珊珊等[30]利用SVM建立糧堆表層平均溫度預(yù)測(cè)模型,通過(guò)氣象8因素預(yù)測(cè)糧堆表層平均溫度;呂俊[31]利用海量的糧食通風(fēng)控制數(shù)據(jù)訓(xùn)練SVM模型,以用于糧食通風(fēng)控制的預(yù)測(cè)。本文將該算法應(yīng)用到糧食霉變預(yù)測(cè)分類中,克服現(xiàn)有技術(shù)存在的主要問(wèn)題,為糧食霉變預(yù)測(cè)提供新思路。
HPS-250生化培養(yǎng)箱,PL3002-IC電子分析天平,HG-9246A型電熱恒溫鼓風(fēng)干燥箱,SMART顯微鏡,DJSFM-1糧食水分測(cè)試粉碎磨。
將不同含水量的稻谷、小麥樣品密封分別置于不同儲(chǔ)藏溫度(10、15、20、25、30、35 ℃)的生化培養(yǎng)箱模擬儲(chǔ)藏180 d,每10 d取樣檢測(cè)水分和真菌孢子數(shù)。其中水分的檢測(cè)方法參照GB 5009.3—2016《食品安全國(guó)家標(biāo)準(zhǔn) 食品中水分的測(cè)定》[32]中直接干燥法檢測(cè),真菌孢子數(shù)參照LS/T 6132—2018《糧油檢測(cè)儲(chǔ)糧真菌的檢測(cè) 孢子計(jì)數(shù)法》[33]計(jì)算。
設(shè)訓(xùn)練樣本集D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,1},SVM最基本的思想是基于訓(xùn)練集D找到一個(gè)劃分的超平面,從而將不同類別樣本分開(kāi)。即存在如下劃分超平面:
ωTx+b=0
(1)
式中:ω=(ω1;ω2;…;ωd)為法向量,b為偏置項(xiàng)。此時(shí)分類的最大間隔為:
(2)
為更好地解決這個(gè)凸二次規(guī)劃問(wèn)題,引入拉格朗日乘子法(αi≥0)得到其“對(duì)偶問(wèn)題”。
(3)
在實(shí)際的應(yīng)用中,會(huì)存在大量線性不可分問(wèn)題,原始樣本空間中并不存在一個(gè)合理的超平面,以保證樣本的正確劃分。為解決該問(wèn)題,引入核函數(shù)概念,以代替對(duì)偶問(wèn)題和非線性映射后的點(diǎn)積運(yùn)算,常見(jiàn)的核函數(shù)[14]有線性核、多項(xiàng)式核、高斯核、拉普拉斯核、Sigmoid核。同時(shí)為了克服無(wú)法完成嚴(yán)格分類、過(guò)擬合等問(wèn)題,引入懲罰因子C和松弛變量g兩個(gè)參數(shù)。
本研究使用的SVM模型總體框架如圖1所示。數(shù)據(jù)預(yù)處理:將原始數(shù)據(jù)集參照LS/T 6132—2018中的附錄C儲(chǔ)糧安全評(píng)價(jià)參考表[33]進(jìn)行數(shù)據(jù)處理,詳見(jiàn)表1。將“Ⅲ級(jí)-危害”確定為是否發(fā)生霉變的標(biāo)準(zhǔn)(以對(duì)糧食造成危害為標(biāo)準(zhǔn)),劃分?jǐn)?shù)據(jù)類別。
圖1 SVM模型總體框架圖
表1 儲(chǔ)糧安全評(píng)價(jià)參考表
參數(shù)優(yōu)化:在SVM的建模過(guò)程中,懲罰因子C和松弛變量g兩個(gè)參數(shù)是影響模型精準(zhǔn)度的主要因素[34],為了提升模型的準(zhǔn)確度,保證參數(shù)最優(yōu)化,本文采用網(wǎng)格搜索(Grid Search)方法優(yōu)化參數(shù),尋求最適應(yīng)模型。其基本原理是通過(guò)遍歷網(wǎng)格內(nèi)所有的點(diǎn)進(jìn)行取值,得到一組令訓(xùn)練集分類準(zhǔn)確率最高的C和g的值作為最優(yōu)參數(shù)。
實(shí)驗(yàn)針對(duì)稻谷和小麥兩種糧食品種分別采用經(jīng)網(wǎng)格搜索尋優(yōu)參數(shù)后的SVM模型處理,若糧食已發(fā)生霉變,以“1”標(biāo)識(shí),若未發(fā)生霉變,以“-1”標(biāo)識(shí)。實(shí)驗(yàn)結(jié)果將預(yù)測(cè)值與實(shí)際值進(jìn)行求差運(yùn)算后取絕對(duì)值,如值為0,則表示預(yù)測(cè)值與實(shí)際值相符,預(yù)測(cè)分類正確;如值為2,則表示預(yù)測(cè)值與實(shí)際值不符,預(yù)測(cè)分類錯(cuò)誤。實(shí)驗(yàn)結(jié)果評(píng)定標(biāo)準(zhǔn)如表2所示。
表2 實(shí)驗(yàn)結(jié)果評(píng)定標(biāo)準(zhǔn)表
2.3.1 稻谷霉變預(yù)測(cè)分類
稻谷樣品數(shù)據(jù)共計(jì)2 592組,實(shí)驗(yàn)隨機(jī)選取2 492組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),100組數(shù)據(jù)作為測(cè)試數(shù)據(jù)。經(jīng)多次實(shí)驗(yàn)驗(yàn)證得到,SVM建模后預(yù)測(cè)分類準(zhǔn)確率可達(dá)98%,平均準(zhǔn)確率在96%以上。預(yù)測(cè)分類結(jié)果如圖2所示,此時(shí)SVM選用的核函數(shù)為高斯核RBF網(wǎng)絡(luò),懲罰因子C=45。該模型預(yù)測(cè)分類準(zhǔn)確率與文獻(xiàn)[22]中基于BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)準(zhǔn)確率基本一致。
圖2 基于SVM模型的稻谷霉變預(yù)測(cè)分類結(jié)果圖
2.3.2 小麥霉變預(yù)測(cè)分類
小麥樣品數(shù)據(jù)共計(jì)876條,實(shí)驗(yàn)選取776條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),100條數(shù)據(jù)作為測(cè)試數(shù)據(jù)。經(jīng)多次實(shí)驗(yàn)驗(yàn)證得到,SVM建模后預(yù)測(cè)分類準(zhǔn)確率可達(dá)94%,平均準(zhǔn)確率在92%以上。預(yù)測(cè)分類結(jié)果如圖3所示,此時(shí)SVM選用的核函數(shù)為高斯核RBF網(wǎng)絡(luò),懲罰因子C=60。
圖3 基于SVM模型的小麥霉變預(yù)測(cè)分類結(jié)果圖
本研究通過(guò)復(fù)現(xiàn)文獻(xiàn)[22]的實(shí)驗(yàn)程序,并應(yīng)用于小麥樣品的預(yù)測(cè)分類中,依然選取776條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),100條數(shù)據(jù)作為測(cè)試數(shù)據(jù)。其預(yù)測(cè)結(jié)果如圖4所示。經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證,預(yù)測(cè)準(zhǔn)確率為82%~91%,其穩(wěn)定性較差,平均準(zhǔn)確率僅為86%。
圖4 基于BP神經(jīng)網(wǎng)絡(luò)的小麥霉變預(yù)測(cè)結(jié)果圖
2.3.1和2.3.2證明SVM模型可以有效預(yù)測(cè)分類糧食是否發(fā)生霉變。并且在小麥的預(yù)測(cè)上更具有優(yōu)勢(shì),推斷可能原因是小麥的訓(xùn)練樣本集較小,SVM發(fā)揮其自身小樣本的優(yōu)越性。因此,本研究為驗(yàn)證SVM針對(duì)于小樣本的預(yù)測(cè)分類能力,通過(guò)不同規(guī)模的訓(xùn)練樣本集進(jìn)行SVM小樣本預(yù)測(cè)分類實(shí)驗(yàn)。
2.3.3 SVM小樣本預(yù)測(cè)分類
實(shí)驗(yàn)數(shù)據(jù)集與2.3.1和2.3.2保持一致,分別采取SVM模型與文獻(xiàn)[22]中的BP神經(jīng)網(wǎng)絡(luò)模型兩種模型進(jìn)行,隨機(jī)選取400、200組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),剩余數(shù)據(jù)作為測(cè)試數(shù)據(jù)開(kāi)展實(shí)驗(yàn)。
2.3.3.1 稻谷
采用SVM模型進(jìn)行實(shí)驗(yàn),預(yù)測(cè)分類結(jié)果如圖5所示。實(shí)驗(yàn)結(jié)果表明,當(dāng)訓(xùn)練數(shù)據(jù)為400組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為91.97%;當(dāng)訓(xùn)練數(shù)據(jù)為200組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為90.76%。
圖5 基于SVM的稻谷小樣本預(yù)測(cè)分類結(jié)果圖
采用BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),預(yù)測(cè)分類結(jié)果如圖6所示。實(shí)驗(yàn)結(jié)果表明,當(dāng)訓(xùn)練數(shù)據(jù)為400組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為86.34%,當(dāng)訓(xùn)練數(shù)據(jù)為200組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為71.47%。
圖6 基于BP神經(jīng)網(wǎng)絡(luò)的稻谷小樣本預(yù)測(cè)分類結(jié)果圖
2.3.3.2 小麥
采用SVM模型進(jìn)行實(shí)驗(yàn),預(yù)測(cè)結(jié)果如圖7所示。實(shí)驗(yàn)結(jié)果表明,當(dāng)訓(xùn)練數(shù)據(jù)為400組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為88.1%,當(dāng)訓(xùn)練數(shù)據(jù)為200組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為86.55%。
圖7 基于SVM的小麥小樣本預(yù)測(cè)分類結(jié)果圖
采用BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),預(yù)測(cè)結(jié)果如圖8所示。實(shí)驗(yàn)結(jié)果表明,當(dāng)訓(xùn)練數(shù)據(jù)為400組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為84.45%,當(dāng)訓(xùn)練數(shù)據(jù)為200組時(shí),預(yù)測(cè)分類平均準(zhǔn)確率約為70.76%。
圖8 基于BP神經(jīng)網(wǎng)絡(luò)的小麥小樣本預(yù)測(cè)分類結(jié)果圖
由實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)樣本訓(xùn)練集較大時(shí),SVM模型和BP神經(jīng)網(wǎng)絡(luò)模型準(zhǔn)確率相當(dāng),但當(dāng)降低樣本訓(xùn)練集后,SVM模型表現(xiàn)出較為突出的優(yōu)勢(shì),尤其是當(dāng)樣本訓(xùn)練集僅為200組數(shù)據(jù)時(shí),準(zhǔn)確率相差較大。因此,當(dāng)測(cè)試樣本數(shù)為小樣本時(shí),SVM模型準(zhǔn)確率更高,效果更好,能夠?yàn)轭A(yù)測(cè)分類提供更為可靠的支撐。2.3.1、2.3.2和2.3.3中的平均準(zhǔn)確率對(duì)比情況見(jiàn)表3。
表3 預(yù)測(cè)分類平均準(zhǔn)確率對(duì)比表
本研究利用python建立了基于SVM的糧食霉變預(yù)測(cè)分類模型,通過(guò)稻谷的2 592組數(shù)據(jù)和小麥的876組數(shù)據(jù)進(jìn)行實(shí)驗(yàn),分別選用不同規(guī)模的數(shù)據(jù)量作為訓(xùn)練樣本集建立模型,預(yù)測(cè)平均準(zhǔn)確率分別為96%和92%,該實(shí)驗(yàn)結(jié)果證明SVM模型可以有效分類預(yù)測(cè)糧食是否發(fā)生霉變。同時(shí)本研究復(fù)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)模型,將SVM模型預(yù)測(cè)結(jié)果與其對(duì)比,發(fā)現(xiàn)針對(duì)于大量樣本進(jìn)行訓(xùn)練后,兩種模型準(zhǔn)確率基本一致。針對(duì)小樣本進(jìn)行訓(xùn)練后,SVM模型表現(xiàn)良好,準(zhǔn)確率高,且表現(xiàn)穩(wěn)定,明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型。