康明月,羅斌,周亞男,王成,孫鴻雁
(1.中國地質(zhì)大學(xué)(北京)數(shù)理學(xué)院,北京 100000)(2.北京市農(nóng)林科學(xué)院智能裝備技術(shù)研究中心,信息技術(shù)研究中心,北京 100097)
櫻桃番茄是一年生長草本植物,色澤鮮紅,口感清甜,具有豐富的營養(yǎng)素,是一種老少皆宜的水果蔬菜。果蔬的內(nèi)部品質(zhì)包括硬度、可溶性固形物、糖度、酸度、維生素等成分,其中SSC含量是一項(xiàng)綜合指標(biāo),是所有溶解于水的化合物的總稱,反映果蔬風(fēng)味品質(zhì)。櫻桃番茄中的Vc含量較高,Vc是一種水溶性維生素,有降低毛細(xì)血管的破裂、預(yù)防高血壓等等功效,體現(xiàn)了番茄的營養(yǎng)價(jià)值。因此本文將選擇SSC含量和Vc含量對(duì)櫻桃番茄的品質(zhì)進(jìn)行綜合評(píng)價(jià)。
傳統(tǒng)的SSC檢測(cè)方法是用折射儀法,Vc檢測(cè)方法主要是熒光法、二硝基苯肼法等物化方法。這些方法檢測(cè)過程復(fù)雜,耗時(shí)長,難以滿足大量果蔬分級(jí)分選的要求,因此尋找快速,簡便且精準(zhǔn)的檢測(cè)方法具有重要意義。
近年來,近紅外光譜技術(shù)在食品、醫(yī)藥等領(lǐng)域發(fā)展迅猛,該技術(shù)摒棄了傳統(tǒng)繁瑣的物化實(shí)驗(yàn),具有綠色,無損等優(yōu)點(diǎn)。在果蔬品質(zhì)檢測(cè)方面,國內(nèi)外已有大量研究,郭陽等[1]利用近紅外光譜技術(shù)結(jié)合反向區(qū)間偏最小二乘算法預(yù)測(cè)哈密瓜SSC含量。égeiMárton等[2]通過可見-近紅外吸光度和反射率數(shù)據(jù)估算SSC和番茄紅素含量。陳帥帥等[3]為提高可見/近紅外光譜對(duì)蘋果SSC含量的檢測(cè)精度,利用主成分回歸、偏最小二乘法和改進(jìn)偏最小二乘法三種方法進(jìn)行比較。上述研究均是利用偏最小二乘回歸和主成分回歸等線性模型,而有大量研究證明近紅外光譜數(shù)據(jù)與果蔬品質(zhì)之間存在顯著的非線性關(guān)系,因此機(jī)器學(xué)習(xí)模型更具優(yōu)勢(shì)。機(jī)器學(xué)習(xí)模型中BPNN和極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)最為經(jīng)典,但其超參數(shù)選擇和收斂速度等方面有較大的局限性。針對(duì)這些問題,紀(jì)然仕等[4]采用迭代保留信息變量與基于果蠅算法優(yōu)化的ELM算法對(duì)花椒揮發(fā)油含量進(jìn)行預(yù)測(cè),該模型具有較高的收斂性和預(yù)測(cè)精度,為光譜檢測(cè)提供新思路。葛春靖等[5]提出GA-BPNN的玉露香梨SSC預(yù)測(cè)方法,該優(yōu)化模型預(yù)測(cè)決定系數(shù)達(dá)到0.86,可準(zhǔn)確檢測(cè)可溶性固形物。因此采用尋優(yōu)算法對(duì)機(jī)器學(xué)習(xí)方法進(jìn)行優(yōu)化有顯著優(yōu)勢(shì),但這些算法有參數(shù)多,操作復(fù)雜等缺點(diǎn)。而杜鵑鳥搜索算法參數(shù)少、操作簡單、易實(shí)現(xiàn)、隨機(jī)搜索路徑優(yōu)和尋優(yōu)能力強(qiáng),且該算法鮮少用于檢測(cè)櫻桃番茄的品質(zhì)信息。
本文運(yùn)用近紅外光譜分析技術(shù)結(jié)合BPNN方法和基于杜鵑鳥搜索算法優(yōu)化BPNN方法開展櫻桃番茄內(nèi)部品質(zhì)含量的檢測(cè)研究。杜鵑鳥搜索算法雖有諸多優(yōu)勢(shì),但有全局優(yōu)化能力弱,收斂速度慢等缺點(diǎn),因此針對(duì)這些缺陷進(jìn)行改進(jìn),引入了改進(jìn)的杜鵑鳥搜索算法來優(yōu)化BPNN的方法。在這項(xiàng)研究中,比較多種預(yù)處理和特征波長建模方法,以建立基于近紅外光譜檢測(cè)櫻桃番茄SSC和Vc含量的預(yù)測(cè)模型。
以千禧果、粉圓圣女果、荷蘭小番茄和極星農(nóng)業(yè)紅色串裝小番茄四個(gè)櫻桃番茄品種為實(shí)驗(yàn)對(duì)象,均為在超市選購所得。每個(gè)品種選取了30個(gè)樣本,共計(jì)120個(gè)。
采用型號(hào)為BIO-NIRONE-HEM的手持式近紅外光譜儀來采集櫻桃番茄光譜數(shù)據(jù)。設(shè)置波長測(cè)定范圍為1 350~1 800 nm,間隔為1.5 nm,掃描時(shí)間預(yù)計(jì)9 s。測(cè)量參數(shù)為吸光度,每個(gè)樣本測(cè)量三次光譜曲線并取平均值,作為該樣本的分析光譜。使用MEMS-FPIShortcut軟件,可以將采集的光譜數(shù)據(jù)文件導(dǎo)入到外部U盤中儲(chǔ)存?zhèn)溆谩?/p>
1.2.1 SSC測(cè)定
將采集完光譜的樣品進(jìn)行榨汁,用絨布擦凈2WA-J阿貝折射儀棱鏡表面后,取2~3滴汁液在中央,閉合棱鏡,調(diào)節(jié)視度圈,使得視野分為明暗兩部分,且明暗界線在十字交叉點(diǎn)上,測(cè)定并讀數(shù),從而通過折射儀法[6]獲得樣品的SSC含量。
1.2.2 Vc測(cè)定
利用分析天平準(zhǔn)確稱量櫻桃番茄樣品5 g,配制質(zhì)量分?jǐn)?shù)為1%草酸溶液、2%草酸溶液、0.01% 2,6-二氯酚靛酚溶液和標(biāo)準(zhǔn)抗壞血酸溶液,利用2,6-二氯酚靛酚滴定法[7]進(jìn)行測(cè)定,當(dāng)染料溶液滴定至淡紅色為終點(diǎn),記錄數(shù)值,利用1%草酸溶液作為空白對(duì)照,利用公式[8]計(jì)算數(shù)值作為樣本的Vc含量。
1.3.1 預(yù)處理方法
首先將樣本按照三倍標(biāo)準(zhǔn)差剔除異常值后,采用Kennard-Stone(K-S)分類算法[9]將樣本按3:1的比例劃分為校正集和預(yù)測(cè)集。由于近紅外光譜存在人為或自身的噪聲影響,本文采用多元散射校正(Multivariate Scattering Correction,MSC)[10]、Savitzky-Golay卷積平滑(Savitzky-Golay Convolution Smoothing,SG)[11]、去趨勢(shì)化(De-trending)[12]、變量標(biāo)準(zhǔn)化(Standard Normal Variate,SNV)[13]四種經(jīng)典的方法進(jìn)行預(yù)處理,提升數(shù)據(jù)精度。
1.3.2 特征波長選取
光譜間存在大量重復(fù)冗余信息,會(huì)明顯降低模型的計(jì)算速度。因此,為提升模型的穩(wěn)定性,選擇兩種常用的特征波長選擇的方法和一種新興的特征變量選擇方法。特征波長提取方法有穩(wěn)定性競爭性自適應(yīng)重加權(quán)算法、遺傳算法和自動(dòng)有序因子選擇算法[14]。
1.3.3 回歸模型
采用BP神經(jīng)網(wǎng)絡(luò)、基于杜鵑鳥搜索算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)以及改進(jìn)的杜鵑鳥搜索算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)建立櫻桃番茄內(nèi)部品質(zhì)含量回歸模型。BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)時(shí),依賴于初始權(quán)值和閾值,將杜鵑鳥搜索算法引入BP神經(jīng)網(wǎng)絡(luò)中,避免初始權(quán)值和閾值陷入局部最小,同時(shí)也可以改進(jìn)收斂速度。其中杜鵑鳥搜索算法是基于杜鵑鳥的寄生行為[15]和鳥類的Lévy飛行行為[16]。但傳統(tǒng)的杜鵑鳥算法全局搜索能力和收斂速度都有待提高,因此本文通過引入自適應(yīng)算法和變更邊界值進(jìn)行改進(jìn)。
傳統(tǒng)杜鵑鳥算法中的鳥蛋被淘汰的概率Pa固定值0.25,但這不利于局部與全局搜索的戰(zhàn)略,經(jīng)已有研究發(fā)現(xiàn)[17],Pa在0.1~0.75之間隨著迭代次數(shù)的增加而增大,因此引入自適應(yīng)策略公式(1)為:
式中:
Pa——鳥蛋被淘汰的概率;
Ni——算法當(dāng)前迭代次數(shù);
Nim——設(shè)定的最大迭代次數(shù)。
在傳統(tǒng)杜鵑鳥搜索算法中,越界值普遍采用邊界值,這喪失了鳥窩不斷變化的靈活性,因此提出一種按照隨機(jī)數(shù)的不同處理鳥窩的新方法,這將進(jìn)一步提高算法收斂性,新方法可由式實(shí)現(xiàn):
式中:
X(i,j)——最新迭代鳥窩的位置;
Ub——邊界最大值;
Lb——邊界最小值。
流程圖如圖1所示。
圖1 基于杜鵑鳥搜索算法的BP神經(jīng)網(wǎng)絡(luò)流程圖Fig.1 BP neural network flow chart based on cuckoo optimization algorithm
該算法步驟如下:
(1)初始化鳥巢數(shù)n,以及最大迭代次數(shù)Niter max;
(2)隨機(jī)產(chǎn)生n個(gè)鳥巢的初始位置,該位置與神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值相對(duì)應(yīng);
(3)計(jì)算初始位置的適應(yīng)度值,其中適應(yīng)度函數(shù)為BPNN中訓(xùn)練集的均方誤差;
(4)利用公式(1)計(jì)算鳥蛋淘汰率,并不斷更新鳥巢,根據(jù)公式(2)判斷是否越界,從而更新位置;
(5)根據(jù)適應(yīng)度值找到最佳位置;
(6)若迭代次數(shù)達(dá)到最大,則將最優(yōu)輸出為模型初始權(quán)值和閾值,否則返回步驟4;
(7)計(jì)算誤差更新權(quán)值和閾值,對(duì)樣本含量進(jìn)行預(yù)測(cè)。
1.3.4 模型評(píng)價(jià)指標(biāo)
校正集效果根據(jù)校正集決定系數(shù)(R2c)和校正集均方根誤差(RMSEC)來評(píng)價(jià),校正集決定系數(shù)越大,校正集均方根誤差越小,校正模型效果越好;預(yù)測(cè)效果由預(yù)測(cè)集決定系數(shù)(R2p)和預(yù)測(cè)集均方根誤差(RMSEP)進(jìn)行綜合評(píng)價(jià),其中預(yù)測(cè)集決定系數(shù)越接近于1,其均方根誤差越接近于0,則模型預(yù)測(cè)性能越好。
1.3.5 數(shù)據(jù)分析
設(shè)置近紅外光譜上述參數(shù),選擇櫻桃番茄的果底和赤道相對(duì)的兩點(diǎn)作為感興趣區(qū)域,獲取光譜數(shù)據(jù)后,其原始光譜圖如圖2所示,在Matlab 2019a軟件上編寫程序?qū)υ搮^(qū)域光譜數(shù)據(jù)進(jìn)行預(yù)處理,特征波長提取和建立預(yù)測(cè)模型,從而獲得光譜預(yù)處理后光譜曲線和特征波長提取過程,最終采用Origin 7.5畫出建模結(jié)果的對(duì)比圖。
圖2 原始光譜Fig.2 Original spectrum
將原始光譜作上述方法的預(yù)處理后,將預(yù)處理變量和原始變量分別作為輸入變量,內(nèi)部品質(zhì)含量作為輸出變量,建立偏最小二乘回歸[18]。繼而選出適合不同內(nèi)部品質(zhì)的最優(yōu)預(yù)處理方法。結(jié)果如表1。
表1 預(yù)處理方法比較Table 1 Comparison of pretreatment methods
由表1可知,在預(yù)測(cè)SSC含量時(shí),去趨勢(shì)法的R2p最高,均方根誤差均低于其他預(yù)處理方法,分別為0.95和0.84。去趨勢(shì)法預(yù)處理后的光譜圖如圖3所示。
圖3 SSC最優(yōu)預(yù)處理光譜圖(De-trending)Fig.3 SSC optimal preprocessing spectrum (De-trending)
基于原始光譜建立的Vc含量預(yù)測(cè)模型,Savitzky-Golay卷積平滑在預(yù)測(cè)集中有顯著優(yōu)勢(shì),雖然原始光譜的R2p同為0.89,但RMSEP略低于原始光譜為0.49,因此,Savitzky-Golay卷積平滑為預(yù)測(cè)的最優(yōu)方法。經(jīng)SG算法處理后的光譜圖由圖4所示。
圖4 Vc最優(yōu)預(yù)處理光譜圖(SG)Fig.4 Vc optimal pretreatment spectrum (SG)
采用偏最小二乘方法建模時(shí),校正集結(jié)果較好,但預(yù)測(cè)效果相對(duì)一般,因此為減少二者差距,進(jìn)一步提高預(yù)測(cè)效果,將最佳預(yù)處理變量分別應(yīng)用SCARS、GA和Auto OPS算法處理,建立的BPNN預(yù)測(cè)模型如表2所示。設(shè)置BP網(wǎng)絡(luò)訓(xùn)練目標(biāo)最小誤差為0.1,訓(xùn)練次數(shù)為1000,訓(xùn)練所要達(dá)到的精度為1e-6,學(xué)習(xí)速率為0.01,訓(xùn)練算法為Levenberg-Marquardt算法[19]。
表2 BPNN建模特征變量選取方法比較Table 2 Comparison of BPNN modeling feature variable selection methods
表3 ELM建模特征變量選取方法比較Table 3 Comparison of ELM modeling feature variable selection methods
由表2可知,根據(jù)綜合評(píng)價(jià)指標(biāo),基于該方法分別建模時(shí),SCARS算法具有顯著優(yōu)勢(shì),其波長數(shù)基本少于其他方法。當(dāng)用該算法檢測(cè)SSC含量時(shí),校正集的決定系數(shù)最高為0.93,均方根誤差最小為0.50,其預(yù)測(cè)集的決定系數(shù)為0.76,均方根誤差為1.06。
應(yīng)用于櫻桃番茄Vc含量測(cè)定時(shí),同樣是SCARS算法的預(yù)測(cè)效果最好。其預(yù)測(cè)精度最高為0.86,遠(yuǎn)大于剩余GA和Auto OPS兩算法決定系數(shù)即0.71和0.74。該方法的特征波長提取過程和提取結(jié)果如圖5和圖6所示。從選擇結(jié)果上看,在迭代到第202次時(shí),交叉驗(yàn)證的均方根誤差達(dá)到最小為0.76,選擇變量數(shù)為10個(gè),僅占全波長的3.3%,明顯降低模型復(fù)雜度。
將最佳預(yù)處理變量分別應(yīng)用SCARS、GA和AutoOPS算法處理后,建立的櫻桃番茄內(nèi)部品質(zhì)含量ELM預(yù)測(cè)模型如表2所示。ELM建模時(shí),櫻桃番茄SSC含量定義的隱含層神經(jīng)元個(gè)數(shù)為35,而Vc含量定義個(gè)數(shù)為30,采用的隱含層激活函數(shù)為Sigmoid函數(shù)。
由表2可知,ELM作為機(jī)器學(xué)習(xí)算法的一種,應(yīng)用于櫻桃番茄內(nèi)部品質(zhì)含量測(cè)定時(shí),SSC含量的R2p均在0.70以下,Vc最高R2p為0.8,預(yù)測(cè)精度相對(duì)一般?;谠摲椒ńr(shí),SCARS算法具有顯著優(yōu)勢(shì),其波長數(shù)也少于其他方法。
由表2、3對(duì)比得知,BPNN效果優(yōu)于ELM算法,因此進(jìn)一步對(duì)BPNN進(jìn)行優(yōu)化,以期獲得更高的預(yù)測(cè)精度。杜鵑鳥搜索算法的優(yōu)點(diǎn)是提高算法的局部和全局尋優(yōu),本文初始化鳥巢數(shù)n為25,迭代次數(shù)為100次,以均方差作為適應(yīng)度函數(shù)。運(yùn)行結(jié)果如表4所示。
表4 CS-BP神經(jīng)網(wǎng)絡(luò)建模特征變量選取方法比較Table 4 Comparison of characteristic variable selection methods for CS-BP neural network modeling
預(yù)測(cè)SSC含量時(shí),De-trending-Auto OPS-CS-BPNN模型最佳,R2c和R2p分別為0.83和0.80,RMSEC和RMSEP分別為0.80和1.02,迭代曲線如圖7所示。當(dāng)?shù)螖?shù)為93次時(shí),迭代基本穩(wěn)定,此時(shí)適應(yīng)度值為0.14,表明預(yù)測(cè)值和測(cè)量值誤差逐漸穩(wěn)定。
圖7 杜鵑鳥搜索算法迭代曲線(SSC)Fig.7 Iterative curve of CS algorithm (SSC)
預(yù)測(cè)Vc含量時(shí),SG-SCARS-CS-BPNN模型最優(yōu),R2c、R2p分別為0.90和0.86,RMSEC和RMSEP分別為0.54和0.54。迭代曲線如圖8所示。隨著迭代次數(shù)增加,適應(yīng)度曲線逐漸平緩,當(dāng)?shù)螖?shù)為69次時(shí),迭代基本穩(wěn)定,適應(yīng)度值為0.06。
圖8 杜鵑鳥搜索算法迭代曲線(Vc)Fig.8 Iterative curve of CS algorithm (Vc)
采用改進(jìn)的杜鵑鳥搜素算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)方法來預(yù)測(cè)櫻桃番茄的品質(zhì)含量結(jié)果如表5所示。該方法的預(yù)測(cè)效果較優(yōu)。
表5 ICS-BP神經(jīng)網(wǎng)絡(luò)建模特征變量選取方法比較Table 5 Comparison of characteristic variable selection methods for ICS-BP neural network modeling
綜合對(duì)比三種不同特征波長提取的建模方法可知,De-trending-Auto OPS-ICS-BPNN模型建立的櫻桃番茄SSC含量預(yù)測(cè)性能最優(yōu),其預(yù)測(cè)精度為0.85,De-trending-SCARS-ICS-BPNN模型次之,De-trending-GA-ICS-BPNN模型最差,其預(yù)測(cè)精度均為0.82,均方根誤差相差0.19。
為防止BP神經(jīng)網(wǎng)絡(luò)有過擬合現(xiàn)象[20],采用的方法是把數(shù)據(jù)6:2:2的比例劃分成三份,分別為Training(訓(xùn)練)、Validation(驗(yàn)證)和Test(測(cè)試)。其中Training數(shù)據(jù)參加訓(xùn)練,其他兩部分?jǐn)?shù)據(jù)用于檢驗(yàn)。在訓(xùn)練進(jìn)行過程中,目標(biāo)(Target)即櫻桃番茄內(nèi)部品質(zhì)含量的化學(xué)值和測(cè)試(Test)數(shù)據(jù)之間的誤差會(huì)越來越小,它們之間的相關(guān)系數(shù)越接近于1時(shí),效果越好。使用Matlab對(duì)模型進(jìn)行的訓(xùn)練回歸效果如圖9所示,Training、Validation、Test和All(整體)與目標(biāo)值的相關(guān)系數(shù)均在0.87以上。因此可知,De-trending-Auto OPS-ICS-BPNN模型可以作為櫻桃番茄SSC含量的預(yù)測(cè)模型。
圖9 基于De-trending-Auto OPS-ICS-BPNN模型SSC含量回歸效果Fig.9 Regression effect of SSC content based on De-trending-Auto OPS-ICS-BPNN model
用該建模方法預(yù)測(cè)櫻桃番茄Vc含量時(shí),SGSCARS-ICS-BPNN模型效果最佳,預(yù)測(cè)精度高達(dá)0.91,均方根誤差相比最小為0.45。對(duì)SG-SCARS-ICS-BPNN模型進(jìn)行的訓(xùn)練回歸效果如圖10所示,Training、Validation、Test和All(整體)與目標(biāo)值的相關(guān)系數(shù)分別是0.97、0.98、0.85和0.96。因此可知,預(yù)測(cè)值和參考值之間具有較好的線性關(guān)系,表明近紅外光譜技術(shù)對(duì)櫻桃番茄Vc含量的檢測(cè)是可行的。
圖10 基于SG-SCARS-ICS-BPNN模型Vc含量回歸效果Fig.10 Regression effect of Vc content based on SG-SCARS-ICS-BPNN model
圖11和圖12分別為SSC和Vc含量基于不同建模方法,分別選擇最優(yōu)結(jié)果的對(duì)比結(jié)果。X軸以上為預(yù)測(cè)集R2,以下為RMSEP。柱狀的長度對(duì)應(yīng)數(shù)值的呈正比關(guān)系。從圖11可看出,上柱狀R2隨著模型不同顯著提升,下柱狀RMSEP顯著減小,ICS-BPNN預(yù)測(cè)集R2達(dá)到0.85,相較ELM、BPNN和CS-BPNN分別提升了16%、9%和5%,RMSEP達(dá)到0.79,相比ELM、BPNN和CS-BPNN模型降低了0.37、0.27和0.23,所以應(yīng)用ICS-BPNN時(shí),模型效果最好。從圖12可以看出,上柱狀R2隨著模型不同柱狀長度增加不明顯,但下柱狀RMSEP的柱狀長度有明顯減小,Vc含量預(yù)測(cè)集均方根誤差從最大值0.85降到最小值0.45。因此,經(jīng)改進(jìn)的杜鵑鳥搜索算法優(yōu)化BPNN模型具有最好的預(yù)測(cè)效果。
圖11 SSC最優(yōu)模型對(duì)比Fig.11 Comparison of SSC optimal models
圖12 Vc最優(yōu)模型對(duì)比Fig.12 Comparison of Vc optimal models
本文利用近紅外光譜技術(shù)對(duì)四個(gè)不同品種的櫻桃番茄進(jìn)行測(cè)量,通過多種不同算法建立的櫻桃番茄SSC和Vc含量預(yù)測(cè)模型。同時(shí)經(jīng)過比較分析得出,經(jīng)改進(jìn)后的CS-BPNN模型預(yù)測(cè)精度最高。在SSC含量應(yīng)用中該模型預(yù)測(cè)集決定系數(shù)達(dá)到0.85,預(yù)測(cè)集均方根誤差為0.79;Vc含量應(yīng)用該模型預(yù)測(cè)集決定系數(shù)高達(dá)0.91,預(yù)測(cè)集均方根誤差為0.45。因此,改進(jìn)的機(jī)器學(xué)習(xí)算法可有效提高檢測(cè)精度,為櫻桃番茄品質(zhì)檢測(cè)提供理論依據(jù)。