馮惠妍
(黑龍江八一農(nóng)墾大學(xué),黑龍江 大慶163319)
光譜數(shù)據(jù)特征提取的一類方法是數(shù)據(jù)降維。數(shù)據(jù)降維方法中有線性降維方法,如常用的是主成分分析(Principal Component Analysis,PCA)[1]。2013 年,張小燕等利用主成分分析方法篩選出馬鈴薯主要成分指標(biāo),并建立了主要營養(yǎng)成分的預(yù)測(cè)模型[2];有非線性降維算法,如局部線性嵌入(Locally Linear Embedding,LLE)算法,它能夠使降維后的數(shù)據(jù)較好地保持原有流行結(jié)構(gòu)[3],與其他降維方法比較,局部線性嵌入算法的優(yōu)勢(shì)在于只需要定義唯一的參數(shù)即鄰域數(shù),在模式識(shí)別、人工智能等領(lǐng)域得到了廣泛應(yīng)用。2019 年,席亮等將局部線性嵌入應(yīng)用于入侵檢測(cè)技術(shù)中,以提高檢測(cè)器生成速率和對(duì)數(shù)據(jù)檢測(cè)效率[4]。2019 年,張東妍等將局部線性嵌入算法應(yīng)用到紅松子品質(zhì)近紅外檢測(cè)中,建立一個(gè)區(qū)分正常和霉變松子的分類模型[5]。本文首先通過標(biāo)準(zhǔn)正態(tài)變量變換+一階導(dǎo)數(shù)+卷積平滑,實(shí)現(xiàn)對(duì)玉米的近紅外高維光譜數(shù)據(jù)進(jìn)行預(yù)處理分析,在對(duì)玉米高維近紅外光譜數(shù)據(jù)分別進(jìn)行PCA 和LLE 降維的基礎(chǔ)上,結(jié)合多層感知回歸(Multi-layer Perceptron regressor,MLPR)[6],建立基于LLE+MLP 模型和PCA+MLP 模型分別實(shí)現(xiàn)對(duì)玉米近紅外光譜數(shù)據(jù)的植物油含量的預(yù)測(cè)。
文中采用玉米(corn)的近紅外光譜數(shù)據(jù)集從Eigenvector Research 公司的網(wǎng)站下載,數(shù)據(jù)最初來自嘉吉公司,包括在近紅外光譜儀上測(cè)量的80 個(gè)玉米樣品,波長范圍為1100-2498nm,間隔2nm(700 個(gè)通道)。還包括樣品的植物油測(cè)量值,其中最大值3.832、最小值3.088、平均值3.498。本文在對(duì)玉米的近紅外光譜數(shù)據(jù)進(jìn)行分析的基礎(chǔ)上,建立預(yù)測(cè)模型以實(shí)現(xiàn)對(duì)植物油含量的預(yù)測(cè)。
圖1 原始光譜經(jīng)過snv 后曲線
圖2 光譜預(yù)處理結(jié)果
表1 兩種建模方法預(yù)測(cè)結(jié)果
為提高所建立預(yù)測(cè)模型的預(yù)測(cè)性能,需要在建模之前進(jìn)行光譜預(yù)處理[7]。預(yù)處理過程包括:為消除樣本顆粒及光散射等噪聲影響,采用標(biāo)準(zhǔn)正態(tài)變量變換(Standard Normal Variate transform,snv);為消除光譜基線的平移,采用一階導(dǎo)數(shù)處理;為消除基線漂移和傾斜,采用Savitzky-Golay(SG)卷積平滑法對(duì)光譜進(jìn)行平滑處理(文中選取平滑點(diǎn)數(shù)為7,多項(xiàng)式次數(shù)為3),原始光譜經(jīng)過snv 后曲線如圖1 所示,預(yù)處理后的光譜曲線如圖2 所示。為對(duì)近紅外光譜建模的樣本集進(jìn)行劃分,選取SPXY(Sample set Partitioning based on joint X-Y distance)算法,該算法是在KS 算法基礎(chǔ)上發(fā)展起來的,SPXY 在樣本間距離計(jì)算時(shí)將x 變量和y 變量同時(shí)考慮在內(nèi)。文中訓(xùn)練集和測(cè)試集以7:3的比例進(jìn)行劃分。
在對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理的結(jié)果上,使用LLE 算法和PCA算法分別實(shí)現(xiàn)對(duì)光譜數(shù)據(jù)的降維處理。其中局部線性嵌LLE 算法在降維后可以有效保留高維數(shù)據(jù)的低維特征,使得非線性信息不會(huì)隨著降維而丟失[8]。算法中每一個(gè)數(shù)據(jù)點(diǎn)都可以由其近鄰點(diǎn)的線性加權(quán)組合構(gòu)造得到,該算法的主要步驟為:(1)尋找每個(gè)樣本點(diǎn)的k 個(gè)最近鄰(文中k 為6);(2)由每個(gè)樣本點(diǎn)的鄰近點(diǎn)計(jì)算出該樣本點(diǎn)的局部重建權(quán)值矩陣;(3)由該樣本點(diǎn)的局部重建權(quán)值矩陣和其近鄰點(diǎn)計(jì)算出該樣本點(diǎn)的輸出值。主成分分析PCA 算法是一種線性降維方法,是將原來多個(gè)具有一定相關(guān)性的多指標(biāo),重新組合成一組新的相互無關(guān)的綜合指標(biāo)的統(tǒng)計(jì)分析方法[9]。主成分分析PCA 的分析過程是一個(gè)構(gòu)造轉(zhuǎn)換矩陣的過程,該算法的主要步驟為:(1)輸入數(shù)據(jù)集X 和需要降到k 維;(2)對(duì)矩陣X 中的所有樣本進(jìn)行均值歸零處理;(3)求協(xié)方差矩陣以及求出協(xié)方差矩陣的特征值和特征向量;(4)特征向量按照特征值大小進(jìn)行排序,選出最大的前k 個(gè)特征值對(duì)應(yīng)的特征向量。
MLP 多層感知器是一個(gè)通用函數(shù)逼近器,多層感知回歸模型利用LBFGS 或隨機(jī)梯度法對(duì)平方損失進(jìn)行優(yōu)化下降[6]。MLP是一種前向結(jié)構(gòu)的人工神經(jīng)網(wǎng)絡(luò),映射一組輸入向量到一組輸出向量,模型由多個(gè)節(jié)點(diǎn)層組成,且每一層都全連接到下一層,除了輸入節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都是一個(gè)帶有非線性激活函數(shù)的神經(jīng)元[10]。針對(duì)降維后的光譜數(shù)據(jù),設(shè)計(jì)了一個(gè)以“l(fā)ogistic”為激活函數(shù)的多層感知回歸模型(其中權(quán)重優(yōu)化方式選擇了適合本實(shí)驗(yàn)的“l(fā)bfgs”,“l(fā)bfgs”是擬牛頓法家族中的一個(gè)優(yōu)化器),以實(shí)現(xiàn)對(duì)玉米中植物油(oil)的預(yù)測(cè)。在實(shí)驗(yàn)結(jié)果中,在降維數(shù)相同(選取預(yù)測(cè)效果相對(duì)較好的維數(shù)是10)和MLP 的參數(shù)設(shè)置相同的情況下,基于LLE+MLP 模型的測(cè)試集均方根誤差RMSE 為0.0789;基于PCA+MLP 模型的測(cè)試集均方根誤差RMSE 為0.0873。訓(xùn)練集和測(cè)試集的相關(guān)性r 和決定系數(shù)R2的結(jié)果如表1 所示。
采用非線性降維LLE 進(jìn)行玉米近紅外光譜數(shù)據(jù)降維,結(jié)合多層感知回歸進(jìn)行玉米植物油建模分析,研究了LLE 降維算法對(duì)近紅外預(yù)測(cè)分析的作用。通過對(duì)比線性降維的PCA 模型的建模,兩種模型的相關(guān)系數(shù)r 和R2相近,而LLE+MLP 模型的預(yù)測(cè)中RMSE 更優(yōu)。