陳文麗,王其濱,路皓翔,楊輝華,3*,劉 彤,許定舟,杜文川
(1.桂林電子科技大學 計算機與信息安全學院,廣西 桂林 541004;2.桂林電子科技大學 電子工程 與自動化學院,廣西 桂林 541004;3.北京郵電大學 自動化學院,北京 100876; 4.廣州迅動網絡科技有限公司,廣東 廣州 510700)
近紅外光譜分析技術的檢測準確度高且在檢測過程中不會產生化學以及廢棄物等污染,在食品、藥品監督以及植物疾病預防等領域得到了廣泛的應用[1-4]。柑橘黃龍病菌拉丁學名為Candidatus liberobacter asiaticus,屬韌皮部桿菌屬,可感染當前所有種類的柑橘。黃龍病又稱為柑橘“不死的癌癥”,是由黃龍病菌引起的細菌性疾病[5-6]。
我國最早發現柑橘黃龍病是在20世紀初,當時華南地區的一些柑橘種植地發生了這種奇怪的病癥,之后在我國的廣西、江南等柑橘主產地也逐漸出現。由于柑橘黃龍病的傳播性極強且無法徹底根治,所以園區內一旦有果樹被感染,就必須砍伐掉園區全部的果樹,這種不得已的做法讓人民群眾背負了沉重的經濟負擔[7]。因此,對柑橘黃龍病進行早期篩查是一項極為必要的工作。當前,國內外的研究學者嘗試將機器學習的方法用于光譜分析技術對柑橘黃龍病進行早期篩查。Wetterich等[8]利用支持向量機(Support vector machine,SVM)和人工神經網絡(Artificial neural network,ANN)算法結合熒光成像技術完成了柑橘黃龍病的鑒別以及缺鋅癥狀的檢測,其檢測準確度分別為92.8%和92.2%。Garcia等[9]首先采用航空成像技術獲取柑橘樹的光譜圖像,然后利用SVM(Liner)對柑橘樹的光譜圖像進行分析進而實現黃龍病的檢測,然而該方法成本極高不宜廣泛應用。Sankaran等[10]分析研究了近紅外和熱成像技術在柑桔黃龍病檢測中的應用價值,通過SVM等分類模型實現了黃龍病的檢測,但是平均整體分類準確度僅為85%。李修華等[11]通過分析不同條件下的患有柑橘黃龍病果樹的近紅外光譜特征,快速檢測了柑橘黃龍病且無損傷。Xu等[12]采用激光誘導擊穿光譜法(LIBS)聯合近紅外光譜法對黃龍病進行鑒定,訓練集和測試集的鑒別準確度分別為89.5%和95.7%,揭示了光學傳感器在柑橘黃龍病檢測中的潛力。劉燕德等[13]采用無信息變量消除(Uninformative variable elimination,UVE)組合連續投影算法(Successive projections algorithm,SPA)對柑橘葉片的高光譜數據降維,結合偏最小二乘支持向量機(Partial least squares support vector machine,LSSVM)檢測柑橘黃龍病,其模型較為復雜,且對全譜的鑒別誤差達11.9%。劉燕德等[14]將可見與近紅外光譜拼接,結合偏最小二乘判別分析(Partial least squares discriminant analysis,PLS-DA)方法,提高了柑橘黃龍病的檢測準確度。雖然國內外的學者針對柑橘黃龍病的檢測做了相當多的研究工作,但是近紅外光譜技術在黃龍病檢測方面的應用研究還處于起始階段,檢測準確度不高。
本文嘗試將機器學習算法用于近紅外光譜分析技術實現柑橘黃龍病的鑒別,并針對柑橘黃龍病檢測準確度較低的問題,采用最小角回歸(LAR)算法融合核極限學習機(KELM(RBF))實現了柑橘黃龍病的檢測。為了驗證LAR-KELM(RBF)模型的有效性,使用傅里葉變換近紅外光譜儀對廣州訊動網絡科技有限公司提供的柑橘葉片進行測定,將測得的漫反射光譜數據進行分類實驗,通過準確度、穩定性及訓練時間3個方面分析該算法的性能,并與極限學習機(ELM)、波形疊加極限學習機(SWELM)、反向傳播神經網絡(BP(2層))、KELM(RBF)和SVM模型作對比,實驗結果表明所建立的方法能夠有效鑒別柑橘黃龍病。
近紅外光譜特征波長的數量較多,其中部分波長與預測結果的相關性較低,影響預測結果的準確性。針對該問題,采用LAR算法對特征波長進行篩選,然后采用KELM(RBF)實現柑橘黃龍病的分類。通過引入核函數,避免了ELM因隨機賦值對輸出結果產生的隨機波動,使ELM算法的穩定性和學習能力更強,分類準確度更高[15]。
LAR-KELM(RBF)的訓練過程分為LAR特征波長篩選和KELM(RBF)分類鑒別兩個階段。具體過程如下:
(1)第一階段:LAR特征篩選階段
最小角回歸算法構造了一個一階懲罰函數,通過懲罰函數可將不相關或者相關性較小的變量系數置為零并刪除,從而實現變量的篩選。其線性回歸模型表示如下:
(1)
(2)

利用公式(1)求解出每個自變量對應的回歸系數βj。其中,用0代替回歸系數中相關性較低的回歸系數,用1代替相關性較高的回歸系數。基于求解的回歸系數β根據公式(1)實現訓練集樣品特征變量的篩選:
X′=Xiβ,i=1,2,L,m
(3)
其中,Xi=[xi1,xi2,L,xil],β=[β1,β2,L,βl]T。
(2)第二階段:KELM分類鑒別階段
KELM算法主要實現波長篩選后樣品的分類鑒別。對于m個訓練樣本矩陣(xj,pj),j=1,2,L,m,假設隱含層神經元的數目為L,則極限學習機的輸出函數f(x)為:
(4)
Wk=[ωk1,ωk2,…,ωkn]T,βk=[βk1,βk2,…,βkm]T

將隱含層的輸出矩陣定義為H,期望輸出為T,那么該問題最終轉換為:
Hβ=T
(5)
其中T=[T1,T2,…,Tn]T,H表示為:

(6)
在式(5)中,β通常取其最小二乘解,計算公式如下:
β=H+T
(7)
其中,H+為隱含層的輸出矩陣H的廣義逆矩陣。
根據Karush-Kuhn-Tucker(KKT)理論,通過求解對偶優化問題可得ELM為:
(8)
其中,C為正則化參數。
應用Mercer條件定義核矩陣,則:
KELM=HHT
(9)
KELM(k,p)=h(xk)·h(xp)=K(xk)·(xp)
(10)
KELM的輸出可以表示為:
(11)
本實驗所用材料由廣州訊動網絡科技有限公司提供的1 245枚柑橘葉片。使用實時熒光定量PCR技術確定柑橘葉片是否染病。按照PCR國家標準[16],循環閾值(Cycle threshold,CT)大于35為健康,小于30為患病,在30~35之間時需要復測來確定是否患病。最終測得患有黃龍病的葉片406片和未患黃龍病的葉片839片。使用傅里葉變換近紅外光譜儀采集葉片漫反射光譜,采樣間隔為1 nm,測定范圍為12 500~4 000 cm-1(780~2 500 nm);每個樣本的測量點為直徑5 mm的圓形區域,為減小誤差,最終選取測量32次的平均值;每條光譜有701個光譜點,光譜波數范圍為10 526~6 061 cm-1。
由于傅里葉變換近紅外光譜儀測得的光譜存在噪聲和基線漂移,因此有必要通過OPUS軟件對光譜進行緊湊預處理,從而得到柑橘葉片的一致性光譜,光譜的波長范圍為960~1 650 nm,如圖1A所示。

從圖1A可以看出,未經預處理的柑橘葉片光譜之間存在嚴重的信息重疊且相似度較高,此外還包含一些與待測樣品性質無關的因素帶來的干擾,因此必須對原始光譜進行預處理。本實驗首先按列L2范數對光譜數據單位化;然后采用小波變換對光譜數據預處理。預處理后的光譜數據如圖1B所示。

圖2 不同隱含層神經元比例下不同訓練集 的分類準確度Fig.2 Classification accuracy of different training sets under different hidden layer neuron ratios
合適的隱含層神經元數目對KELM(RBF)算法有至關重要的作用,而隱含層的選擇過程會耗費大量時間,因此需要謹慎選取隱含層個數。在KELM(RBF)算法中,將t表示為訓練集的數目,r表示比例參數,N為隱含層神經元的個數,那么:
N=t×r
(12)
通過上述采集到的數據,將訓練集個數依次遞增進行實驗,實驗結果如圖2所示。
從圖2可以看出,隨著訓練集的大小遞增,當r在0.2~0.5之間時,分類準確度較高,當r=0.3時,準確度基本達到最高。
本次實驗的硬件環境為Inter(R) Core(TM) i7-6700 CPU,采用MATLAB2014a作為編碼工具,操作系統版本為Window 10 專業版。LAR-KELM(RBF)鑒別模型中,網絡結構設置為:400-t*r-2(t)為訓練集樣本個數,r為隱含層神經元比例,通過網格尋優獲取最優C=1,γ=1,迭代次數設置為1,隱含層節點個數設置為t*0.3。
對比實驗采用的方法有:SVM、BP(2層)、SWELM、ELM、KELM(RBF)模型,其中SVM選取的參數C為1.0,ε為0.3;BP算法采用兩層網絡結構,具體為701-300-100-2,dropout值為50,學習率均設置為0.05;ELM和SWELM的網絡結構均為701-t*0.4-2,dropout值為100,隱含層神經元節點個數均為t*0.3,ELM激活函數采用sigmoid。

表1 柑橘葉片近紅外光譜數據集劃分Table 1 Near infrared spectral data sets of citrus leaves
采用柑橘葉片近紅外光譜數據進行相應的分類實驗。為了驗證不同規模訓練集對LAR-KELM(RBF)模型鑒別能力的影響,將訓練集依次遞增120,如表1所示。
實驗采用相同的光譜預處理方法,取10次實驗結果的均值評估各個鑒別模型分類準確度、訓練時間以及算法穩定性3個方面的性能。
3.2.1 分類準確度分類準確度是LAR-KELM(RBF)模型性能的重要衡量指標,較高的分類準確度說明該模型對柑橘黃龍病的鑒別更為可靠。采用如表1所示不同規模的訓練集,以BP(2層)、SVM、SWELM、ELM、KELM(RBF)及其與LAR算法的融合模型進行相應的分類實驗,實驗結果如表2所示。

表2 在不同規模樣品數據集下不同分類模型的分類準確度Table 2 Classification accuracy of different classification models under different scale sample data sets (%)
從表中可以看出,在不同規模的訓練集下,KELM(RBF)均能保持較高的分類準確度,這是因為KELM(RBF)在ELM模型中引入了徑向基(RBF)核函數,增強了ELM的非線性建模能力,提高了模型的分類準確度。通過采用LAR特征波長篩選,LAR-KELM(RBF)分類準確度比KELM(RBF)高,且在訓練集增加到960時達到99.91%。通過表2可以看出,LAR-BP(2層)、LAR-SVM、LAR-SWELM、LAR-ELM和LAR-KELM(RBF)的分類準確度均得到了一定的提升,這是由于波長選擇能夠簡化模型并剔除不相關的變量,進一步說明變量篩選能夠提升近紅外光譜鑒別模型的性能。無論數據集規模大小,SWELM和ELM的分類準確度均極為相似,說明激活函數對模型性能影響不大。BP(2層)的效果不太理想,可能是由于其在本實驗中提取高維度光譜數據特征方面的能力有限。
3.2.2 訓練時間在訓練時間方面,BP(2層)、SVM、SWELM、ELM、KELM(RBF)和LAR-KELM(RBF)模型針對表1中不同規模柑橘葉片光譜數據的訓練時間如表3所示。

表3 在不同規模樣品數據集下不同分類模型的訓練時間Table 3 Training time of different classification models under different scale sample data sets
從表中可以看出,SVM、SWELM、ELM和KELM(RBF)在訓練時間方面具有明顯優勢,這是因為這4個模型在預訓練階段不需要進行多次循環迭代和反向微調模型參數。由于模型的預訓練階段需采用LAR算法進行特征波長的篩選,增加了模型的時間消耗,因此LAR-KELM(RBF)的時間消耗較SVM、SWELM、ELM和KELM(RBF)大。相比其它幾種模型,BP神經網絡的時間消耗較大,這是因為在模型運行過程中需要不斷反向微調參數,實現網絡的優化。

圖3 在不同規模樣品數據集下不同分類模型 準確度的標準偏差Fig.3 Standard deviation(STD)of accuracy of different classification models under different scale sample data sets
3.2.3 算法穩定性模型的穩定性決定了模型的推廣能力和實際的應用能力,本實驗以標準偏差為模型穩定性評價指標,各模型在不同規模數據集下的標準偏差結果見圖3。
從圖3可以看出,相對于其它幾種算法,當訓練集增加到720后,LAR-KELM(RBF)模型的標準偏差僅為0.091,且一直保持較低值,表現出最優的穩定性,表明LAR-KELM(RBF)模型具有較好的實際應用能力。
近年來近紅外光譜分析技術在黃龍病檢測行業有著廣泛的應用。本文提出的LAR-KELM(RBF)模型實現了柑橘黃龍病的鑒別。利用LAR對柑橘葉片的近紅外光譜數據進行特征波長點篩選,使樣品的光譜矩陣維度降低,然后采用KELM(RBF)模型進行篩選后光譜數據的分類鑒別。最后,使用傅里葉變換近紅外光譜儀測得近紅外漫反射光譜數據,并對LAR-KELM(RBF)模型的性能進行評估。實驗結果表明LAR-KELM(RBF)模型較其他模型具有分類準確度高、算法穩定性強等優點,能夠實現柑橘黃龍病的早期篩查。