沈東旭,洪明堅,董家林
重慶大學(xué)大數(shù)據(jù)與軟件學(xué)院,重慶 401331
血液中包含了大量的遺傳信息和基因信息,在出入境的檢驗檢疫、刑偵以及動物保護等領(lǐng)域常常需要對未知的血液樣本進行物種鑒別,所以對于血液鑒別的研究有非常重要的意義。傳統(tǒng)的血液鑒別方法包括沉淀反應(yīng)、凝聚反應(yīng)、酶免疫分析、等電聚焦、高效液相色譜儀等[1]。這些技術(shù)都存在分析周期長、對血液樣品會造成損害等缺點,但是許多領(lǐng)域要求在檢測過程中盡可能的保證樣品的完整,尤其是刑事偵測方面,需要利用有限的樣品做進一步的分析。
拉曼光譜分析法是通過對與入射光頻率不同的散射光譜進行分析以得到分子振動、轉(zhuǎn)動方面的信息,進而得到物質(zhì)的組成成分,它具有零污染、非接觸等特點,為血液的無損鑒別提供了可能。到目前為止,已經(jīng)有大量實驗證明利用拉曼光譜能夠區(qū)分不同物種的血液[2]。
在拉曼光譜中,光譜信息和預(yù)測成分之間在某些波段不存在特定的相關(guān)關(guān)系,除此之外,各個波長點之間也存在嚴(yán)重的多重共線性[3]。如果采用全光譜數(shù)據(jù)進行建模,不僅會增加校正模型的復(fù)雜性,而且其中一些噪聲變量還會降低模型的預(yù)測能力。文獻[4-9]中提到利用選定的波長點或波長區(qū)間而不是全光譜數(shù)據(jù)進行建模可以有效的提高校正模型的性能。因此,研究波長選擇算法對于簡化校正模型和提高校正模型的性能具有重要的實際意義。
現(xiàn)有的波長選擇方法大致可以分為三類。第一類是利用與校正模型相關(guān)的統(tǒng)計信息對波長點或波長區(qū)間進行評估,一般是對各個波長點或波長區(qū)間逐一考察,決定該剔除哪一些波長點或波長區(qū)間,典型方法有區(qū)間偏最小二乘法(IPLS)[5]、移動窗口偏最小二乘法(MWPLS)[6]、SVP(stability and variable permutation)[7]等。第二類是根據(jù)各個波長點的回歸系數(shù)、協(xié)相關(guān)系數(shù)等一些指標(biāo)進行排序,然后選擇剔除靠后的那些波長點,例如偏最小二乘無信息剔除法(UVE-PLS)[8]、競爭自適應(yīng)重加權(quán)抽樣法(CARS)[4]和變量置換總體分析法[9]等。第三類是將波長選擇看作全局優(yōu)化問題,利用智能優(yōu)化算法對波長點進行選擇,遺傳算法(GA)、粒子群優(yōu)化算法(PSO)、模擬退火算法(SA)等算法均屬于此類。
本文提出了一種基于神經(jīng)網(wǎng)絡(luò)的拉曼光譜波長選擇方法。該方法利用神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力,自適應(yīng)得到各個波長點對校正模型的貢獻權(quán)重,然后將權(quán)重的均值作為閾值,去掉權(quán)重低于閾值的波長點,從而達到波長選擇的目的。利用該方法對人與動物血清的拉曼光譜進行波長選擇,將波長選擇后的光譜進行分類實驗,取得了較好的實驗結(jié)果。
拉曼光譜中包含大量與建模無關(guān)的波長點,本文利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到各個波長點對校正模型的貢獻權(quán)重,通過學(xué)得的權(quán)重篩選出與校正模型相關(guān)的波長點用于建模,有效的提升了校正模型的性能。波長選擇網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示,為了方便描述,將這個網(wǎng)絡(luò)結(jié)構(gòu)命名為WSNet(wavelength selection network)。WSNet分為波長選擇和校正模型兩個部分,波長選擇模塊(紅色虛線框中的結(jié)構(gòu))由FC1層和FC2層兩個全連接層構(gòu)成,校正模型由FC3層、FC4層兩個全連接層和輸出層(OUTPUT層)構(gòu)成。
FC1層的作用是對輸入的光譜數(shù)據(jù)進行降維,以防止誤差反向傳播時波長選擇模塊的網(wǎng)絡(luò)結(jié)構(gòu)梯度更新過大。FC1層的變換過程可以表示為
(1)
WFC1為FC1層的權(quán)值矩陣,bFC1為FC1層的偏置向量,AFC1(·)為FC1層的激活函數(shù),保證權(quán)重大于零,xFC表示FC1層的輸出。FC1層的神經(jīng)元個數(shù)為C/r,C為輸入的波長點個數(shù),r(r>1)為降維倍數(shù)。
圖1 WSNet結(jié)構(gòu)圖Fig.1 WSNet structure chart
FC2層利用降維后的數(shù)據(jù)學(xué)習(xí)出各個波長點對建模的貢獻權(quán)重(s)
(2)
WFC為FC2層的權(quán)值矩陣,bFC2為FC2層的偏置向量,AFC2(·)為FC2層的激活函數(shù)。FC2層神經(jīng)元個數(shù)與輸入的波長點個數(shù)相同均為C。FC2層學(xué)習(xí)到的各個波長點的權(quán)重相差較小,不容易篩選。考慮到光譜中對建模有貢獻的波長點往往較少,因此對權(quán)重增加稀疏約束。因此構(gòu)造如下的損失函數(shù)J(s)
J(s)=Loss(·)+λ‖s‖1
(3)
Loss(·)是原損失函數(shù),λ是控制稀疏程度的參數(shù)。
WSNet網(wǎng)絡(luò)選擇具有以下優(yōu)點:
(1)對學(xué)得的波長點權(quán)重增加稀疏約束,更容易選擇與校正模型相關(guān)的波長點用于建模:通過網(wǎng)絡(luò)學(xué)習(xí)到的各個波長點的權(quán)重差異較小,不容易選取需要的波長點,而且在拉曼光譜中對建模有貢獻的波長點在全光譜中是稀疏的,因此對權(quán)重增加了稀疏約束,極大的減少了用于選擇的波長點,更容易確定篩選的閾值,選出與建模相關(guān)的波長點。
(2)波長選擇模塊計算權(quán)值的方式與注意力機制[10]的功能相吻合,能計算出各個波長點對校正模型的貢獻:注意力機制可以通過掃描全局獲取重點關(guān)注的目標(biāo)區(qū)域,在目標(biāo)區(qū)域投入更多的資源,獲取關(guān)注目標(biāo)的更多細節(jié)。波長選擇網(wǎng)絡(luò)利用注意力機制,能夠獲取到對模型有貢獻的波長點,能有效的提高模型的性能。
實驗選用人、比格犬、新西蘭兔三種動物的血清作為實驗樣本,其中包括采集于重慶市西南醫(yī)院的人血清樣本110例和采集于重慶市中藥研究院的動物血清樣本216例(其中犬116例、兔100例),共計326個樣本,人與動物血清樣本清單如表1所示。
表1 血清樣本清單Table 1 Serum sample list
采集的血清樣本均通過取沉淀后的血液樣本的上層清液獲得,采用乙二胺乙酸二鈉(EDTA)抗凝管盛放。每次實驗均采用移液管取2 μL血清樣本置于石英載玻片上,然后利用光譜儀進行測量,為了減少實驗誤差,每個樣本都要測量4次,取平均值作為最終測量值。
實驗儀器主要包括計算機、光譜儀、石英載玻片、移液管、抗凝管等。光譜儀是采用小型拉曼光譜儀海洋IDR-Micro-785,光譜的激發(fā)波長為785 mm,分辨率4 cm-1,掃描范圍為200~2 000 cm-1,激發(fā)功率為18.8 mW,曝光時間為5 s。
雖然人、犬、兔的血液中都包含了蛋白質(zhì)、葡萄糖、色氨酸和血紅素等物質(zhì)[10],使得這三種動物血清的拉曼光譜具有相似的譜峰(如圖2所示),但是不同物種的遺傳基因不同,導(dǎo)致了血清中的某些成分的濃度和化學(xué)特性是不同的[12], 使其在對應(yīng)的譜峰上存在微弱的差異, 可以利用這些差異對人和動物的血清進行區(qū)分。
圖2 測得的人、比格犬、新西蘭兔的拉曼光譜Fig.2 Raman spectra of human, beagle and New Zealand rabbit were measured
原始光譜在200~630 cm-1波段受石英載玻片的影響,在1 710 cm-1波段之后無明顯的波峰,所以實驗選擇了598~1 718 cm-1波段共800個波長點進行分析。從圖2 中可以看出樣本之間的光強差異很大,為了消除樣本之間的光強差異,每條光譜都除以該光譜中最大的值,將光強歸一化到0~1之間;然后利用移動平均平滑法去除光譜中的噪聲,滑動窗口大小為9。
波長選擇模塊中輸入的光譜樣本波長點個數(shù)C=800,降維倍數(shù)r=5,所以第一個全連接層(FC1層)的神經(jīng)元個數(shù)為160個,第二個全連接層(FC2層)的神經(jīng)元個數(shù)與輸入的波長點個數(shù)相同均為C=800,神經(jīng)網(wǎng)絡(luò)校正模型中的兩個全連接層(FC3和FC4層)的神經(jīng)元個數(shù)分別為300個和150個,OUTPUT層有兩個神經(jīng)元,為二分類。本實驗所采用的目標(biāo)函數(shù)是交叉熵,計算公式如式(4)
(4)
圖4 訓(xùn)練過程中的損失值和準(zhǔn)確率Fig.4 Loss value and accuracy during model training
(5)
式(5)中,sij第i個樣本的第j個波長點處的權(quán)重。
降維倍數(shù)r是網(wǎng)絡(luò)結(jié)構(gòu)中非常重要的一個參數(shù),r過大或過小都不能使校正模型達到最佳性能,如圖5所示,當(dāng)r=5時校正模型的分類準(zhǔn)確率最高,在r<5時,校正模型在校正集和測試集的的分類準(zhǔn)確率都較低;在r>5時,校正集上的分類準(zhǔn)確率基本不變,但是測試集上的分類準(zhǔn)確率略有下降,因此本文選取的降維倍數(shù)為5。
圖5 不同的降維倍數(shù)r在測試集和校正集上的分類準(zhǔn)確率Fig.5 Classification accuracy of different dimensionality reductions on test sets and calibration sets
在實驗的過程中,將326例光譜樣本按比例取出1/3(共計109例,37例人、39例犬、33例兔)作為測試集對校正模型的性能進行測試,余下的2/3(共計217例,73例人、77例犬、67例兔)作為校正集用于校正模型的訓(xùn)練。將利用WSNet得到的光譜與全光譜數(shù)據(jù)分別使用神經(jīng)網(wǎng)絡(luò)(neural network,NN)和PLS-DA建模進行對比,同時將WSNet與經(jīng)典的波長選擇算法UVE(uninformative variables elimination)進行對比,并使用分類準(zhǔn)確率、ROC曲線(receiver operating characteristic curve)和AUC(area under curve)對這些校正模型的性能進行評價。ROC曲線的橫坐標(biāo)為假正率(FPR),縱坐標(biāo)為真正率(TPR),TPR和FPR的計算公式如式(6)
(6)
式(6)中,TP為真正例,F(xiàn)P為假正例,F(xiàn)N為假反例,TN為真反例。ROC曲線所包圍的面積稱之為AUC,AUC的值越大,證明模型的分類精度越高。AUC的計算公式如式(7)
(7)
式(7)中,N為樣本的數(shù)量。
圖6(a)給出了WSNet學(xué)得的光譜權(quán)重,只有109個波長點的權(quán)重不為零。利用式(5)計算出一個閾值,將權(quán)重小于閾值的波長點也去掉。最終,WSNet選擇了42個波長點用于建模,如圖6(b)所示。
圖6(a) 光譜權(quán)重Fig.6(a) Spectral wavelength point weight
圖6(b) 拉曼光譜波長選擇前后譜線對比圖Fig.6(b) Raman spectrum wavelength selection before and after comparison chart
將波長選擇前后的光譜利用PLS-DA和NN進行建模,實驗結(jié)果表明,四種校正模型在校正集上都取得了非常好的效果,如表2所示,NN和WSNet-NN均未錯分,分類精度都達到了100%,PLS-DA和WSNet-PLS-DA分別錯分了2例和1例,分類精度也分別達到了99.539%和99.078%。在測試集上,WSNet-NN分類精度優(yōu)于其他三種模型,僅錯分了6例,分類精度最高為94.495%;PLS-DA錯分了10例,分類精度為90.826%;NN和WSNet-PLS-DA均錯分了8例,分類精度相同為92.661%。從上述的實驗結(jié)果可以看出,利用WSNet對光譜進行波長選擇有利于提升校正模型的性能。
表2 分類結(jié)果對比Table 2 Comparison of classification results
PLS-DA,WSNet-PLS-DA,NN和WSNet-NN在測試集上的ROC曲線如圖7所示。通過式(7)計算可以得到這四種校正模型的AUC值,PLS-DA和WSNet-PLS-DA的AUC值分別為0.976 0和0.932 8,NN和WSNet-NN的AUC值分別為0.985 0和0.970 3,從這四種校正模型的AUC值可以看出,利用波長選擇后的光譜進行建模能提升校正模型的性能,讓其具有更優(yōu)的鑒別能力。
圖7 PLS-DA和NN血液鑒別的ROC曲線Fig.7 ROC curve of PLS-DA and NN classification
分別使用WSNet和UVE對光譜進行波長選擇,如圖8所示,WSNet選擇的波長點個數(shù)遠少于UVE。在稀疏約束的作用之下,WSNet去掉了絕大部分的波長點,只選擇了42個波長點,而UVE卻選擇了486個波長點。將WSNet和UVE波長選擇后的光譜分別用于建立PLS-DA校正模型,分類結(jié)果如表3所示,WSNet-PLS-DA在校正集和測試集上的分類準(zhǔn)確率分別為99.078%和92.661%,UVE-PLS-DA在校正集和測試集上的分類準(zhǔn)確率分別為98.156%和91.743%。WSNet-PLS-DA在校正集和測試集的分類準(zhǔn)確率相比于UVE-PLS-DA都要高一些。
圖8 (a)Raman-WSNet波長選擇后的光譜;(b)UVE波長選擇后的光譜紅色部分是保留的波長點
表3 Raman-WSNet-PLS-DA和UVE-PLS-DA分類結(jié)果對比Table 3 Comparison of Raman-WSNet-PLS-DA and UVE-PLS-DA classification results
WSNet-PLS-DA和UVE-PLS-DA在測試集上的ROC曲線如圖9所示。根據(jù)AUC的計算公式(7)計算可以得到各自的AUC值分別為0.976 0和0.965 8。從中可以看出,相比于UVE,WSNet不僅能去掉更多的波長點,而且對校正模型的性能提升也更為顯著。
圖9 Raman-WSNet-PLS-DA和UVE-PLS-DA ROC曲線對比Fig.9 Comparison of Raman-WSNet-PLS-DA and UVE-PLS-DA ROC curves
拉曼光譜的各個波長點之間存在嚴(yán)重的多重共線性,采用全拉曼光譜數(shù)據(jù)用于NN和PLS-DA模型的構(gòu)建,得到的校正模型性能不夠好。利用WSNet對拉曼光譜進行處理,去除了光譜中對建模有影響和無貢獻的波長點,對于校正模型的性能有顯著的提升。WSNet與經(jīng)典的波長選擇算法UVE相比也具有明顯的優(yōu)勢,UVE算法的核心思想是在原光譜中引入人工隨機變量,將隨機變量和光譜一起進行建模,將原光譜中各個波長點的回歸系數(shù)與隨機變量回歸系數(shù)的平均值進行比較,如果原光譜波長點的回歸系數(shù)低于人工隨機變量回歸系數(shù)的平均值,就認(rèn)為該變量是噪聲變量,應(yīng)該被剔除。由于UVE算法引入隨機變量,導(dǎo)致該算法存在一些隨機因素,使得每次篩選的結(jié)果都不相同,但都表現(xiàn)出很強的一致性。UVE在剔除波長點的過程中參考的是人工隨機變量,即隨機噪聲,所以剔除的僅僅是影響建模的噪聲波長點,對建模既沒有貢獻也沒有影響的波長點并不會剔除。WSNet相比于UVE就要“激進”許多。WSNet由于是通過神經(jīng)網(wǎng)絡(luò)進行波長選擇的,同樣也存在一些隨機因素,WSNet是通過神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)能力自適應(yīng)得到每個波長點的權(quán)重,從而利用學(xué)得的權(quán)重對波長點進行篩選。同時在權(quán)重學(xué)習(xí)的過程中加入了稀疏約束,所以學(xué)得權(quán)重非常稀疏,利用稀疏的權(quán)重對波長點進行篩選會變得更加容易。通過上面的實驗可以看出,UVE所選擇的波長點比較多,它并沒有篩選掉太多的波長點,是一種比較“保守”的波長選擇算法。相比之下,WSNet所選擇的波長點較少,而且建立的校正模型性能更好,證明了WSNet是有效的。
利用神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力提出了一種基于神經(jīng)網(wǎng)絡(luò)的拉曼光譜稀疏波長選擇的新方法——WSNet。它能自適應(yīng)的選擇拉曼光譜中包含信息的波長點,從而建立更加高效的校正模型。將波長選擇前后的拉曼光譜利用同一種方法建模進行對比,進一步驗證了該方法有利于校正模型分類精度的提升, 最高達到了94.495%。同時還與UVE波長選擇算法進行了對比,實驗結(jié)果表明WSNet在波長點選擇的個數(shù)和校正模型的分類精度方面都優(yōu)于UVE算法,精度達到了92.661%。