馮惠妍
(黑龍江八一農(nóng)墾大學(xué),黑龍江 大慶 163319)
淀粉是目前重要的可再生工業(yè)原料,我國玉米淀粉約占總產(chǎn)量的80%[1],可以通過化學(xué)計量方法,將玉米用0.3%的亞硫酸浸漬后,進行破碎、過篩、沉淀等工序制成和獲得含量。而結(jié)合近紅外光譜技術(shù)不需要破壞樣品,可獲取樣品的光譜信息,通過光譜分析可實現(xiàn)對樣品的定性判斷和定量分析。近紅外光譜技術(shù)已被廣泛應(yīng)用在農(nóng)產(chǎn)品檢測中。文獻[2]結(jié)合主成分分析,建立了不同種類淀粉的定性判別模型和基于PLS建立了淀粉混合物的預(yù)測模型;文獻[3]研究了近紅外光譜結(jié)合支持向量機檢測甘薯粉絲摻假木薯淀粉和玉米淀粉的可行性。因此結(jié)合近紅外光譜技術(shù),分析近紅外光譜數(shù)據(jù),實現(xiàn)對玉米淀粉含量的有效估計具有重要實際應(yīng)用意義。本研究基于玉米近紅外光譜數(shù)據(jù),以玉米淀粉含量指標為研究對象,擬首先使用多種數(shù)據(jù)預(yù)處理方法及其組合方法進行光譜的預(yù)處理,利用主成分分析算法PCA 進行光譜數(shù)據(jù)特征提取的基礎(chǔ)上,再結(jié)合使用粒子群優(yōu)化PSO 算法,實現(xiàn)對支持向量回歸算法中的重要參數(shù),懲罰因子C 和核函數(shù)參數(shù)gamma 的參數(shù)尋優(yōu),以此構(gòu)建一個優(yōu)化SVR 的玉米淀粉的回歸預(yù)測模型,實現(xiàn)對玉米淀粉含量的有效預(yù)測估計。
公開的玉米近紅外光譜數(shù)據(jù)包括80 個玉米樣品,波長范圍為1 100-2 498 nm,間隔2 nm(700 個通道),數(shù)據(jù)列中包括指標淀粉含量值,其最大值66.4 720、最小值62.8 260、平均值64.6 956 以及標準差0.81 559。
光譜預(yù)處理在大多數(shù)情況下可以改善預(yù)測結(jié)果,但是有時使用源光譜也可產(chǎn)生很好的結(jié)果[4],因此本文首先考慮使用源光譜建立模型。文中選擇使用的光譜 預(yù) 處 理 方 法 有 源 光 譜、SNV、SNV+SG、MSC、MSC+SNV、FD MSC+SNV+FD[5]。
高維的光譜數(shù)據(jù)增加了構(gòu)建模型的難度和復(fù)雜度,通常需要從高維的數(shù)據(jù)中提取出數(shù)據(jù)特征,研究使用主成分分析PCA 提取出數(shù)據(jù)主成分[6],簡化了數(shù)據(jù)規(guī)模為后續(xù)建模做準備。
數(shù)據(jù)進行特征提取后,使用SPXY(Sample set Partitioning based on joint X-Y distance)算法以4:1的比例劃分訓(xùn)練集和預(yù)測集。
支持向量機(Support Vector machine,SVM)是一種基于統(tǒng)計學(xué)理論的機器學(xué)習(xí)算法,由Cortes 和Vapnik 于1995 年提出,算法嘗試尋找具有最大間隔的超平面來區(qū)分不同類別的樣本,其中間隔定義為不同類別的樣本到分類超平面的距離。目前該算法思想已廣泛應(yīng)用于分類和回歸問題中,并且大多數(shù)情況下運行效果相對較優(yōu)[7]。支持向量回歸(Support Vector Regression,SVR)是使用SVM 來擬合曲線,做回歸分析。考慮研究使用的光譜數(shù)據(jù)的非線性和RBF(Radial Basis Function)實現(xiàn)分類問題的實驗效果成功[8],本研究選擇RBF 作為SVR 的核函數(shù),RBF 核函數(shù)有兩個重要的參數(shù):C 和gamma,不同參數(shù)所建模型的預(yù)測能力不同,可以選擇網(wǎng)格搜索實現(xiàn)參數(shù)優(yōu)化,但是耗時長,因此本文選擇粒子群優(yōu)化算法進行SVM的2 個重要參數(shù)尋優(yōu)。
粒子群算法(Particle Swarm Optimization)是由美國社會心理學(xué)家J.Kennedy 和電氣工程師R.Eberhart于1995 年共同提出[9]。算法的基本思想受到許多對鳥類的群體行為進行建模與仿真研究結(jié)果的啟發(fā)。算法的主要步驟:
(1) 隨機初始化D 維空間中的每個粒子的位置x 和速度v。

(2) 計算粒子適應(yīng)度值F:選擇模型預(yù)測的預(yù)測值與真實值之間的RMSE 作為適應(yīng)度值F。
(3) 更新每個個體最優(yōu)值和全局最優(yōu)值。
(4) 更新粒子的速度和位置。



圖1 基于PSO 算法優(yōu)化SVR 的玉米淀粉預(yù)測模型
為了評價所建立模型的預(yù)測性能,本文采用三種評估方法:均方根誤差(Root mean square error,RMSE),RMSE 越小說明模型預(yù)測精度越高;決定系數(shù)(coefficient of determination,R2)值越接近1,模型穩(wěn)定性越好;預(yù)測相對分析誤差RPD[10],Chang 等提出的相對分析誤差評判等級:RPD≥2 時,模型具有很好的預(yù)測效果,屬A 類模型,可用于定量預(yù)測;1.4≤RPD<2時,模型有一定的預(yù)測效果,屬B 類模型,可用于粗略的預(yù)測;RPD<1.4 時,模型的預(yù)測效果較差,屬C 類模型,不能用于定量預(yù)測[11]。
SVM 算法中參數(shù)C 和gamma 的設(shè)置范圍[0.1,100],PSO 算法中慣性權(quán)重的最大值0.9,最小值0.4,迭代次數(shù)設(shè)置為100,粒子個數(shù)分別設(shè)置為20、30、40、50、60。考慮PSO 算法可陷入局部最優(yōu),文中采用重復(fù)執(zhí)行20 次取最好結(jié)果為最終的預(yù)測結(jié)果。不同預(yù)處理方法時,模型的預(yù)測結(jié)果如下:
(1) 源光譜時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖2 所示。從圖2 中可以得出,當25 維度特征提取時,粒子個數(shù)設(shè)置為50 時預(yù)測集的RMSE最小,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表1 所示,其中粒子個數(shù)50 時訓(xùn)練集的RMSE 為0.4732,R2為0.7075,預(yù)測集的RMSE 為0.3292,R2為0.6084,RPD 為1.6504>1.4,預(yù)測模型具有一定的預(yù)測效果。

圖2 源光譜時模型的預(yù)測RMSE

表1 降維25、不同粒子數(shù)時模型的運行結(jié)果
(2) SNV 預(yù)處理時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖3 所示。從圖3 中可以得出,當10 維度特征提取時,粒子個數(shù)設(shè)置為50 時預(yù)測集的RMSE最小,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表2 所示,其中粒子個數(shù)50 時訓(xùn)練集的RMSE 為0.1657,R2為0.9628,預(yù)測集的RMSE 為0.2044,R2為0.8853,RPD 為3.05>2,預(yù)測模型具有很好的預(yù)測效果。

圖3 SNV 預(yù)處理時模型的預(yù)測RMSE

表2 降維10、不同粒子數(shù)時模型的運行結(jié)果
(3) SNV+SG 預(yù)處理時,SG 選取平滑點數(shù)為7,多項式次數(shù)為3。PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE如圖4 所示。從圖4 中可以得出,當10 維度特征提取時,粒子個數(shù)設(shè)置為50 時預(yù)測集的RMSE 最小,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表3 所示,其中粒子個數(shù)50 時訓(xùn)練集的RMSE 為0.1681,R2為0.9617,預(yù)測集的RMSE 為0.2047,R2為0.8850,RPD 為3.0466>2,預(yù)測模型具有很好的預(yù)測效果。

圖4 SNV+SG 預(yù)處理時模型的預(yù)測RMSE

表3 降維10、不同粒子數(shù)時模型的運行結(jié)果
(4) MSC 預(yù)處理時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖5 所示。從圖5 中可以得出,當10 維度特征提取時,各粒子數(shù)設(shè)置時預(yù)測集的RMSE 幾乎相等,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表4 所示,其中粒子個數(shù)50 時訓(xùn)練集的RMSE 為0.1754,R2為0.9583,預(yù)測集的RMSE 為0.2037,R2為0.8861,RPD 為3.0611>2,預(yù)測模型具有很好的預(yù)測效果。

圖5 MSC 預(yù)處理時模型的預(yù)測RMSE

表4 降維10、不同粒子數(shù)時模型的運行結(jié)果
(5) MSC+SNV 預(yù)處理時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖6 所示。從圖6 中可以得出,當10維度特征提取時,各粒子數(shù)設(shè)置時預(yù)測集的RMSE 幾乎相等,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表5 所示,其中粒子個數(shù)60 時訓(xùn)練集的RMSE為0.1754,R2為0.9583,預(yù)測集的RMSE 為0.2036,R2為0.8863,RPD 為3.0631>2,預(yù)測模型具有很好的預(yù)測效果。

圖6 MSC+SNV 預(yù)處理時模型的預(yù)測RMSE

表5 降維10、不同粒子數(shù)時模型的運行結(jié)果
(6) FD 預(yù)處理時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖7 所示。從圖7 中可以得出,當10 維度特征提取時,各粒子數(shù)設(shè)置時預(yù)測集的RMSE 幾乎相等,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表6 所示,其中粒子數(shù)60 時訓(xùn)練集的RMSE 為0.6470,R2為0.4393,預(yù)測集的RMSE 為0.4014,R2為0.5095,RPD 為1.4747。預(yù)測模型具有一定的預(yù)測效果,但是預(yù)測精度和模型的穩(wěn)定性相對不高。

圖7 FD 預(yù)處理時模型的預(yù)測RMSE

表6 降維10、不同粒子數(shù)時模型的運行結(jié)果
(7) MSC+SNV+FD 預(yù)處理時,PCA 各維度時模型的預(yù)測RMSE 及各維度時PSO 算法設(shè)置不同粒子數(shù)時的預(yù)測RMSE 如圖8 所示。從圖8 中可以得出,當45 維度特征提取時,有最小的預(yù)測RMSE,不同粒子數(shù)時的訓(xùn)練集和預(yù)測集的運行結(jié)果,如表7 所示,其中粒子數(shù)40 時訓(xùn)練集的RMSE 為0.2329,R2為0.9261,預(yù)測集的RMSE 為0.2718,R2為0.7625,RPD為2.1196。預(yù)測模型的預(yù)測效果良好,但是預(yù)測模型的預(yù)測精度和模型的穩(wěn)定性相對不高。

圖8 MSC+SNV+FD 預(yù)處理時模型的預(yù)測RMSE

表7 降維45、不同粒子數(shù)時模型的運行結(jié)果
本文基于玉米光譜數(shù)據(jù),結(jié)合粒子群優(yōu)化算法,優(yōu)化支持向量回歸模型中的參數(shù)C 和gamma,建立了一個用于玉米淀粉含量預(yù)測的預(yù)測模型。實驗對比不同預(yù)處理和PSO 算法中設(shè)置不同粒子數(shù)時的預(yù)測效果,從實驗結(jié)果得出結(jié)論如下。
(1) 預(yù)處理方法中,選擇SNV,SNV+SG、MSC、MSC+SNV、MSC+SNV+FD 的預(yù)處理后建立的模型的預(yù)測效果均高于未進行預(yù)處理,即使用源數(shù)據(jù)時建立的預(yù)測模型的預(yù)測效果;而基于FD 的預(yù)處理方法建立的預(yù)測模型不理想,這也就說明針對本文的光譜數(shù)據(jù),選用合適的預(yù)處理方法有助于提升模型的預(yù)測精度。
(2) 使用PSO 進行SVR 建模的參數(shù)優(yōu)化時,不同的粒子個數(shù)設(shè)置影響模型的預(yù)測效果。進行MSC和MSC+SNV 預(yù)處理時的模型預(yù)測結(jié)果優(yōu)于預(yù)處理是SNV、SNV+SG 和MSC+SNV+FD 時的預(yù)測結(jié)果。其中MSC+SNV 預(yù)處理時,PCA 主成分10 時,PSO 的粒子數(shù)為60 時,預(yù)測模型最優(yōu)。
因此,針對玉米近紅外光譜數(shù)據(jù)集,文中提出的PSO 優(yōu)化SVR 的建模方法能夠有效的預(yù)測玉米淀粉含量。