孫士保,趙鵬程,李玉祥,李元穎
(1. 河南科技大學(xué)信息工程學(xué)院,河南 洛陽(yáng) 471023;2. 河南科技大學(xué)臨床醫(yī)學(xué)院,河南 洛陽(yáng) 471023)
隨著“人工智能+醫(yī)療”技術(shù)的發(fā)展,智慧醫(yī)療越來(lái)越被人們所熟知和接受。人工智能(AI)正在越來(lái)越多地被開(kāi)發(fā)用于治療和診斷以及對(duì)患病風(fēng)險(xiǎn)進(jìn)行評(píng)估和分類[1]。Manogaran Gunasekara等人測(cè)量跨基因組DNA高維數(shù)據(jù)集來(lái)診斷癌癥,使用貝葉斯隱馬爾可夫模型(HMM)與高斯混合(GM)聚類方法進(jìn)行處理[2]。廖志軍等人利用隨機(jī)森林分類算法提取mRNA特征應(yīng)用于六種癌癥的診斷[3]。夏春秋通過(guò)低秩表示從高維基因數(shù)據(jù)中找到具有判別力的特征再對(duì)癌癥進(jìn)行分類[4]。Moloud Abdar則是利用置信度加權(quán)投票方法和增強(qiáng)集合技術(shù)對(duì)早期乳腺癌進(jìn)行診斷[5]。Subhashis Banerjee 等人在選擇重要特征的同時(shí)利用自適應(yīng)神經(jīng)模糊分類器對(duì)腦瘤分類,達(dá)到85.83%的分類正確率[6]。
綜上所述的研究都是對(duì)患者進(jìn)行診斷,但是在早期階段的大多數(shù)癌癥均沒(méi)有明顯癥狀,當(dāng)診斷出癌癥時(shí),早期治療的延誤會(huì)增加病患的致死率,導(dǎo)致無(wú)法挽回的后果。因此,在智慧醫(yī)療領(lǐng)域中迫切需要準(zhǔn)確對(duì)早期患癌風(fēng)險(xiǎn)進(jìn)行篩查,盡早的發(fā)現(xiàn)癌癥并進(jìn)行治療,最大限度的延長(zhǎng)患者的生命。研究者康桂霞使用ReliefF算法分析癌癥的最具辨別力的特征,通過(guò)決策樹來(lái)預(yù)測(cè)癌癥的風(fēng)險(xiǎn)[7]。Reedy Jill采用因子分析和指數(shù)分析比較3種膳食模式方法導(dǎo)致結(jié)直腸癌的風(fēng)險(xiǎn)[8]。王云溪應(yīng)用因子分析和Logistics回歸模型分析胃潰瘍癌變的潛在預(yù)測(cè)因子[9]。面對(duì)早期癌癥數(shù)據(jù)這類高維復(fù)雜性數(shù)據(jù)集,在處理過(guò)程中,采取因子分析的主要是將具有錯(cuò)綜復(fù)雜關(guān)系的變量(或特征)綜合為若干個(gè)因子,以解釋原始數(shù)據(jù)與因子之間的相互關(guān)系,達(dá)到特征選擇和降維的目的,以便算法模型的預(yù)測(cè)和分類效果有效,降低計(jì)算復(fù)雜度[10]。但是因子分析在計(jì)算因子得分時(shí)用到最小二乘法、極大似然法,在面對(duì)非線性關(guān)系時(shí)容易失效,使得分類效果欠佳。因子分析更傾向于描述原始變量之間的相關(guān)關(guān)系。
本文為解決傳統(tǒng)的因子分析特征選擇算法中(相關(guān)性矩陣)協(xié)方差矩陣只能夠衡量具有相關(guān)關(guān)系的特征。將互信息引入到因子分析中進(jìn)行特征選擇,由于互信息能夠利用信息熵衡量特征與類別或者兩個(gè)特征之間依賴程度的強(qiáng)弱,展現(xiàn)出兩個(gè)特征間擁有共同信息的含量,并且不局限于線性關(guān)系[11]。從而更有效地對(duì)高維數(shù)據(jù)進(jìn)行特征選擇,用以提高算法的分類精度。因此,提出一種結(jié)合互信息的因子分析對(duì)患癌因素的分類方法。人們可對(duì)早期癌癥風(fēng)險(xiǎn)因素進(jìn)行分類,避免延誤最佳治療時(shí)機(jī)。
因子分析是當(dāng)前特征選擇中應(yīng)用最為廣泛的方法之一[12]。在高維數(shù)據(jù)中,因子分析通過(guò)多個(gè)特征間協(xié)方差矩陣的內(nèi)部依賴性關(guān)系,找到能夠反映出所有特征主要信息的公因子。
假設(shè)有n個(gè)樣本量,p個(gè)指標(biāo)(特征),X=(X1,X2,…Xp)T為隨機(jī)特征,其中協(xié)方差矩陣cov(x)=Z;可得出本假設(shè)的公共因子為F=(F1,F(xiàn)2,…Fm,)T(m
(1)
其中θp為特殊因子,則A=(aij) 稱為因子載荷矩陣,aij為因子載荷(loading),實(shí)質(zhì)表示Xi依賴因子Fj的程度[13]。該因子分析模型滿足正交,矩陣形式具體表示為
(2)
(3)
因子模型簡(jiǎn)單表示
X=AF+θ
(4)
式中cov(F,θ)=0, 公共因子和特殊因子滿足不相關(guān)的條件。針對(duì)高維數(shù)據(jù)集,使用因子分析進(jìn)行降維,特征之間需具有線性相關(guān)性,得出的各個(gè)公共因子應(yīng)具有可解釋性。因子分析算法如下所示。
Input: 原數(shù)據(jù)集N
特征X={X1,X2…Xn}
output: 因子模型X=AF+θ
1)標(biāo)準(zhǔn)化原數(shù)據(jù)集N;
2)計(jì)算高維數(shù)據(jù)集N中特征X間協(xié)方差陣;
3)若KMO∈[0,1] 并KMO≥0.5則輸出F=[F1,F(xiàn)2…Fn];
4)通過(guò)因子旋轉(zhuǎn),使得公共因子F更具有解釋性;
5)對(duì)因子F計(jì)算得分,轉(zhuǎn)換為因子載荷A=(A1,A2,…,Am),并得出特殊因子θ=[θ1,θ2…θn];
6)輸出因子模型:X=AF+θ.
在信息和概率論中,兩個(gè)隨機(jī)變量的互信息(Mutual Information, MI)衡量它們之間相互依賴的程度,解釋為兩個(gè)特征之間共同擁有信息的含量[14]?;バ畔⒕哂袃蓚€(gè)顯著的優(yōu)點(diǎn):
1)能夠?qū)﹄S機(jī)變量間復(fù)雜的關(guān)系進(jìn)行處理,包括處理非線性關(guān)系,保證特征與類別間在未知關(guān)系情況下依然有效;
2)不局限于實(shí)值隨機(jī)變量,并在特征空間的變換情況下互信息的值不會(huì)改變,保證了在任意階段都可以準(zhǔn)確度量特征間的關(guān)系。
一般地,兩個(gè)變量X和Y的互信息[15]可以定義為
(5)
其中p(x,y)是X和Y的聯(lián)合概率分布函數(shù),p(x)和p(y)分別是它們的邊緣概率分布函數(shù)。若I(X;Y)=0當(dāng)且僅當(dāng)X和Y是獨(dú)立的隨機(jī)變量,可知
p(x,y)=p(x)p(y)
(6)
因此
(7)
綜上所述,互信息具有非負(fù)性I(X;Y)≥0和對(duì)稱性I(X;Y)=I(Y;X)。X和Y兩者依賴程度越高,I(X;Y)的值就越大,類別與特征間包含的共有信息也就越多,反之,則類別與特征相互獨(dú)立,不存在任何共同信息。
結(jié)合互信息的因子分析算法框架如圖1所示。因子分析中使用協(xié)方差矩陣只能反映出特征間的相關(guān)性,即為線性關(guān)系,無(wú)法有效的評(píng)價(jià)特征間的非線性關(guān)系,而算法的思想就是引入互信息,利用其評(píng)估特征間的共有信息這樣的特異性來(lái)優(yōu)化特征選擇的處理過(guò)程,使得算法不局限于線性關(guān)系。
圖1 結(jié)合互信息的因子分析算法框架圖
首先,對(duì)原數(shù)據(jù)的p個(gè)指標(biāo)標(biāo)準(zhǔn)化處理,消除特征在量綱上的影響。根據(jù)標(biāo)準(zhǔn)化后的數(shù)據(jù)矩陣求出協(xié)方差矩陣Z。定義ZI(X;Y)為原數(shù)據(jù)的互信息陣,使用拉格朗日因子法得到協(xié)方差陣對(duì)應(yīng)的特征值的特征向量。原數(shù)據(jù)特征值為λ1,λ2,…λp,單位特征向量U為
(8)
(9)
因此,在實(shí)際因子分析過(guò)程中采用互信息來(lái)替代協(xié)方差陣,本文提出一種結(jié)合互信息的因子分析(MIFA)特征選擇算法用于患癌風(fēng)險(xiǎn)因素的分類。得到因子模型為
(10)
ψ是Z的特征值構(gòu)成的對(duì)角陣。由非負(fù)性I(X;Y)≥0和互信息對(duì)稱性I(X;Y)=I(Y;X)可知,不論是互信息(非對(duì)角線元素表示兩個(gè)特征間的互信息)或自信息(信息熵,對(duì)角線元素表示的變量)均為實(shí)數(shù),ZI(X;Y)為非負(fù)實(shí)數(shù)對(duì)稱矩陣。
(11)
表示因子分析中公因子對(duì)特征的Xi總方差所做出的貢獻(xiàn),取值在0~100%之間,數(shù)值越大,說(shuō)明該特征能被公因子解釋的信息量越大。最終,選擇貢獻(xiàn)率為85%以上的前M個(gè)公因子作為原數(shù)據(jù)新特征,統(tǒng)計(jì)學(xué)上指標(biāo)達(dá)到85%即可認(rèn)為這些因子包含了全部特征的原始主要信息。
Input: 數(shù)據(jù)集D
output:M個(gè)新特征
1)標(biāo)準(zhǔn)化數(shù)據(jù)集D;
2)計(jì)算求得協(xié)方差矩陣Z;
3)Z轉(zhuǎn)換為ZI(X;Y)互信息陣,并求得特征值λ={λ1,λ2,…λp};
本章節(jié)首先給出實(shí)驗(yàn)數(shù)據(jù)集的信息、實(shí)驗(yàn)相關(guān)設(shè)定和算法性能評(píng)價(jià)指標(biāo),然后分為3組實(shí)驗(yàn)對(duì)結(jié)果分析,并與文獻(xiàn)[7]中所采用ReliefF進(jìn)行特征選擇的多個(gè)分類算法進(jìn)行比較。
仿真數(shù)據(jù)來(lái)自于開(kāi)源的機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)UCI,選取了高維度的宮頸癌(Cervical)、乳腺癌(Breast)和肝癌(HCC)數(shù)據(jù)集,均屬于可預(yù)防的癌癥類型,早期發(fā)現(xiàn)患癌風(fēng)險(xiǎn)并進(jìn)行治療即可完全治愈。因此數(shù)據(jù)集作為對(duì)患癌風(fēng)險(xiǎn)因素的分類具有很好的借鑒作用,且高維特征符合實(shí)驗(yàn)要求,數(shù)據(jù)集信息如表1所示。仿真使用Python語(yǔ)言在Ubuntu系統(tǒng)(CPU Intel Corei5/8GRAM)中運(yùn)行。
表1 實(shí)驗(yàn)數(shù)據(jù)集信息
實(shí)驗(yàn)組中神經(jīng)網(wǎng)絡(luò)分類算法評(píng)估學(xué)習(xí)模型選擇常用的兩個(gè)參數(shù):分類正確率accuracy和損失函數(shù)loss。其中損失函數(shù)loss的表達(dá)式為
Loss=-ln(Pz)=-ln(Pcorrect)
(12)
Pz是將樣本分配到類別Z的概率,即正確分類概率Pcorrect。當(dāng)對(duì)于一個(gè)迭代(Epoch)中含有無(wú)窮多個(gè)樣本時(shí):
Loss=E(-ln(accuracy))
(13)
即
accuracy=e-Loss
(14)
在神經(jīng)網(wǎng)絡(luò)中通??芍猘ccuracy數(shù)值越高,loss越小,模型性能越好。
實(shí)驗(yàn)組1:本實(shí)驗(yàn)組在用于患癌風(fēng)險(xiǎn)因素分類時(shí),對(duì)三個(gè)數(shù)據(jù)集進(jìn)行公因子提取。比較了通過(guò)FA與MIFA從原數(shù)據(jù)集提取15個(gè)(累積貢獻(xiàn)率>50%)的因子特征值和累積方差貢獻(xiàn)率,如表2、表3和表4所示。
表2 數(shù)據(jù)集1:FA和MIFA求得的因子信息
通過(guò)表2可以得出,以因子累積貢獻(xiàn)率等于85%作為指標(biāo),以FA作為特征選擇算法需要9個(gè)新特征才能解釋原數(shù)據(jù)全部信息,而采用MIFA則只需要5個(gè)新特征即可包含原來(lái)的所以特征信息。從可解釋性方面可以看出,在相同維度下,F(xiàn)A的因子貢獻(xiàn)率低于MIFA,例如同樣在公因子5的情況下,F(xiàn)A的貢獻(xiàn)率為70.39%,而MIFA的貢獻(xiàn)率為85.47%。
同樣地,由表3可以發(fā)現(xiàn)采用FA進(jìn)行特征公因子選擇需要8個(gè)公因子數(shù)量,累積貢獻(xiàn)率大于85%,而使用MIFA方法僅需要5個(gè)公因子即可解釋原始數(shù)據(jù)集實(shí)際意義。同理,通過(guò)表4可以清楚看出對(duì)于因子的可解釋性,相同維度下,例如在公因子8的情況下,因子分析的貢獻(xiàn)率為81.92%,而結(jié)合互信息的因子分析的貢獻(xiàn)率則為89.16%。
表3 數(shù)據(jù)集2:FA和MIFA求得的因子信息
表4 數(shù)據(jù)集3:FA和MIFA求得的因子信息
綜上所述,即可證明MIFA降低的數(shù)據(jù)維度量和公因子解釋性高于傳統(tǒng)的因子分析方法,有利于模型的分類正確性。實(shí)驗(yàn)組2將采用常用的分類算法進(jìn)一步驗(yàn)證。
實(shí)驗(yàn)組2:以實(shí)驗(yàn)組1降維之后的數(shù)據(jù)集作為分類算法的輸入進(jìn)行仿真。本組實(shí)驗(yàn)以常用的神經(jīng)網(wǎng)絡(luò)(ANN)作為分類器來(lái)驗(yàn)證因子分析(FA)與結(jié)合互信息的因子分析(MIFA)得到的公因子對(duì)宮頸癌活檢進(jìn)行預(yù)測(cè)。神經(jīng)網(wǎng)絡(luò)分類器包含有輸入層(Input layer)、隱藏層(Hidden layer)、輸出層(Output layer),激勵(lì)函數(shù)設(shè)置為sigmoid;采用十折交叉驗(yàn)證法。
通過(guò)圖2-a看到FA訓(xùn)練集和檢測(cè)集產(chǎn)生很大的過(guò)擬合現(xiàn)象,可以看到檢測(cè)集的精確度只有89%左右。而通過(guò)圖2-b可以明顯看出MIFA的模型過(guò)擬合現(xiàn)象被解決,檢測(cè)集的精確度逐漸達(dá)到95%,有較大的提升。通過(guò)圖3-a和3-b明顯看出FA的損失函數(shù)并未趨于收斂,而MIFA的損失函數(shù)在完成10次迭代后快速收斂,最終的損失函數(shù)值只有0.1138,說(shuō)明算法達(dá)到實(shí)驗(yàn)效果。
同樣可以看出對(duì)于數(shù)據(jù)集2和3所得出的分類精度和損失函數(shù)。如圖3和4所示,數(shù)據(jù)集2、3在迭代15-20次時(shí)精確度出現(xiàn)很大波動(dòng),產(chǎn)生較大過(guò)擬合,檢測(cè)集精度過(guò)低,相對(duì)的損失函數(shù)也未趨于收斂,特別地,對(duì)于數(shù)據(jù)集3檢測(cè)集的損失函數(shù)過(guò)大,算法性能較差。而MIFA則在處理高維度癌癥數(shù)據(jù)集產(chǎn)生較好的分類效果,神經(jīng)網(wǎng)絡(luò)循環(huán)迭代10次后損失函數(shù)趨近于收斂,分類精度分別為95.96%和96.13%,損失函數(shù)為0.1341和0.1216。
實(shí)驗(yàn)組3 為了客觀展示實(shí)驗(yàn)結(jié)果,通過(guò)10次十字交叉法驗(yàn)證,如圖5所示。清楚地看出針對(duì)高維數(shù)據(jù)集采用MIFA計(jì)算出的公因子作為分類器輸入項(xiàng)所得到的分類正確率高于FA方法。
圖5 數(shù)據(jù)集交叉驗(yàn)證分類精度對(duì)比
綜上所述,證明了MIFA特征選擇較傳統(tǒng)FA方法性能更加優(yōu)越。而在文獻(xiàn)[7]中康桂霞采用ReliefF特征選擇對(duì)早期癌癥風(fēng)險(xiǎn)因素進(jìn)行分類,通過(guò)決策樹DT和支持向量機(jī)SVM以及BP神經(jīng)網(wǎng)絡(luò)構(gòu)建模型得出的分類精確度如表5所示??梢郧宄匕l(fā)現(xiàn)本文提出的MIFA算法均值高于文獻(xiàn)[7]所示的ReliefF特征選擇算法,證明了算法的有效性。
表5 分類精確度對(duì)比
本文提出了結(jié)合互信息的因子分析對(duì)患癌因素的分類算法,并進(jìn)行仿真。算法在進(jìn)行特征選擇的時(shí)利用互信息處理非線性關(guān)系的優(yōu)點(diǎn),使用協(xié)方差陣轉(zhuǎn)換為互信息陣從而確定公因子特征達(dá)到降維目的。采用神經(jīng)網(wǎng)絡(luò)作為分類器,三組數(shù)據(jù)分類精度分別達(dá)到96.51%、95.96%和96.13%。仿真結(jié)果表明在處理具有復(fù)雜性和高維度的癌癥數(shù)據(jù)效果顯著。今后的研究工作將主要集中在如何結(jié)合條件互信息與因子分析對(duì)高維的醫(yī)學(xué)數(shù)據(jù)集進(jìn)行處理。