蔣 萍,路皓翔, 劉振丙*
1. 廣西警察學(xué)院信息技術(shù)學(xué)院,廣西 南寧 530028 2. 桂林電子科技大學(xué)計算機(jī)與信息安全學(xué)院,廣西 桂林 541004
近紅外光譜分析技術(shù)具有對檢測樣品零污染、 檢測速度快等突出優(yōu)點,其結(jié)合化學(xué)計量學(xué)和機(jī)器學(xué)習(xí)廣泛應(yīng)用在石油化工[1]、 疾病診斷[2-3]、 農(nóng)副產(chǎn)品質(zhì)量檢測[4]等領(lǐng)域。 藥品質(zhì)量的有效監(jiān)督對于維系國計民生至關(guān)重要,引起了全球各國政府的關(guān)注,我國也專門成立了國家食品藥品監(jiān)督管理總局對藥品質(zhì)量進(jìn)行監(jiān)督[5]。 然而傳統(tǒng)的藥品鑒別模型較為復(fù)雜、 精度較低且運行時間較長不能滿足實際的需要,因此構(gòu)建快捷、 準(zhǔn)確的藥品鑒別模型是一項極為重要的工作。
近紅外光譜分析技術(shù)依據(jù)構(gòu)成樣品的不同成分對于近紅外光譜的吸收性不同實現(xiàn)樣品屬性及質(zhì)量的檢測,機(jī)器學(xué)習(xí)可對高維數(shù)據(jù)進(jìn)行處理挖掘出最能表征樣本屬性的特征[6-8],國內(nèi)外學(xué)者嘗試將機(jī)器學(xué)習(xí)和近紅外光譜分析技術(shù)相結(jié)合起來應(yīng)用于藥品質(zhì)量檢測[9,11]。 有研究采用小波變換對藥品光譜數(shù)據(jù)進(jìn)行處理,通過稀疏降噪自編碼提取藥品光譜數(shù)據(jù)深層特征并由持向量機(jī)(support vector machine,SVM)進(jìn)行藥品類比鑒別。 周穎[12]等通過構(gòu)建女貞子的近紅外光譜快速檢測模型,實現(xiàn)了真假女貞子及其產(chǎn)地的準(zhǔn)確鑒別。 Rodionova[13]等建立了一種數(shù)據(jù)收集、 模型構(gòu)建和模型校驗的研究過程,能夠有效區(qū)分假冒藥品和真實藥品。 Sampaio[14]等利用偏最小二乘判別分析(partial least squares discriminant analysis, PLS-DA)和SVM對米粉的光譜數(shù)據(jù)進(jìn)行分析,有效解決了米粉制造商的準(zhǔn)確區(qū)分。 然而,由于樣品的近紅外光譜維度較高且存在嚴(yán)重的譜區(qū)重疊問題,無疑會對模型的鑒別性能產(chǎn)生較大的影響[15-16],因此篩選出有效的、 最能表征樣品特征屬性的波長或波長范圍對于構(gòu)建有效且可靠的近紅外光譜分析模型具有重要意義。 陳文麗[17]等采用最小角回歸算法篩選柑橘葉片的近紅外光譜有效波長,并利用極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)對篩選的有效波長進(jìn)行分析實現(xiàn)柑橘葉片是否帶有黃龍病的檢測。 沈東旭[18]等通過在神經(jīng)網(wǎng)絡(luò)的約束損失函數(shù)進(jìn)行光譜數(shù)據(jù)中有效數(shù)據(jù)的篩選,提高了血液鑒別模型的性能。 Chen[19]等研究了基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)的特征波長選擇方法,研究發(fā)現(xiàn)CNN的參數(shù)對其性能產(chǎn)生較大的影響。 雖然利用篩選出來的樣品特征波長用于構(gòu)建近紅外光譜分析模型可以有效改善其性能,但是在藥品鑒別領(lǐng)域的報道仍較少。
本研究將無損、 檢測快速的近紅外光譜分析技術(shù)與機(jī)器學(xué)習(xí)方法相結(jié)合用于藥品的準(zhǔn)確鑒別。 為減少光譜數(shù)據(jù)譜區(qū)重疊及無關(guān)變量對藥品鑒別模型性能的影響,結(jié)合隨機(jī)森林(random forest, RF)和CatBoost提出了一種新的近紅外光譜藥品鑒別方法。 首先采用隨機(jī)森林篩選出藥品近紅外光譜數(shù)據(jù)中最能表征樣品特征的波長,再利用CatBoost對篩選出來的樣品特征波長進(jìn)行分析實現(xiàn)不同廠商藥品的分類鑒別; 以藥品的近紅外光譜數(shù)據(jù)為實例評價該方法的有效性,并與同類方法進(jìn)行實驗對比。 本研究主要特點:
(1)將隨機(jī)森林算法用于篩選最能表征樣品屬性的特征波長點,可有效剔除樣品近紅外光譜中無關(guān)變量對模型性能的影響;
(2)為確保模型具有較高的預(yù)測精度,采用決策樹作為CatBoost中的弱分類器保證模型的預(yù)測精度更高、 魯棒性更強(qiáng)。
RF是一種結(jié)合決策樹和特征選擇的集成學(xué)習(xí)方法,解決了傳統(tǒng)決策樹分類規(guī)則復(fù)雜易陷入局部最優(yōu)解的問題,常用于特征變量選擇、 分類及異常點檢測等[20]。 CatBoost[21-22]以對稱決策樹為弱分類器,將樣本特征組合在一起便于充分利用樣本特征間的信息且豐富了樣本的特征; 此外,為了降低樣品數(shù)據(jù)中噪聲對模型性能的影響,采用排序提升的方法對數(shù)據(jù)進(jìn)行處理,能夠解決模型過擬合的問題,提升其準(zhǔn)確性及泛化能力。 結(jié)合隨機(jī)森林較優(yōu)的特征選擇能力和CatBoost較強(qiáng)的分類能力提出了一種新的藥品鑒別模型——RF-CatBoost,其模型結(jié)構(gòu)如圖1所示。
圖1 RF-CatBoost的結(jié)構(gòu)Fig.1 The structure of RF-CatBoost
鑒別模型主要分為兩個部分: RF特征波長選擇和CatBoost分類決策,即首先采用RF對經(jīng)過預(yù)處理后藥品近紅外光譜數(shù)據(jù)的特征波長進(jìn)行篩選,然后將篩選出來的樣品波長送入CatBoost中對樣品類別進(jìn)行決策。 若樣品的原始集合為D,其中N為樣品總數(shù),Xi表示第i個樣品的特征波長集合,yi表示第i個樣品的類別屬性,則RF-CatBoost實現(xiàn)類別確定的詳細(xì)過程如下:
Stage Ⅰ: 波長選擇
袋外誤差是袋外數(shù)據(jù)真實值與預(yù)測值之差,袋外誤差總和是所有袋外總據(jù)誤差總和。
首先,從樣品總數(shù)N中有放回Bootstrap采樣n次構(gòu)成子集B1,B2,…,Bj,見式(1)
Bj=Bootstrap(D{(Xi,Yi),i=1, …,N})
(1)
采用Bj對隨機(jī)森林中的決策樹進(jìn)行訓(xùn)練并計算Bj對應(yīng)的袋外數(shù)據(jù)OOBj預(yù)測結(jié)果的誤差,
errOOBj=errr{Test[OOBj,model(Bj)]}
(2)
則n個子集的袋外誤差總和errOOBjT1為
(3)
(4)
并計算兩個袋外誤差的均值errM[見式(5)],差值越大說明特征變量Sm越重要。
(5)
重復(fù)以上操作計算出所有特征變量的errM,并按照errM從小到達(dá)的順序排列將最重要的前n個特征變量作為第i個樣本Xi的特征集合Xi={s1,s2,…,sn},輸入CatBoost進(jìn)行分類決策。
Stage Ⅱ: 類別決策
(6)
(7)
為了對訓(xùn)練集樣本的類別進(jìn)行確認(rèn),采用RF對其特征波長進(jìn)行選擇,由式(7)對依據(jù)其選擇的特征波長進(jìn)行類別的確定。
為保證RF-CatBoost在進(jìn)行藥品鑒別時具有較高的訓(xùn)練精度,需對模型中的參數(shù)進(jìn)行確定。 首先對實驗室數(shù)據(jù)、 數(shù)據(jù)預(yù)處理及數(shù)據(jù)集劃分進(jìn)行簡要概述,然后對RF-CatBoost中決策樹數(shù)目做確定,最后給出RF-CatBoost模型建立的過程。
實驗以湖南方盛制藥、 江蘇正大、 山東魯抗和山東羅欣生產(chǎn)的鋁塑和非鋁塑兩種包裝方式的頭孢克肟片光譜數(shù)據(jù)為例。 該光譜數(shù)據(jù)由中國食品藥品檢定所提供,采用Bruker Matrix光譜儀采集,光譜儀的采樣間隔設(shè)定為4 cm-1,采樣范圍為4 196~9 002 cm-1,每個樣本的吸光點為2 074個。 實驗中頭孢克肟片近紅外光譜數(shù)據(jù)如表1所示。
表1 頭孢克肟片近紅外光譜數(shù)據(jù)信息Table 1 Near infrared spectral data of cefixime tablets
四個廠商生產(chǎn)的鋁塑和非鋁塑包裝方式頭孢克肟片的光譜共414條,這些光譜間存在明顯的重疊且包含噪聲,影響了樣品光譜信息的解析。 為了消除樣品光譜間的重疊、 提高樣品光譜間的辨識度,采用對樣品的光譜數(shù)據(jù)依次進(jìn)行平滑化、 歸一化處理消除光譜數(shù)據(jù)中的背景干擾,消除光程差異帶來的光譜變化。 經(jīng)過預(yù)處理后的頭孢克肟片光譜信息如圖2所示。 多階段預(yù)處理增加了樣品光譜數(shù)據(jù)間的辨識,提高藥品鑒別模型的準(zhǔn)確度。
數(shù)據(jù)白化是指將數(shù)據(jù)的協(xié)方差矩陣進(jìn)行單位化處理,保證數(shù)據(jù)的方差一致且特征間相互獨立。 其詳細(xì)過程如下:
首先,構(gòu)建預(yù)處理后光譜數(shù)據(jù)x的協(xié)方差矩陣,見式(8)
Σ=E(xxT)
(8)
若光譜數(shù)據(jù)x的變量相關(guān),則其Σ為非對角矩陣。
將協(xié)方差矩陣Σ對角化,見式(9)
ΦTΣΦ=Λ
(9)
式(9)中,Λ為對角矩陣,其對角元素由協(xié)方差矩陣Σ的特征值組成。Φ為特征值對應(yīng)的特征向量。 對x進(jìn)行解相關(guān),見式(10)
y=ΦTx
(10)
y為解除相關(guān)后的數(shù)據(jù),其協(xié)方差矩陣E(yyT)為對角矩陣。
最后,將光譜數(shù)據(jù)與對角矩陣相乘即可得到白化后的數(shù)據(jù)w,見式(11)
w=Λ1/2y=Λ1/2ΦTx
(11)
采用單位化處理后的協(xié)方差矩陣構(gòu)建模型有利于提高模型鑒別能力,故而對經(jīng)過預(yù)處理后的藥品光譜數(shù)據(jù)進(jìn)行白化處理,并將藥品光譜數(shù)據(jù)協(xié)方差矩陣的對角元素按照“從大到小”原則排列,其值越小包含的有效信息越少,顏色越接近深藍(lán)色。 白化處理前后藥品光譜數(shù)據(jù)的協(xié)方差矩陣如圖3所
圖2 預(yù)處理后頭孢克肟片的近紅外光譜Fig.2 NIR spectra of pretreated cefixime tablets
圖3 白化處理前(a)和白化處理后(b)藥品 近紅外光譜數(shù)據(jù)的協(xié)方差矩陣Fig.3 Covariance matrix of drug NIR data before (a)and after (b) pretreatment
示。 從圖3(a,b)可看出,預(yù)處理前藥品光譜協(xié)方差矩陣的前三個分量大于其他分量,說明樣品等光譜信息主要集中在前三個分量; 預(yù)處理后藥品光譜協(xié)方差矩陣對角線所占面積縮小,說明更多的藥品光譜信息顯示出來。
本實驗中將非鋁塑包裝方式的頭孢克肟片光譜數(shù)據(jù)記為A組、 鋁塑包裝方式的頭孢克肟片光譜數(shù)據(jù)記為B組。 其中A組和B組中均將江蘇正大生產(chǎn)的頭孢克肟片的光譜數(shù)據(jù)作為正類樣本,其他廠商生產(chǎn)的頭孢克肟片的光譜數(shù)據(jù)作為負(fù)類樣本,按照表2構(gòu)建出不同規(guī)模的訓(xùn)練集集進(jìn)行實驗,驗證各模型在不同規(guī)模訓(xùn)練集中的性能。
表2 A和B組中不同數(shù)量訓(xùn)練集配置表Table 3 Configuration table of different number oftraining sets in group A and B
CatBoost中決策樹數(shù)目較多則會增加其運行時間,決策樹數(shù)目較少則會降低其鑒別精度。 因此在建立RF-CatBoost鑒別模型時需確定CatBoost中決策樹數(shù)目。 圖4(a,b)分別為CatBoost模型在不同規(guī)模訓(xùn)練集、 不同決策樹數(shù)目下兩種包裝形式的頭孢克肟片光譜數(shù)據(jù)的分類精度。 從圖中可看出,CatBoost中決策樹的數(shù)目在200~300間時,其在兩種包裝形式的不同規(guī)模頭孢克肟片光譜訓(xùn)練集的分類精度較高。 當(dāng)決策樹的數(shù)目超過300時,隨著決策樹數(shù)目的增加CatBoost模型的分類精度反而降低。 據(jù)此分類,本次在構(gòu)建RF-CatBoost藥品鑒別模型時將CatBoost中的決策樹數(shù)目設(shè)定為250。
基于RF-CatBoost的藥品鑒別模型編程采用MATLAB 2014A實現(xiàn),其中RF的源代碼使用的是Abhishek Jaiantilal開源的工具箱(https://code.google.com/p/randomforst-matlab/)。 RF-CatBoost模型的性能評估實驗運行在Intel(R) Core(TM) i5-2450M CPU的計算機(jī)上,系統(tǒng)版本是Windows 10專業(yè)版,其詳細(xì)過程如下:
圖4 CatBoost中不同決策樹數(shù)目在A組(a)和B組(b) 不同規(guī)模數(shù)據(jù)集上的分類精度Fig.4 Classification accuracy of different decision tree numbers in Catboost on datasets of different sizes in group A (a) and group B (b)
(1)數(shù)據(jù)預(yù)處理
由于藥品的光譜數(shù)據(jù)中存在重疊且包含噪聲,故采用多階段預(yù)處理的方式對藥品的光譜數(shù)據(jù)進(jìn)行處理。 為了提高模型性能,對經(jīng)過多階段預(yù)處理后的樣品光譜數(shù)據(jù)協(xié)方差矩陣進(jìn)行白化處理。
(2)特征篩選
采用隨機(jī)森林篩選出預(yù)處理后藥品光譜數(shù)據(jù)中最能表征其屬性的特征波長,用于訓(xùn)練CatBoost分類決策模型。
(3)分類決策
按照表2劃分出不同規(guī)模的訓(xùn)練集,并將篩選出的藥品特征波長輸入CatBoost中進(jìn)行模型的訓(xùn)練。 將測試數(shù)據(jù)輸入訓(xùn)練好的CatBoost模型中進(jìn)行藥品類別的確定。
(4)對比分析
以CatBoost、 ELM、 SVM、 反向傳播網(wǎng)絡(luò)(back propagation,BP)、 波形疊加極限學(xué)習(xí)機(jī)(summation wavelet extreme learning machine, SWELM)、 Boosting作為對比方法驗證該方法在運行時間、 分類精度以及穩(wěn)定性方面的表現(xiàn)。 其中CatBoost中決策樹的數(shù)目選擇為250; SWELM和ELM網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)成均為2074-Train_num*0.4-400-2,均選用Sigmoid作為網(wǎng)絡(luò)的激活函數(shù),迭代次數(shù)設(shè)定為50次,設(shè)定兩層的學(xué)習(xí)率均為0.03; SVM的核函數(shù)選擇為線性函數(shù),且設(shè)定C=1,gamma=0.3; BP的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置為2074-800-400-2,選用Sigmoid作為網(wǎng)絡(luò)的激活函數(shù),迭代次數(shù)設(shè)定為50次,設(shè)定網(wǎng)絡(luò)學(xué)習(xí)率為3%。
為評估RF-CatBoost在不同規(guī)模訓(xùn)練集中的表現(xiàn),每個規(guī)模的訓(xùn)練集按照表2中正樣本和負(fù)樣本的數(shù)目隨機(jī)抽取10次進(jìn)行實驗并與CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting模型對比,將各模型在每個規(guī)模訓(xùn)練集上10次運行時間、 分類精度及預(yù)測標(biāo)準(zhǔn)偏差的均值作為各模型的最終性能指標(biāo)值。
(1)分類精度
分類精度是對RF-CatBoost、 CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting模型藥品鑒別結(jié)果可靠性的衡量,分類精度越高說明藥品鑒別模型的可靠性越高。 各藥品鑒別模型在不同規(guī)模訓(xùn)練集A和B上的分類精度如表3所示。 從表3可看出隨著,在A和B兩組數(shù)據(jù)集中各模型的性能隨著訓(xùn)練集樣本的增加均逐漸增加,當(dāng)A組中訓(xùn)練集增強(qiáng)到120后RF-CatBoost藥品鑒別模型的分類精度均達(dá)到100%; 當(dāng)B組訓(xùn)練集增加到130后,RF-CatBoost藥品鑒別模型的分類精度均達(dá)到100%。 其中在各組數(shù)據(jù)集中,與CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting相比,無論訓(xùn)練集規(guī)模大小RF-CatBoost的分類精度均最高,CatBoost和Boosting次之。 分析認(rèn)為集成學(xué)習(xí)能夠?qū)⑷醴诸惼骷稍谝黄饛亩岣吒魅醴诸惼髂P偷姆蔷€性分析能力; 與CatBoost相比,RF-CatBoost分類精度較高,主要因RF能夠?qū)悠饭庾V數(shù)據(jù)中無效特征波長剔除從而篩選出最具樣品屬性特征的波長。 此外CatBoost較Boosting分類精度更高,主要由于CatBoost利用對稱樹將類別特征組合在一起,豐富了各類別的特征維度。 BP分類精度最差,說明其非線性建模能力較差。 ELM和SWELM表現(xiàn)出了相當(dāng)?shù)姆诸惥惹冶萐VM低,說明核函數(shù)幾乎對ELM模型鑒別能力沒有影響但其非線性建模比SVM差。
(2)運行時間
運行時間是對藥品鑒別模型工作效率的重要衡量指標(biāo),運行時間越短說明藥品鑒別模型的效率越高。 表4給出了RF-CatBoost、 CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting在不同規(guī)模的A、 B兩組數(shù)據(jù)集上的運行時間。
表3 各模型在不同規(guī)模的A和B兩組數(shù)據(jù)集上的分類精度(%)Table 3 Classification accuracy of each model on different sizes data sets in group A and B (%)
表4 各模型在不同規(guī)模的A、 B兩組數(shù)據(jù)集上的運行時間(s)Table 4 Runningtime of each model on different sizes data sets in group A and group B (s)
續(xù)表4
由表4中可看出,RF-CatBoost、 CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting隨著訓(xùn)練樣本數(shù)目的增加運行時間均逐步增加,且不論訓(xùn)練集樣本的大小,BP的運行時間最長,RF-CatBoost、 CatBoost和Boosting的運行時間次之,ELM、 SVM和SWELM的運行時間最短。 分析認(rèn)為由于BP神經(jīng)網(wǎng)絡(luò)采用多次循環(huán)迭代求解網(wǎng)絡(luò)的最優(yōu)參數(shù)實現(xiàn)網(wǎng)絡(luò)的訓(xùn)練,因此延長了其運行時間; 由于集成學(xué)習(xí)需要訓(xùn)練多個弱分類器實現(xiàn)最終網(wǎng)絡(luò)的訓(xùn)練,所以造成RF-CatBoost、 CatBoost和Boosting的運行時間比ELM、 SVM和SWELM的運行時間長。 此外,由于ELM和SWELM為只含有一個隱含層的網(wǎng)絡(luò)且無需多次迭代尋優(yōu),故而縮短了網(wǎng)絡(luò)的運行時間。
(3)模型穩(wěn)定性
為了保證藥品鑒別模型具有較強(qiáng)的應(yīng)用穩(wěn)定性,采用預(yù)測標(biāo)準(zhǔn)偏差(standard deviation,STD)對RF-CatBoost、 CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting的穩(wěn)定性進(jìn)行評估。 各模型在A、 B兩組不同規(guī)模訓(xùn)練集上的STD如圖5所示。
由圖5(a,b)中可看出,與ELM、 SVM、 BP、 SWELM相比,在A、 B兩組不同規(guī)模訓(xùn)練集上無論訓(xùn)練集樣本數(shù)目如何,RF-CatBoost、 CatBoost和Boosting均表現(xiàn)出了較低的STD且RF-CatBoost最低、 CatBoost次之、 Boosting最差。 結(jié)果表明集成學(xué)習(xí)方法有利于提高決策樹的穩(wěn)定性,且在RF-CatBoost、 CatBoost和Boosting這3個集成學(xué)習(xí)算法中RF-CatBoost的穩(wěn)定性最強(qiáng)、 Boosting的穩(wěn)定性最差。 BP比ELM、 SVM和SWELM的STD較強(qiáng),說明BP的穩(wěn)定性較對比方法較差; 與ELM相比,SWELM在不同規(guī)模訓(xùn)練集上均表現(xiàn)出了較低的STD,說明核函數(shù)對于ELM的穩(wěn)定性會產(chǎn)生影響。
采用近紅外光譜分析技術(shù)實現(xiàn)了藥品光譜信息的無損采集; 采用多階段預(yù)處理和白化處理消除了藥品光譜數(shù)據(jù)中存在噪聲和基線漂移等; 采用隨機(jī)森林能夠準(zhǔn)確地篩選出最能表征樣品屬性的特征波長并采用篩選的特征送入CatBoost
圖5 各模型在A組(a)和B組(b)不同規(guī)模 訓(xùn)練集上的預(yù)測標(biāo)準(zhǔn)偏差Fig.5 Standard deviations of each model on different sizesdata sets in group A (a) and group B (b)
實現(xiàn)了藥品生產(chǎn)廠商的準(zhǔn)確鑒別。 以不同廠商生產(chǎn)的鋁塑和非鋁塑包裝形式藥品的光譜數(shù)據(jù)為例,構(gòu)建了不同規(guī)模的訓(xùn)練集對RF-CatBoost的性能進(jìn)行評估,并與CatBoost、 ELM、 SVM、 BP、 SWELM和Boosting模型進(jìn)行對比,其中RF-CatBoost模型的分類精度最高達(dá)100%且預(yù)測標(biāo)準(zhǔn)偏差趨于0。 結(jié)果表明RF-CatBoost在不同規(guī)模訓(xùn)練集上均表現(xiàn)出了最優(yōu)的鑒別性能,可用于藥品生產(chǎn)廠商的鑒別。