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