丁躍武 楊友 陳方方 李四海
甘肅中醫(yī)藥大學(xué) 信息工程學(xué)院 甘肅 蘭州 730000
秦艽在植物屬性上屬于龍膽科多年生草本植物,歷代本草家認(rèn)為秦艽性味辛苦而微寒,能入胃、肝、膽三經(jīng),以根入藥,具有祛風(fēng)濕、清濕熱、止痹痛、退虛熱的功效,常用于治療風(fēng)濕痹痛、筋脈拘攣、骨蒸潮熱、濕熱黃疸等病癥[1-2]。
近些年,隨著對秦艽藥材的不斷深入研究,越來越多的定性分析方法如化學(xué)和分子生物學(xué)等技術(shù)被廣大研究人員應(yīng)用于秦艽的分類與鑒定,大大提高了秦艽用藥的準(zhǔn)確性[3],近紅外光譜(NIRs)分析技術(shù)即是其中之一。
深度森林是一種基于隨機(jī)森林的深度學(xué)習(xí)算法,目前已經(jīng)應(yīng)用于癌癥基因組圖譜(TCGA)分類[4]、流量分類[5]、文本分類[6]、森林樹種分類[7]等定性分析研究領(lǐng)域,其特有的多粒度掃描階段可以更全面地掃描輸入的特征,更大程度地獲取特征信息,保障模型獲取更高的準(zhǔn)確度,同時(shí)該算法相較其他機(jī)器學(xué)習(xí)算法,因參數(shù)少所以調(diào)參簡單,同時(shí)構(gòu)建的模型魯棒性也很好,因此在多個(gè)領(lǐng)域的分類問題均取得不錯(cuò)的效果[8]。本文嘗試用近紅外光譜分析技術(shù)結(jié)合深度森林算法鑒定甘肅不同產(chǎn)地的秦艽樣品,再將此方法在秦艽樣本數(shù)據(jù)集上的預(yù)測結(jié)果與XGBoost(極限梯度提升算法,eXtreme Gradient Boosting)、LightGBM(輕量梯度提升算法,Light Gradient Boosting Machine)、RF(隨機(jī)森林,Random Forest)3種算法進(jìn)行對比,驗(yàn)證方法的有效性。
深度森林(Deep forest,DF)是2017年Zhou等在深度學(xué)習(xí)領(lǐng)域提出的一種不同于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)思想的算法探索[9]。深度森林不同于深度神經(jīng)網(wǎng)絡(luò)由可微的神經(jīng)元組成,深度森林的基礎(chǔ)構(gòu)件是不可微的決策樹,其訓(xùn)練過程不基于BP(Back Propagation)算法,甚至不依賴于梯度計(jì)算。它初步驗(yàn)證了關(guān)于深度學(xué)習(xí)奏效原因的猜想,即只要能夠做到逐層加工處理、內(nèi)置特征變換、模型復(fù)雜度,就能構(gòu)建出有效的深度學(xué)習(xí)模型,并非必須使用深度神經(jīng)網(wǎng)絡(luò)。
受深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的啟發(fā),Zhou提出通過對輸入的數(shù)據(jù)特征進(jìn)行多粒度掃描來更有效地挖掘特征間的聯(lián)系,進(jìn)而增強(qiáng)級聯(lián)森林。多粒度掃描參考卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用了一個(gè)滑動窗口來掃描原始特征,窗口在原始特征向量上滑動,從相同大小的窗口提取的實(shí)例將用于訓(xùn)練完全隨機(jī)樹森林(CompletelyRandom Tree Forests)模型和隨機(jī)森林(Random Forests)模型,然后生成類向量并連接為轉(zhuǎn)換后的類概率向量,最后將不同模型輸出的類概率向量進(jìn)行拼接,最終生成轉(zhuǎn)換特征向量,作為級聯(lián)森林的輸入向量。
級聯(lián)森林階段是深度森林學(xué)習(xí)樣本數(shù)據(jù)特征的內(nèi)在聯(lián)系規(guī)律和表示層次的過程。級聯(lián)森林階段首先分別將多粒度掃描階段得到的數(shù)據(jù)輸入到級聯(lián)隨機(jī)森林中,之后將經(jīng)過不同的森林模型處理后得到類向量與原先的轉(zhuǎn)換特征向量進(jìn)行拼接后輸出,最后通過對最后一層生成的類向量進(jìn)行回歸取平均值作為模型的最終預(yù)測結(jié)果。整個(gè)多粒度級聯(lián)森林即深度森林的層數(shù)是自適應(yīng)調(diào)節(jié)的,只要經(jīng)過交叉驗(yàn)證的驗(yàn)證準(zhǔn)確率相比于前一層沒有提升,那么級聯(lián)森林的構(gòu)造就此停止。
在評價(jià)一個(gè)定性分析模型優(yōu)劣的時(shí)候,我們通常選擇借助評價(jià)指標(biāo)來反映模型的精度和泛化能力,常用的評價(jià)指標(biāo)有準(zhǔn)確率(Accuracy)、召回率(Recall)、F-Score、由受試者工作特征曲線(Receiver Operating Characteristic,ROC)得到的AUC(Arear Under Curve)分?jǐn)?shù)等。本文中選取準(zhǔn)確率(Accuracy)、召回率(Recall)的調(diào)和指標(biāo)F-Score和AUC分?jǐn)?shù)作為模型評價(jià)指標(biāo)。
采集自甘肅臨洮和瑪曲兩個(gè)產(chǎn)地的秦艽,藥品樣本由甘肅中醫(yī)藥大學(xué)藥學(xué)院中藥資源教研室鑒定,確定為龍膽科Gentiana scabra Bunge、龍膽屬Gentiana(Tourn.)L植物秦艽Gentiana macrophylla。
將采集到的秦艽藥材樣品干燥粉碎,過5號篩,壓片前放入干燥器中放置48h。每份樣品取10g左右,混合均勻后壓平放入石英樣品杯中,通過近紅外光譜儀采集光譜圖,秦艽樣本數(shù)據(jù)原始光譜圖如圖1所示。
圖1 秦艽原始近紅外光譜圖
在采集到的207個(gè)秦艽樣本中,其中107個(gè)來自于甘肅瑪曲縣,100個(gè)來自于甘肅臨洮縣。測得的近紅外光譜數(shù)據(jù)波長范圍為4000~10000-1cm,每個(gè)樣本包含1557個(gè)光譜波數(shù)變量。測得實(shí)驗(yàn)所需的樣本數(shù)據(jù)后首先利用標(biāo)準(zhǔn)正態(tài)變化(Standard Normal Variate,SNV)等預(yù)處理方法對數(shù)據(jù)進(jìn)行預(yù)處理,之后將數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集、測試集兩類,利用訓(xùn)練集數(shù)據(jù)訓(xùn)練模型進(jìn)行調(diào)參,確定模型中的未知參數(shù),利用測試集對模型進(jìn)行性能評估。
首先,將秦艽樣本訓(xùn)練集數(shù)據(jù)代入到深度森林模型中進(jìn)行訓(xùn)練。在多粒度掃描階段,對特征進(jìn)行掃描提取的滑動窗口個(gè)數(shù)設(shè)置為3,窗口長度分別設(shè)置為1、2、3,滑動步長為1,森林模型采用普通隨機(jī)森林和完全隨機(jī)森林兩種森林模型。在級聯(lián)森林階段采用多層級結(jié)構(gòu),每層由4個(gè)隨機(jī)森林組成,2個(gè)隨機(jī)森林模型和2個(gè)完全隨機(jī)森林模型,森林模型樹的數(shù)量和深度、層數(shù)設(shè)置與多粒度掃描階段相同,只要構(gòu)造當(dāng)前層時(shí),經(jīng)過交叉驗(yàn)證的模型準(zhǔn)確率相比于前一層沒有提升,那么停止構(gòu)造級聯(lián)森林。
為了對深度森林定性分析模型進(jìn)行綜合的評價(jià),本文利用準(zhǔn)確率(Accuracy)、召回率(Recall)的調(diào)和指標(biāo)FLScore和AUC分?jǐn)?shù)對模型進(jìn)行性能評估的同時(shí)建立了XGBoost分類預(yù)測模型、隨機(jī)森林分類預(yù)測模型和Lightgbm分類預(yù)測模型,3種模型與深度森林的樣本劃分方法相同。深度森林主要的參數(shù)有決策樹最大深度、每個(gè)森林模型中的決策樹個(gè)數(shù)、級聯(lián)森林級數(shù),其中級聯(lián)森林級數(shù)可以通過深度森林算法自行確定,這里對決策樹最大深度和決策樹個(gè)數(shù)進(jìn)行調(diào)參。根據(jù)調(diào)參結(jié)果,當(dāng)森林深度為4,每個(gè)森林模型決策樹個(gè)數(shù)為200時(shí),深度森林在數(shù)據(jù)集上的準(zhǔn)確率Acc最高。此時(shí)從4個(gè)預(yù)測模型在數(shù)據(jù)集上的評價(jià)指標(biāo)F-Score來看,Xgboost分類模型為0.943,隨機(jī)森林分類模型和Lightgbm分類模型均為0.963,深度森林分類模型則為0.982,F(xiàn)-Score作為準(zhǔn)確率(Accuracy)和召回率(Recall)的調(diào)和指標(biāo),深度森林模型有著最高的F-Score,說明深度森林分類模型是3個(gè)模型中性能最好的模型。圖2為兩個(gè)產(chǎn)地秦艽測試集樣本預(yù)測結(jié)果的ROC曲線圖,AUC是ROC曲線與橫軸構(gòu)成的面積。AUC越大,模型效果越好。從圖2可以看出,所建立的基于深度森林的秦艽分類模型效果很好,能夠?qū)蓚€(gè)產(chǎn)地的秦艽實(shí)現(xiàn)有效區(qū)分,由此可以看出,深度森林算法是一種有效的秦艽樣本分類鑒別方法,將近紅外光譜與深度森林算法結(jié)合鑒定不同產(chǎn)地秦艽是可行的。
圖2 不同分類模型的ROC曲線圖
建立了基于深度森林算法的甘肅不同產(chǎn)地秦艽樣本的分類鑒別方法,預(yù)測結(jié)果表明深度森林算法建立的分類鑒定模型對秦艽測試集樣本的鑒定正確率為93%,模型評價(jià)指標(biāo)F-Score可達(dá)0.982,AUC可達(dá)0.993。綜合分析四項(xiàng)模型評價(jià)指標(biāo)可知,與傳統(tǒng)的Xgboost、隨機(jī)森林和Lightgbm等機(jī)器學(xué)習(xí)算法相比,深度森林算法能夠更全面地提取特征信息,同時(shí)預(yù)測結(jié)果更準(zhǔn)確,由此可以表明近紅外光譜分析技術(shù)與深度森林算法結(jié)合能夠有效鑒定甘肅不同產(chǎn)地的秦艽樣品,方法測試便捷效率高、儀器成本低,該方法能夠?yàn)槠渌参镱愔兴幍亩ㄐ苑治龉ぷ魈峁┮欢ǖ膮⒖肌?/p>