耿瑩蕊, 沈歡超, 倪鴻飛, 陳 勇, 劉雪松*
1. 浙江大學(xué)藥學(xué)院, 浙江 杭州 310030 2. 浙江大學(xué)智能創(chuàng)新藥物研究院, 浙江 杭州 310018
在煙草行業(yè)中, 種植產(chǎn)區(qū)是煙葉品質(zhì)分類管理的重要依據(jù), 目前大多企業(yè)依靠外觀評(píng)價(jià)和傳統(tǒng)化學(xué)分析方法對(duì)煙葉產(chǎn)地進(jìn)行鑒別, 存在主觀性強(qiáng)、 準(zhǔn)確性低、 費(fèi)時(shí)費(fèi)力等缺點(diǎn)。 因此, 建立一種快速有效的非人工煙葉產(chǎn)地鑒別方法具有重要意義。
近紅外光譜(near infrared spectroscopy, NIRS)技術(shù), 具有快速、 高效、 無(wú)損等優(yōu)點(diǎn), 已在煙草行業(yè)中得到廣泛應(yīng)用[1-2], 但由于近紅外光譜數(shù)據(jù)維數(shù)高、 信息量大, 往往需要結(jié)合多種化學(xué)計(jì)量學(xué)方法, 以提取關(guān)鍵光譜信息構(gòu)建與煙葉產(chǎn)地之間的聯(lián)系, 實(shí)現(xiàn)煙葉種植區(qū)域的識(shí)別[3]。 支持向量機(jī)(support vector machine, SVM)是一種監(jiān)督式機(jī)器學(xué)習(xí)算法, 它在解決小樣本非線性數(shù)據(jù)的分類回歸方面具有強(qiáng)大的能力。 懲罰因子C和核參數(shù)σ是SVM模型的關(guān)鍵參數(shù), 其設(shè)置對(duì)模型預(yù)測(cè)能力具有較大的影響。 目前已有遺傳算法(genetic algorithm, GA)、 粒子群算法(particle swarm optimization, PSO)等優(yōu)化算法被用于SVM參數(shù)尋優(yōu), 并成功應(yīng)用于煙葉質(zhì)量評(píng)價(jià)中[4-5]。 雖然這些優(yōu)化算法使得SVM模型效果得到改善, 但仍然存在收斂速度慢、 易陷入局部最優(yōu)等問(wèn)題。
灰狼算法(grey wolf optimizer, GWO)作為一種高效的優(yōu)化算法, 相較于其他尋優(yōu)算法, 具有參數(shù)更少、 收斂性更強(qiáng)的特點(diǎn), 已成功應(yīng)用于工程損耗定量檢測(cè)[6]、 電力質(zhì)量控制[7]、 食品溯源[8]等領(lǐng)域。 本研究基于近紅外光譜技術(shù), 首次將基于GWO優(yōu)化的SVM算法應(yīng)用于煙葉產(chǎn)地分類模型建立, 以提高煙葉產(chǎn)地判別準(zhǔn)確率, 降低建模成本。
煙葉樣本來(lái)源于中國(guó)八個(gè)省份, 包括福建省、 廣西壯族自治區(qū)、 貴州省、 河南省、 湖北省、 湖南省、 四川省和云南省, 共824份煙葉樣本, 由浙江中煙工業(yè)有限責(zé)任公司提供。 實(shí)驗(yàn)采用Antaris Ⅱ FT-NIR(Thermo Fisher Scientific)分析儀, 波數(shù)范圍為10 000~3 800 cm-1, 分辨率為8 cm-1, 每條光譜代表64次掃描的平均值。 由于八個(gè)煙葉產(chǎn)區(qū)地理位置比較接近, 因此產(chǎn)地來(lái)源分辨具有一定難度。
為了消除基線漂移, 降低噪聲干擾, 同時(shí)又能保證校正后不會(huì)過(guò)多地降低頻譜的信噪比。 采用Savitzky-Golay(SG)卷積平滑結(jié)合一階導(dǎo)數(shù)(first derivative, 1stD)對(duì)光譜進(jìn)行預(yù)處理。
為了獲得更穩(wěn)定的近紅外判別分析模型, 剔除光譜中的無(wú)關(guān)變量[9], 分別采用競(jìng)爭(zhēng)自適應(yīng)重加權(quán)采樣(competitive adaptive reweighted sampling, CARS)和隨機(jī)青蛙(random frog, RF)算法對(duì)全波長(zhǎng)的特征變量進(jìn)行提取以降低數(shù)據(jù)維度, 從而可以輸入較少變量以提高分析速度。
1.4.1 支持向量機(jī)(SVM)
SVM是Vapnik等在1995年基于統(tǒng)計(jì)學(xué)習(xí)理論(statistic learning theory, SLT)所提出的新型模式識(shí)別方法。 SVM可以很好地解決實(shí)際中線性不可分問(wèn)題, 它以最大間隔超平面為原則, 首先將非線性原始數(shù)據(jù)映射到一個(gè)新的高維空間, 然后在新的維度空間利用核函數(shù)從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)分類模型, 找到恰好能將數(shù)據(jù)分開(kāi)的超平面, 這樣就將問(wèn)題成功轉(zhuǎn)化為高維線性可分問(wèn)題[10]。
1.4.2 粒子群優(yōu)化(PSO)
PSO算法又稱為鳥(niǎo)群覓食算法。 在PSO中, 粒子是隨機(jī)生成的, 這些粒子會(huì)根據(jù)當(dāng)前的特征行為和位置動(dòng)態(tài)變化隨時(shí)調(diào)整搜索位置, 每組粒子會(huì)跟蹤先前的最佳位置和適應(yīng)度進(jìn)行最優(yōu)解的尋找, 而每一個(gè)粒子找到的最優(yōu)解會(huì)引導(dǎo)其他粒子收斂到最佳方案, 利用粒子群之間的競(jìng)爭(zhēng)和協(xié)作完成每一次迭代, 在粒子不斷演化的過(guò)程中, 根據(jù)當(dāng)前最優(yōu)值搜索到適應(yīng)性最大的解, 則成為全局最優(yōu)解[11]。
1.4.3 遺傳算法(GA)
遺傳算法是基于生物在自然界中“適者生存, 優(yōu)勝劣汰”的進(jìn)化機(jī)制所演化出的一種尋找全局最優(yōu)解的搜索算法, 通過(guò)模擬自然界中生物進(jìn)化、 遺傳變異來(lái)實(shí)現(xiàn)全局尋優(yōu)[12]。 在初始種群中, 某些適應(yīng)度大的個(gè)體被選為父代, 父代間進(jìn)行交叉和突變操作, 以此產(chǎn)生適應(yīng)度更大的子代, 組成新種群, 再評(píng)估每一個(gè)體的適應(yīng)度值, 選擇值得進(jìn)行下一代遺傳的個(gè)體, 進(jìn)行下一次迭代。 為了找到合適的遺傳個(gè)體, 每一個(gè)個(gè)體都會(huì)經(jīng)過(guò)預(yù)先設(shè)定的適應(yīng)度函數(shù)進(jìn)行選擇, 以使得新一代的染色體比上一代有所提升, 在這樣反復(fù)的遺傳演化過(guò)程, 好的基因被遺傳, 呈現(xiàn)劣勢(shì)的基因被淘汰。
1.4.4 灰狼算法(GWO)
GWO的提出是受到了來(lái)自于自然界中灰狼生存等級(jí)和捕獵的啟發(fā)[13], GWO模擬了灰狼族群中嚴(yán)格的統(tǒng)治階級(jí), 并通過(guò)灰狼種群捕獵階段中跟蹤、 追逐、 包圍、 攻擊等行為尋找最優(yōu)解, 以此實(shí)現(xiàn)對(duì)支持向量機(jī)等智能算法的優(yōu)化。 采用GWO優(yōu)化函數(shù)進(jìn)行建模時(shí),α表示最合適的解決方案, 其次分別是β和δ,β和δ主要負(fù)責(zé)輔助α進(jìn)行決策, 并且聽(tīng)從α的指令進(jìn)行獵捕, 狼群最低等級(jí)是ω, 它們必須跟隨α、β和δ的領(lǐng)導(dǎo)對(duì)獵物進(jìn)行圍攻, 以此尋找全局最優(yōu)解。
在狩獵過(guò)程中, 狼群的包圍行為由式(1)和式(2)表示
(1)
(2)
(3)
(4)
在搜索空間,α,β和δ這三個(gè)最優(yōu)解的位置起著關(guān)鍵的作用, 由這三者預(yù)估獵物的大致位置, 而ω會(huì)根據(jù)這三者更新自己在獵物周?chē)奈恢茫?以此實(shí)現(xiàn)對(duì)獵物的最終包圍狩獵。
(5)
(6)
(7)
1.4.5 GWO-SVM
采用選擇高斯核函數(shù)作為支持向量機(jī)的核函數(shù), 此時(shí)SVM受到懲罰因子C和高斯核參數(shù)σ的影響。 在此, 使用GWO算法來(lái)對(duì)SVM進(jìn)行參數(shù)優(yōu)化, 通過(guò)不斷迭代優(yōu)化, 尋找最佳的參數(shù)C和σ, 提高模型的準(zhǔn)確率, 降低識(shí)錯(cuò)率[14]。 GWO-SVM算法過(guò)程如下:
(1) 將煙葉樣本數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集, 并對(duì)光譜數(shù)據(jù)進(jìn)行歸一化處理。
(2) 初始化SVM的參數(shù), 并設(shè)置SVM中C和σ作為GWO優(yōu)化值。
(3) 根據(jù)C和σ初始化狼群的位置, 使用訓(xùn)練樣本對(duì)SVM模型進(jìn)行訓(xùn)練, 并將初始位置輸入模型, 以計(jì)算灰狼個(gè)體的適應(yīng)度值。
(4) 保留具有最優(yōu)適應(yīng)度值的α,β,δ三只狼, 并根據(jù)當(dāng)前最優(yōu)適應(yīng)度值, 更新每只狼的位置。
(5) 若已達(dá)到最大迭代次數(shù), 則終止迭代循環(huán), 輸出由最優(yōu)位置得出的全局最優(yōu)參數(shù)C和σ, 若未到達(dá)最大迭代次數(shù), 則返回步驟4繼續(xù)進(jìn)行迭代。
(6) 輸出最優(yōu)參數(shù)C和σ, 并對(duì)訓(xùn)練數(shù)據(jù)重新進(jìn)行SVM訓(xùn)練。
(7) 通過(guò)GWO-SVM模型對(duì)測(cè)試樣本進(jìn)行預(yù)測(cè), 并對(duì)模型性能進(jìn)行評(píng)價(jià)。
以上數(shù)據(jù)處理均在Windows 10操作系統(tǒng)下, 使用MATLAB R2018 b進(jìn)行。
圖1用不同顏色的曲線展示了824份不同產(chǎn)區(qū)煙葉樣品的原始近紅外漫反射光譜, 八個(gè)省份樣本的原始近紅外光譜并無(wú)太大差距, 可見(jiàn)煙葉產(chǎn)地的鑒別有一定難度。 使用基于x-y距離樣本集劃分(set partitioning based on joint x-y distance, SPXY)算法按照7∶3的比例進(jìn)行樣本劃分, 將824個(gè)煙葉樣本劃分為617個(gè)校正集樣本和207個(gè)驗(yàn)證集樣本。
圖1 煙葉樣品的原始近紅外光譜圖
表1 不同產(chǎn)地?zé)熑~樣本劃分情況
2.2.1 CARS法
在CARS算法中, 將蒙特卡洛采樣運(yùn)行次數(shù)設(shè)置為100次, 通過(guò)五折交叉驗(yàn)證選擇具有最小均方根誤差(root mean square error of cross validation, RMSECV)模型所對(duì)應(yīng)的波長(zhǎng)變量。 圖2(a)顯示了蒙特卡洛采樣次數(shù)和采樣變量數(shù)之間的關(guān)系, 前20次采樣中, 采樣變量數(shù)快速下降, 主要反映的是消除無(wú)信息變量的過(guò)程, 下降至一定程度后趨于平緩。 從圖2(b)中可以觀察到當(dāng)采樣次數(shù)達(dá)到37時(shí), 對(duì)應(yīng)的RMSECV最小為1.72。 圖2(c)顯示的是隨著采樣次數(shù)不同而變化的變量系數(shù), 圖中用“*”描述了最小RMSECV所對(duì)應(yīng)的最佳特征波長(zhǎng)。 結(jié)果, CARS選擇了141個(gè)變量。
圖2 CARS變量篩選優(yōu)化結(jié)果
2.2.2 RF法
隨機(jī)青蛙算法通過(guò)計(jì)算每個(gè)建模變量被選擇的概率, 從中選出被選概率高的變量組合成為特征波長(zhǎng); 由于隨機(jī)青蛙采用蒙特卡洛隨機(jī)采樣, 因此為了降低隨機(jī)性, 將所有波長(zhǎng)變量運(yùn)行1 000次, 計(jì)算平均篩選概率[15], 設(shè)置0.04為篩選閾值, 最終從1 609個(gè)變量中選出534個(gè)變量作為特征變量, 結(jié)果如圖3所示。
圖3 RF變量篩選結(jié)果
為了準(zhǔn)確對(duì)比各優(yōu)化算法的分類效果, 考慮了不同的控制參數(shù), 三種優(yōu)化算法均設(shè)置相同的參數(shù): 種群規(guī)模為20, 最大進(jìn)化次數(shù)k為200,C和σ的搜索范圍為(0.01, 100)。
分類模型的性能使用準(zhǔn)確度和混淆矩陣來(lái)評(píng)估, 混淆矩陣主要用于比較客觀結(jié)果和實(shí)際類別。 下面分別計(jì)算了PSO-SVM, GA-SVM和GWO-SVM模型的分類準(zhǔn)確度和混淆矩陣, 結(jié)果見(jiàn)表2和圖4。 混淆矩陣用橫坐標(biāo)表示真實(shí)類別, 縱坐標(biāo)表示預(yù)測(cè)結(jié)果, 以此描述模型對(duì)單個(gè)產(chǎn)地的判斷分類性能, 顏色越深, 代表正確分類的數(shù)量越多, 圖4中對(duì)角線的顏色越深, 代表準(zhǔn)確率越接近100%, 分類性能越好。
表2 不同模型分類效果
圖4 不同分類模型的混淆矩陣
由表2的結(jié)果統(tǒng)計(jì)可以看出, 在建立煙葉產(chǎn)地分類的SVM模型過(guò)程中, 采用RF篩選出的波長(zhǎng)組合, 三種模型的判別準(zhǔn)確度更高, 其中RF-GWO-SVM的分類正確率最高, 達(dá)到96.62%, 說(shuō)明RF算法具有良好的關(guān)鍵信息篩選能力; 從運(yùn)行時(shí)間來(lái)看, GWO-SVM相比于其他兩種模型, 尋優(yōu)時(shí)間大大縮短。 這很好的說(shuō)明, 在相同的測(cè)試樣本、 相同搜索條件下, GWO算法對(duì)SVM的兩個(gè)參數(shù)尋優(yōu)具有更快速、 更優(yōu)化的能力, GWO-SVM模型對(duì)于煙葉產(chǎn)地的識(shí)別效果明顯優(yōu)于PSO-SVM和GA-SVM。
根據(jù)混淆矩陣結(jié)果, GWO-SVM模型識(shí)別正確率達(dá)到100%的有五個(gè)省份, 分別是福建省、 河南省、 湖北省、 湖南省和云南省, 河南省的分類正確率比其他模型提升了3.03%, 湖南省的分類正確率比其他模型提升了12.5%~18.75%; 但對(duì)于來(lái)自廣西壯族自治區(qū)的樣本識(shí)別仍然不理想, 原因可能是廣西的煙葉樣本總數(shù)僅60個(gè), 分到驗(yàn)證集僅8個(gè), 面對(duì)類別不平衡樣本時(shí), SVM模型的分類精度受到較大影響。 另外, 將貴州煙葉錯(cuò)分至湖北和湖南, 可能是因?yàn)閹讉€(gè)省份地理位置接近, 經(jīng)緯度相似, 煙葉樣本中化學(xué)成分與物理特征差異不夠明顯, 從而造成誤分。 除此之外, 各個(gè)地區(qū)的煙葉產(chǎn)地鑒別都得到了很高的精度, RF-GWO-SVM的總體正確率達(dá)到了96.62%, 分別比RF-PSO-SVM和RF-GA-SVM提高了1.45%和2.42%。 從預(yù)測(cè)結(jié)果可以得出結(jié)論, GWO-SVM的識(shí)別效果明顯優(yōu)于其他兩個(gè)模型。
基于近紅外光譜技術(shù), 以824份來(lái)自8個(gè)省份的煙葉樣品為研究對(duì)象, 采用CARS和RF進(jìn)行特征變量篩選, 通過(guò)GWO算法對(duì)SVM中參數(shù)C和σ進(jìn)行優(yōu)化, 并建立煙葉產(chǎn)地分類模型。
將GWO-SVM應(yīng)用于煙葉產(chǎn)地分類, 與PSO-SVM和GA-SVM相比, 該算法所建立的分類模型具備更佳的分類識(shí)別性能, 對(duì)煙葉產(chǎn)地有更高的判別精度, 總體識(shí)別正確率達(dá)到96.62%。 同時(shí)該算法尋優(yōu)速度快, 計(jì)算成本低, 可以更高效獲得SVM模型全局最優(yōu)參數(shù)。 因此, 基于灰狼算法優(yōu)化的支持向量機(jī)模型用于煙葉產(chǎn)地分類是一種更有效、 更強(qiáng)大的方法, 為NIRS技術(shù)實(shí)現(xiàn)煙葉產(chǎn)地高效鑒別提供參考。