林偉銘 林俊強(qiáng)
1(廈門理工學(xué)院光電與通信工程學(xué)院 福建 廈門 361024) 2(福建省通信網(wǎng)絡(luò)與信息處理重點(diǎn)實(shí)驗(yàn)室 福建 廈門 361024) 3(福州大學(xué)物理與信息工程學(xué)院 福建 福州 350116)
阿爾茨海默病(Alzheimer’s Disease,AD)是一種退行性的癡呆疾病,患者通常會(huì)隨著病情惡化逐漸出現(xiàn)失憶、認(rèn)知力降低、語言障礙和方向混亂等癥狀,最后死亡[1]。癡呆疾病易發(fā)病于老年人群,據(jù)統(tǒng)計(jì)65歲以上人群患有癡呆的比例為9%,而85歲以上人群患病比例更是達(dá)到了34%[2]。隨著人口的老齡化,將有越來越多的人患上阿爾茨海默病。該病目前沒有有效的治療方法或藥物,只有盡早發(fā)現(xiàn)該病,醫(yī)生才能及時(shí)制定護(hù)理方案,延緩疾病的惡化。因此設(shè)計(jì)高精度的阿爾茨海默病計(jì)算機(jī)輔助診斷方法是近幾年的一個(gè)研究熱點(diǎn)[3-5]。
目前常用于阿爾茨海默病輔助診斷的醫(yī)學(xué)數(shù)據(jù)主要有結(jié)構(gòu)性磁共振成像(structural Magnetic Resonance Imaging,sMRI)、氟代脫氧葡萄糖正電子發(fā)射計(jì)算機(jī)斷層顯像(FDG-PET)、脊髓液(Cerebrospinal Fluid,CSF)中的T-tau、P-tau和Aβ42三種蛋白質(zhì)含量,以及apolipoproteinE4基因片段信息。阿爾茨海默病通常伴隨著腦神經(jīng)的萎縮和腦室擴(kuò)大,通過腦部sMRI圖像可以檢測出這些萎縮模式,從而診斷阿爾茨海默病[6]?;颊咄ǔR矔?huì)出現(xiàn)腦部葡萄糖代謝異常的情況,如果通過FDG-PET圖像檢測并量化腦部組織的代謝,可以從這些異常代謝模式中發(fā)現(xiàn)阿爾茨海默病[7]。阿爾茨海默病的發(fā)病還伴隨著T-tau、P-tau和Aβ42蛋白質(zhì)的沉淀,患者的脊髓液中這三種蛋白質(zhì)的含量要比正常人高出許多,因此這三種蛋白質(zhì)含量也被當(dāng)成阿爾茨海默病的生物標(biāo)記物來使用[8]。除此之外,研究發(fā)現(xiàn)在基因序列中存在apolipoproteinE4基因片段的人群,其阿爾茨海默病的發(fā)病率要遠(yuǎn)高于沒有此基因片段的人群,因此該基因片段也被認(rèn)為是阿爾茨海默病患病風(fēng)險(xiǎn)的標(biāo)志之一[9]。
上述多種模態(tài)數(shù)據(jù)反映了阿爾茨海默病的不同生物特征,單純使用某一種模態(tài)數(shù)據(jù)進(jìn)行計(jì)算機(jī)輔助診斷的準(zhǔn)確率通常不高,而如果利用不同模態(tài)數(shù)據(jù)之間的互補(bǔ)信息,將多個(gè)模態(tài)數(shù)據(jù)融合起來進(jìn)行疾病的診斷,可以大幅提高診斷的準(zhǔn)確率[5]。最簡單的融合方法就是將多個(gè)模態(tài)的特征直接拼接在一起進(jìn)行診斷,然而該方法顯然不是最有效的融合方式。深度神經(jīng)網(wǎng)絡(luò)[10-11]和非線性圖融合[5]等方式被用于多模態(tài)數(shù)據(jù)融合,診斷準(zhǔn)確率都超過直接拼接的方法,但是依然沒有超過92%[5,10]。有效融合多模態(tài)數(shù)據(jù)從而提高診斷準(zhǔn)確率依然是有待研究的問題,因此本文基于sMRI、FDG-PET、CSF和基因片段四種模態(tài)的數(shù)據(jù),提出一種主成分分析(Principal Component Analysis,PCA)結(jié)合極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)分類器的多模態(tài)數(shù)據(jù)融合診斷方法,該方法在ADNI(Alzheimer’s Disease Neuroimaging Initiative)數(shù)據(jù)庫的數(shù)據(jù)集上進(jìn)行十折交叉驗(yàn)證。其準(zhǔn)確率大幅超過基于單一模態(tài)數(shù)據(jù)的診斷方式,與其他文獻(xiàn)方法比較也取得了更好的診斷性能。
本文提出的多模態(tài)醫(yī)學(xué)數(shù)據(jù)融合診斷方法思路如圖1所示,該方法采用了四種模態(tài)數(shù)據(jù)作為輸入,其中sMRI的數(shù)據(jù)包含了全腦的解剖特征數(shù)據(jù),腦部萎縮不僅與疾病有關(guān),也與年齡有關(guān)。所以首先對sMRI的特征進(jìn)行年齡校正。由于并非所有腦部解剖學(xué)特征都與阿爾茨海默病有關(guān),無關(guān)特征會(huì)對診斷精度產(chǎn)生影響。所以sMRI特征數(shù)據(jù)還使用Lasso(least absolute shrinkage and selection operator)算法進(jìn)行特征選擇,剔除無關(guān)的特征。隨后四種數(shù)據(jù)合并在一起進(jìn)行主成分分析,保留前面能量較大的主成分作為融合結(jié)果和新的特征數(shù)據(jù)。隨后將新的特征數(shù)據(jù)輸入極限學(xué)習(xí)機(jī)進(jìn)行分類診斷。接下來將對該方法使用的主要算法進(jìn)行介紹。
圖1 本文方法的研究思路
雖然sMRI圖像中的解剖學(xué)特征包含了腦萎縮信息,可用于阿爾茨海默病診斷。但正常人隨著年齡的增加也會(huì)出現(xiàn)腦萎縮,這種正常老齡化的腦萎縮會(huì)對阿爾茨海默病的診斷造成干擾。為了抵消正常萎縮的影響,需要估計(jì)正常萎縮與年齡之間的關(guān)系,然后根據(jù)年齡將這部分萎縮情況去除[12]。本文采用所有正常人的特征,將特征的數(shù)值與其對應(yīng)的年齡進(jìn)行最小二乘線性擬合,從而估計(jì)該特征在正常人群中隨年齡增加出現(xiàn)的線性變化。其原理為:假設(shè)待處理的特征為第m個(gè)特征,來自N位正常人的該特征向量為ym=[y1m,y2m,…,ynm,…,yNm]T,對應(yīng)的年齡向量為x=[x1,x2,…,xn,…,xN]T,使用最小二乘線性擬合到直線ym=amx+bm,其中am和bm分別為擬合直線的斜率與截距,因此斜率系數(shù)am就是估計(jì)得到的第m個(gè)特征隨年齡變換的趨勢。
具體的實(shí)現(xiàn)過程為:首先設(shè)置年齡矩陣X、特征矩陣Y和系數(shù)矩陣β:
(1)
(2)
(3)
式中:N和M分別為正常人個(gè)數(shù)和特征個(gè)數(shù)。隨后擬合線性回歸模型Y=Xβ+ε。其中ε是擬合誤差,擬合的目標(biāo)為∑ε2最小,根據(jù)最小二乘線性擬合的原理,系數(shù)矩陣β的解為:
β=(XTX)-1XTY
(4)
從矩陣β中就可以得知所有特征與年齡之間的正常變化關(guān)系。最后將測試對象的所有特征中的年齡因素去除,計(jì)算新的特征數(shù)值:
(5)
并不是所有的sMRI解剖學(xué)特征都與阿爾茨海默病有關(guān)。將這些無關(guān)的特征用于診斷阿爾茨海默病會(huì)降低準(zhǔn)確率。因此,本文采用Lasso算法用于特征選擇。Lasso算法也稱為最小絕對收縮選擇算子,它是一種稀疏回歸模型[13],可以同時(shí)進(jìn)行正則化的回歸分析和特征選擇。其原理可以解釋為:假設(shè)有N個(gè)樣本,這些樣本的標(biāo)簽組成的N×1標(biāo)簽向量使用L表示。每個(gè)樣本有M個(gè)特征,所有樣本組成的N×M特征矩陣使用X表示?,F(xiàn)在有M個(gè)系數(shù)組成的M×1向量α,使得每個(gè)樣本的特征與α的相乘之和可以估計(jì)樣本標(biāo)簽,即可以表示為:
Xα=L+ε
(6)
式中:ε表示估計(jì)誤差。尋找最優(yōu)的系數(shù)向量α使得估計(jì)誤差∑ε2最小,可以用式(7)的優(yōu)化目標(biāo)模型表示:
(7)
當(dāng)該模型找到最優(yōu)解時(shí),α里的系數(shù)代表了M個(gè)特征對估計(jì)標(biāo)簽的貢獻(xiàn),系數(shù)越大表示對應(yīng)的特征對于估計(jì)標(biāo)簽有更大的作用。Lasso算法在此優(yōu)化目標(biāo)模型的基礎(chǔ)上,對α增加L1范數(shù)的懲罰項(xiàng),如下:
(8)
式中:λ是懲罰系數(shù),該懲罰項(xiàng)是為了使α里的非零值盡量少,從而令α最優(yōu)解的內(nèi)部只有稀疏的值不為零。這些不為零系數(shù)對應(yīng)的特征對樣本標(biāo)簽的估計(jì)有不可替代的作用,保留這些特征,剔除其他無用特征,可以達(dá)到特征選擇的目的。
主成分分析算法是一種無監(jiān)督學(xué)習(xí)的特征降維方法,該算法使用正交變換將原始樣本特征轉(zhuǎn)移到新的坐標(biāo)空間中,并且使得新的坐標(biāo)空間中,特征數(shù)據(jù)的每個(gè)維度都是不相關(guān)的,最后保留差異性最大的幾個(gè)主要維度成分。該算法如圖2所示,為了方便在平面圖中顯示,假設(shè)每個(gè)樣本的特征數(shù)量只有2個(gè),即在特征空間有2個(gè)特征維度x1和x2,圖2中的每個(gè)圓點(diǎn)表示1個(gè)樣本。可以發(fā)現(xiàn)x1值較大的樣本,其x2值也會(huì)較大,說明這2個(gè)特征存在相關(guān)性。將該坐標(biāo)空間正交變換到新的坐標(biāo)φ1和φ2,在新特征空間中的2個(gè)特征φ1和φ2幾乎是不相關(guān)的。如果將差異度較大的φ1特征作為主成分保留,差異度小的φ2作為噪聲拋棄,此時(shí)原來需要2個(gè)特征x1和x2表示的樣本,就可以只使用1個(gè)特征φ1近似地表示。該方法有效地利用特征間的相關(guān)性進(jìn)行特征的融合,還能降低無用成分的干擾,將其應(yīng)用于多模態(tài)的數(shù)據(jù)融合上,能夠提高阿爾茨海默病的診斷性能。
圖2 主成分分析算法示意圖
主成分分析算法的計(jì)算過程可以描述為:假設(shè)有N個(gè)樣本,每個(gè)樣本有M個(gè)特征,對樣本數(shù)據(jù)進(jìn)行均值去除后,樣本矩陣可以表示為:
(9)
該矩陣的每行表示一個(gè)樣本。對該矩陣進(jìn)行奇異值分解(Singular Value Decomposition,SVD),可以得到:
X=WΣVT
(10)
式中:N×N矩陣W是協(xié)方差矩陣XXT的特征向量矩陣;Σ是N×M的非負(fù)矩形對角矩陣;V是XTX的特征向量矩陣,大小為M×M。新的樣本數(shù)據(jù)可以通過式(11)進(jìn)行正交變換到新的坐標(biāo)空間得到。
Y=WX
(11)
式中:Y的第一列是第一主成分,第二列是第二主成分,依此類推。因此可以根據(jù)需求保留前面幾列的主要成分作為數(shù)據(jù)降維和特征融合的結(jié)果。
極限學(xué)習(xí)機(jī)是一種一步到位的機(jī)器學(xué)習(xí)算法,其訓(xùn)練速度和分類精確度都要好于支持向量機(jī)(SVM)[14]。極限學(xué)習(xí)機(jī)有兩種版本,第一種是只有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的輸入系數(shù)隨機(jī)生成,隨后通過優(yōu)化算法直接計(jì)算輸出系數(shù)的值,因此不需要迭代訓(xùn)練,速度較快。但是隨機(jī)生成輸入系數(shù)的方法使其性能并非最佳。第二種是引入了核函數(shù),利用核函數(shù)來代替輸入系數(shù)和輸出系數(shù)的計(jì)算,避免了隨機(jī)生成系數(shù)的過程,在分類上具有更好的性能。本文采用高斯核的極限學(xué)習(xí)機(jī)作為分類診斷器,其原理可描述為:假設(shè)有N個(gè)訓(xùn)練樣本[x1,x2,…,xN],xn表示第n個(gè)訓(xùn)練樣本的特征向量,而x表示待測樣本的特征向量。Y是訓(xùn)練樣本的N×2標(biāo)簽矩陣,該矩陣有兩列代表兩類標(biāo)簽。每行代表每個(gè)樣本的標(biāo)簽,并且只有樣本標(biāo)簽對應(yīng)位置的元素置1,其余元素置-1。極限學(xué)習(xí)機(jī)的輸出可以表示為:
(12)
式中:I是N×N的單位矩陣,C是歸一化系數(shù),通常被置為1。K(x,xn)是高斯核函數(shù)。高斯核函數(shù)可以表示為:
(13)
式中:γ是高斯核函數(shù)的參數(shù),其取值與樣本特征數(shù)量有關(guān)。
Ω是N×N的高斯核矩陣,矩陣中的每個(gè)元素都是訓(xùn)練樣本的之間的高斯核計(jì)算結(jié)果,可以表示為:
(14)
式(12)的計(jì)算結(jié)果是包含兩個(gè)元素的向量[s0,s1],其中s0和s1之中最大值的下標(biāo)即待測樣本x的分類標(biāo)簽。
本文在Windows 10系統(tǒng)中的Python環(huán)境下進(jìn)行算法驗(yàn)證。計(jì)算機(jī)平臺為:CPU為Intel I7 8700k,內(nèi)存為16 GB。Python的版本是3.6.4,本文使用的Lasso和主成分分析算法采用Scikit-learn包庫里的Lasso和PCA模塊函數(shù),Scikit-learn版本為0.21.2。其他算法使用numpy包提供的矩陣計(jì)算工具進(jìn)行設(shè)計(jì)。
本文實(shí)驗(yàn)數(shù)據(jù)來自ADNI數(shù)據(jù)庫,該數(shù)據(jù)庫招募了超過1 500位志愿者作為測試對象。然而并不是所有測試對象都進(jìn)行了四種醫(yī)學(xué)數(shù)據(jù)的采集,因此排除數(shù)據(jù)缺失的對象,本文的測試對象包括了200位正常人和102位患者,測試對象的統(tǒng)計(jì)信息如表1所示。
表1 測試對象統(tǒng)計(jì)信息
采集了這302位測試對象的四種醫(yī)學(xué)數(shù)據(jù)。其中sMRI圖像通過開源軟件FreeSurfer進(jìn)行顱骨剝離、配準(zhǔn)和區(qū)域分割等處理后,計(jì)算得到313個(gè)腦部解剖學(xué)特征,例如海馬體(或其他組織)的體積、面積和厚度。PET圖像則提取了五個(gè)腦組織(左、右腦角回,左、右顳下回和雙側(cè)后扣帶回)代謝率的平均值、最大值、最小值和標(biāo)準(zhǔn)差共20個(gè)特征。再加上CSF中的3種蛋白質(zhì)含量以及1個(gè)基于序列是否存在的信息,每位測試對象有337個(gè)特征。這些特征數(shù)據(jù)可以在ADNI網(wǎng)站下載獲取。
實(shí)驗(yàn)過程中首先對sMRI特征進(jìn)行了年齡矯正和特征選擇的預(yù)處理。使用200位正常人的數(shù)據(jù)對313個(gè)sMRI特征分別進(jìn)行正常老齡化引起的變化因素估計(jì),圖3演示了正常人隨年齡增加海馬體的體積和厚度的線性擬合模型結(jié)果(黑色直線)。可以發(fā)現(xiàn),正常人隨著年齡的增加,海馬體體積和厚度都會(huì)跟著變小。如果沒有將這部分因素去除,則年齡大的正常人也會(huì)有較大概率被誤診為患者。
(a) (b)圖3 估計(jì)年齡變化對特征的影響
隨后對313個(gè)sMRI特征使用Lasso算法進(jìn)行特征選擇。在本文實(shí)驗(yàn)中,式(8)里的懲罰系數(shù)設(shè)置為0.02。在進(jìn)行該模型訓(xùn)練中使用的sMRI數(shù)據(jù)不是來自302位測試對象,而是來自缺乏其他模態(tài)數(shù)據(jù)而被排除在外的樣本,因此不存在對實(shí)驗(yàn)所用302位對象數(shù)據(jù)的二次挖掘情況。通過Lasso算法求得稀疏向量α后,通過其中的非零值來選擇有效特征。最后有41個(gè)特征被保留作為后續(xù)診斷阿爾茨海默病的sMRI數(shù)據(jù)。
實(shí)驗(yàn)采用的四種模態(tài)數(shù)據(jù)都是與阿爾茨海默病相關(guān)的特征數(shù)據(jù),因此必然在特征之間存在著一定的相關(guān)性。同時(shí)這些數(shù)據(jù)中也會(huì)存在一些與阿爾茨海默病不相關(guān)的無用信息。為了更好地融合不同模態(tài)的特征,將四種模態(tài)數(shù)據(jù)特征合并后使用主成分分析法進(jìn)行正交變換,在新的特征空間中保留前10個(gè)主要成分,其余成分作為影響診斷的噪聲被拋棄。
實(shí)驗(yàn)對本文方法在阿爾茨海默病計(jì)算機(jī)輔助診斷上的性能進(jìn)行驗(yàn)證。性能指標(biāo)使用準(zhǔn)確率(診斷結(jié)果與實(shí)際一致的數(shù)量/所有樣本數(shù)量)、敏感度(真實(shí)陽性對象中被診斷成陽性的數(shù)量/真實(shí)陽性對象數(shù)量)、特異度(真實(shí)陰性對象中被診斷為陰性的數(shù)量/真實(shí)陰性對象數(shù)量)和接收者操作特征曲線下面積(Area Under receiver operating characteristic Curve,AUC)進(jìn)行評估。為了測試方法的魯棒性,驗(yàn)證過程采用十折交叉驗(yàn)證。將樣本集分割成10份,9份用于訓(xùn)練分類器,剩余1份用于測試驗(yàn)證。反復(fù)進(jìn)行10次直到所有的樣本都作為測試樣本測試一遍。為了得到可靠的實(shí)驗(yàn)結(jié)果,所有實(shí)驗(yàn)都進(jìn)行了100次的隨機(jī)排序十折交叉驗(yàn)證。
實(shí)驗(yàn)還對本文方法和直接使用原始多模態(tài)數(shù)據(jù)方法的性能進(jìn)行了比較。此外本文還測試了單獨(dú)模態(tài)下的診斷性能以及某種算法缺失下的診斷性能,測試結(jié)果如表2所示。
表2 阿爾茨海默病診斷實(shí)驗(yàn)結(jié)果(%)
可以看出在單模態(tài)數(shù)據(jù)中,sMRI數(shù)據(jù)對阿爾茨海默病的診斷具有最高的準(zhǔn)確率。由于基因數(shù)據(jù)不能直接用于診斷所以將其與CSF數(shù)據(jù)合并進(jìn)行診斷,然而診斷性能最差。而PET數(shù)據(jù)具有與sMRI數(shù)據(jù)接近的診斷性能。將這四種數(shù)據(jù)直接拼湊在一起后進(jìn)行診斷的準(zhǔn)確率約為91.6%,而使用本文方法進(jìn)行多模態(tài)數(shù)據(jù)融合后診斷的準(zhǔn)確率提升到了95.1%左右,有3.5百分點(diǎn)的提升。從上述實(shí)驗(yàn)結(jié)果還可以看出本文方法的AUC相比單模態(tài)數(shù)據(jù)診斷的方法和四種模態(tài)數(shù)據(jù)直接拼合的方法,均有所提高。本文方法的診斷敏感度對比使用單模態(tài)數(shù)據(jù)方法有很大提升,例如比sMRI單模態(tài)數(shù)據(jù)方法的敏感度提高了13.2百分點(diǎn),而診斷敏感度的提高說明了本文方法具有更低的漏診率。
當(dāng)把年齡校正、特征選擇和主成分分析算法從本文方法中分別去除后,可以發(fā)現(xiàn)診斷性能均有所下降,說明了這三種數(shù)據(jù)處理方法都對本文的診斷性能提升具有較大貢獻(xiàn)。由于sMRI數(shù)據(jù)在四種模態(tài)數(shù)據(jù)中具有最重要的作用,因此對其進(jìn)行了年齡校正和特征選擇后,對算法的整體性能提升有明顯的作用。其中特征選擇算法排除了大量不相關(guān)的sMRI特征,使得在進(jìn)行主成分分析的過程中可以更為準(zhǔn)確地提取有效主成分。因此當(dāng)不使用特征選擇時(shí),這些不相關(guān)特征使得主成分的計(jì)算出現(xiàn)較大的偏差,導(dǎo)致診斷性能有較大幅度的下降。
本文還將該方法的診斷性能與文獻(xiàn)[3-6,10]進(jìn)行比較,比較結(jié)果如表3所示。
表3 本文算法性能與其他先進(jìn)算法比較(%)
表3所列出的各種方法中,文獻(xiàn)[3]將3D卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于sMRI數(shù)據(jù)診斷,受限于單模態(tài)數(shù)據(jù)信息的限制和訓(xùn)練樣本數(shù)量,其準(zhǔn)確率只有約84%。同樣文獻(xiàn)[6]也使用了卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行sMRI單模態(tài)圖像的分析以及診斷,通過數(shù)據(jù)增廣的方式將準(zhǔn)確率提高到了88%左右。文獻(xiàn)[10]采用sMRI和PET模態(tài)數(shù)據(jù)并使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行特征學(xué)習(xí)與診斷,其準(zhǔn)確率達(dá)到91.4%左右。文獻(xiàn)[4]利用多模態(tài)數(shù)據(jù)的相關(guān)特征表達(dá)進(jìn)行診斷,準(zhǔn)確率達(dá)到了92%左右。文獻(xiàn)[5]采用非線性圖融合的方式合并sMRI、PET、CSF和基因數(shù)據(jù)四種模態(tài)數(shù)據(jù),其準(zhǔn)確率達(dá)到了91.8%。而本文方法同樣采用四種模態(tài)數(shù)據(jù),在阿爾茨海默病的診斷上取得95.1%左右的準(zhǔn)確率,比上述幾種方法具有更好的診斷性能。此外,表3還比較了使用支持向量機(jī)作為分類器的性能,可以發(fā)現(xiàn),使用極限學(xué)習(xí)機(jī)作為分類器,其診斷準(zhǔn)確率要高于線性支持向量機(jī)(SVMlinear)和高斯徑向基核函數(shù)支持向量機(jī)(SVMrbf)。
本文提出一種基于主成分分析與極限學(xué)習(xí)機(jī)的阿爾茨海默病的高精度輔助診斷方法,通過主成分分析算法對多模態(tài)數(shù)據(jù)進(jìn)行有效融合,并使用極限學(xué)習(xí)機(jī)的分類診斷,本文方法在阿爾茨海默病的診斷準(zhǔn)確率、敏感度、特異度和AUC等性能指標(biāo)上大幅超過使用單一模態(tài)數(shù)據(jù)或原始多模態(tài)數(shù)據(jù)直接拼接方法的診斷性能,說明本文方法對阿爾茨海默病的高精度輔助診斷具有重要的貢獻(xiàn),其結(jié)果可以為醫(yī)生的臨床診斷提供可靠的參考。此外本文還與其他文獻(xiàn)的算法進(jìn)行比較,結(jié)果表明本文方法相較于其他算法也有一定的性能優(yōu)勢。