在生物和醫學研究中采用基因矩陣技術為癌癥診斷和治療提供了一條新思路, 為了發現不同癌癥類型和準確地對癌癥樣本進行分類, 提出了基于神經氣體(NG)算法的聚類集成算法框架雙神經氣體聚類集成(DNGCE)去挖掘含有噪音的癌癥基因數據集的內在結構。該算法框架不僅把神經氣體算法應用在癌癥基因數據集的樣本維, 同時也應用于屬性維中, 最后使用Normalized Cut算法去劃分前面得到的多種不同聚類結果組成的一致性矩陣, 最終得到更加準確的聚類結果。通過應用在癌癥基因數據集的實驗結果表明, 提出的聚類集成算法框架對于癌癥基因數據集的聚類效果要遠勝過單一的聚類算法和現階段存在的大多數的聚類方法, 可以極大提高癌癥診斷的準確度。
引用本文: 張曉東, 陳漢濤. 基于雙神經氣體的聚類集成算法應用于癌癥基因數據集. 生物醫學工程學雜志, 2015, 32(1): 93-98. doi: 10.7507/1001-5515.20150017 復制
引言
傳統的癌癥診斷技術主要根據細胞形態學上的表現來判斷是否得了癌癥。隨著基因矩陣技術的快速發展,越來越多的研究者采用這些新技術進行癌癥的診斷和治療。與傳統的診斷技術相比,基于基因矩陣的技術允許同時監測成千上萬基因的表達水平,能夠在染色體組的層面上進行樣本分析,并提供更為精確和可靠的診斷結果。基因矩陣技術獲取的二維矩陣數據由基因維和樣本維組成。通常,基因維上的基因數目特別大,多達成千上萬;而樣本維上的樣本數量很少,少到幾十或上百。基因矩陣的特性對于分析基因表達數據的研究者來說是一種很大的挑戰。
發現癌癥類型的任務由兩個具有挑戰性的子任務組成:①在給定的基因表達數據里,能夠正確地估算出有多少種類型;②能夠準確地將樣本分配到相應的類型。為了能夠成功地進行癌癥的診斷和治療,我們設計了一個可從癌癥基因表達數據發現新型癌癥子類型的模式發現新框架——雙神經氣體算法聚類集成(dual neural gas cluster ensemble,DNGCE)。該框架能夠有效地融合計算機技術與分子生物技術,并通過計算機技術中的各種模式識別算法,從基因表達數據中正確地發現和區分癌癥類型。它不但能夠區分癌癥樣本和非癌癥樣本,發現癌癥子類型,輔助癌癥診斷和治療工作,而且能夠充分發揮科技交叉領域學科的優勢,發現新的學科生長點。
1 相關研究工作
癌癥類型發現是癌癥分類中的一個重要任務。國內外的科研工作者在從基因矩陣中發現不同癌癥類型方面做了大量的研究工作[1-9]。
國際上,Golub等[1]采用了自組織特征映射神經網絡和鄰域分析方法從基因矩陣中發現兩種類型的人類急性白血病(急性骨髓性白血病和急性淋巴母細胞性白血病);Zhao等[2]應用最大子空間的方法對協調基因的聚類進行研究;Wigle等[3]使用聚類算法和統計分析成功地識別出小細胞肺癌樣本和正常樣本。
國內研究方面,袁遠等[4]探討了基因表達譜數據的聚類分析,并根據非線性降維算法等容特征映射,提出了一種基于Isomap的大規模基因表達譜數據聚類算法;朱思峰等[5]在基因表達數據分析中應用了免疫聚類算法;陳軍等[6]在對海馬組織基因的聚類分析過程中使用了一種改進的模糊C-均值聚類算法(fuzzy c-means algorithm, FCM)算法;李俊林等[7]應用仿分子動理學數據聚類法作用于基因表達數據上,獲得較好的聚類結果;顏文勝[8]提出了基于彈簧模型的基因表達數據可視化聚類的方法;葛芳等[9]提出了一種改進的譜聚類算法并將其應用于基因表達譜的分析中;張林等[10]報道了基于Dirichlet過程無限混合模型的基因表達數據聚類算法。以上的研究工作主要采用單一的聚類算法對基因數據進行分析。相對而言,單一聚類算法的魯棒性、穩定性、準確性和并行運算的能力不夠好, 一般只對部分的數據集有效。
近年來,研究工作者更加重視聚類集成技術(cluster ensemble or consensus clustering)在生物信息學中的應用[11-17]。他們通過聚類集成技術從基因表達數據中發現不同的癌癥類型。與單一的聚類算法相比,聚類集成技術更加有效,而且魯棒性、穩定性、準確性和并行運算能力更好。Dudoit等[11]設計了一種基于預測的重采樣聚類集成算法來發現癌癥類型,新算法成功地對四個癌癥數據集(淋巴瘤數據集、白血病數據集、NCI60數據集和黑色素瘤數據集)的樣本進行了分類。Smolkin等[12]提出了用于癌癥發現的基于層次聚類和隨機子空間的聚類集成算法。在Monti等[13]的工作中,提出基于層次聚類和基于自組織映射神經網絡的兩種重采樣聚類集成算法,并把這兩種算法應用于從基因表達數據發現癌癥類型上。在Handl等[14]的工作中,總結了聚類技術在癌癥類型上的應用,并討論了各種聚類方法包括聚類集成的優勢和劣勢。Bertoni等[15]提出了基于隨機圖的聚類集成算法,并用于發現有醫學意義的癌癥類型。Yu等[16]提出了基于隨機子空間和圖論的聚類集成算法,并應用在癌癥發現上。他們還設計了集擾動技術、聚類集成算法和聚類有效性指標為一體的新型癌癥發現框架[17]。總的來說,聚類集成算法比單一的聚類算法更加穩定,更加有效,魯棒性也更好。
但是,大多數聚類集成算法都沒有把基因表達數據的一些特性作為先驗知識加入到聚類過程中,沒有考慮到集成器中不同聚類結果對聚類驗證過程準確性的影響程度是不同的。原有的集成器生成技術還有待進一步改進,聚類有效性指標還有待進一步提高。為了解決這些問題,我們設計了新的癌癥基因表達數據模式發現框架——DNGCE。為了表現DNGCE對于癌癥基因數據集聚類的優越性,我們主要設計了3組實驗。第一組實驗闡釋了為什么要對屬性維使用神經氣體網絡算法(neural gas, NG)進行聚類,即在對比算法中減少了對屬性維用NG算法進行聚類這一步驟。第二組實驗是與集成算法中使用到的NG算法和最常用的K-means單個聚類算法進行對比。第三組實驗則是與三種相關的聚類集成算法進行比較,包括:基于隨機子空間的神經氣體聚類集成算法(random subspace-NGCE,RS-NGCE),跟DNGCE集成算法的區別在于它在對屬性維的處理過程使用了隨機子空間的方法;基于隨機子空間的K-means聚類集成算法(RS-KMCE),跟RS-NGCE的區別在于它對樣本聚類時使用的是K-means算法;雙K-means聚類集成算法(DKMCE)則是基于我們提出的框架結構,但是在屬性維和樣本維的處理過程中使用的都是K-means算法。
2 癌癥基因數據集的處理過程和相關算法的實現
DNGCE集成算法首先用NG算法聚類方法對數據集的屬性維進行聚類,通過調整神經網絡神經元的個數消除噪音并得到一系列新的數據集。然后再次使用NG算法對新數據集的樣本維進行聚類,得到一系列不同的聚類結果,把這些聚類結果整合成一致性矩陣,最后使用Normalized Cut(Ncut)圖論算法對一致性矩陣進行劃分,得到最終的聚類結果。圖 1為DNGCE算法的框架流程圖。

首先,給定一個含有n個樣本和m個屬性的數據集D(n×m), 將初始數據集轉置得到數據集D′(m×n), 方式如下:
$ {{D}^{'}}={{D}^{T}} $ |
然后,將NG算法應用于轉置后的數據集D′={f1,f2,…,fm},然后我們使用NG算法。
NG算法是基于神經網絡算法的柔和最大化適應規則的聚類方法。與K-means聚類算法相比,NG不僅可以像標準的K-means算法聚類過程一樣去處理輸入向量,還能考慮聚類中心點的領域排名。新的數據矩陣P′={a1, a2, …, am}將作為NG算法的輸入,然后獲得一系列的聚類中心點C={c1, c2, …, cm}作為輸出。NG的最優化處理過程如下:首先隨機選取一系列的聚類中心點;然后使用迭代的學習步驟去優化中心點的位置。在每一次的迭代之后,NG重新計算中心點的位置,計算方法如下:
$ {c_h}\left({g+1} \right)={c_h}\left(g \right)+\rho \left(g \right)\cdot \zeta \left({{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right), \Phi \left(g \right)} \right)\cdot \left({{\boldsymbol{a}_g}-{c_h}} \right)\zeta \left({{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right), \Phi \left(g \right)} \right)=\exp \left({-\cdot \frac{{{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right)}}{{\Phi \left(g \right)}}} \right) $ |
其中ch(g)和ch(g+1)分別表示中心點Ch在第g次和第g+1次迭代中的值,a g是數據集P′的一個輸入向量,χh(a g, ch)表示相對于輸入向量a g的中心點Ch的排名。ζ(·)是一個控制輸入向量a g影響區域的權重函數,ρ(g)和Φ(g)是自己設計的衰減函數。當NG算法終止的時候,所有的中心點將被遷移到輸入空間中的最佳位置。NG的目標是減少平均似真度:
$ \begin{array}{l} \Phi=\frac{1}{m}\sum\limits_{j=1}^m {\varphi \left({{\boldsymbol{a}_j}, \gamma \left({{\boldsymbol{a}_j}} \right)} \right)} \\ \; \;\; \;\; \;\; \;\; \gamma \left({{\boldsymbol{a}_j}} \right)={c_{h*}}\\ h*=\arg \; \;\mathop {\min }\limits_{1 \le h \le k} \varphi \left({{\boldsymbol{a}_j}, {c_h}} \right) \end{array} $ |
其中Φ()是歐式距離函數。然后,輸入向量a j(j∈{1, …, m})被分發都相應的最靠近的中心點。最終,NG把數據集P′劃分為k個聚類,然后隨機的從一個聚類中生成一個輸入向量作為新數據集Pb′的新的向量。
通過調整聚類個數k,應用NG產生一系列的心數據集P1′, P2′, …, PB′。然后通過轉置操作把mb×n的數據矩陣P b′(b∈{1, 2, …, B)轉換為n×mb的數據矩陣P b。緊接著,再次應用NG對數據集P1, P2, …, PB進行聚類,得到一些列的聚類結果I1, I2, …, IB。然后我們可以將這些聚類結果I1, I2, …, IB轉換為鄰接矩陣。緊接著,通過整合所有的鄰接矩陣構造出一個一致性矩陣W,方法如下:
$ \boldsymbol{W}=\frac{1}{B}\sum\limits_{b=1}^B {{M^b}} $ |
最后,采用Ncut算法對一致性矩陣進行劃分,得到最終的聚類結果。Ncut首先構造一個全連接的圖G=(D, W), 其中D是所有頂點的集合包括了一系列的數據樣本{d1, d2, …, dn}。而W是邊的集合wij,表示一致性矩陣相對應的一系列數據樣本對si和sj的相似性。Ncut的目標函數(U, V)同時用于最大化相同聚類內的相關聯和最小化不同聚類之間的分離,定義如下:
$ \begin{array}{l} \nabla \left({U, V} \right)=\frac{{\forall \left({U, V} \right)}}{{\gamma \left({U, V} \right)}}+\frac{{\forall \left({U, V} \right)}}{{\gamma \left({V, D} \right)}}\\ \; \;\; \;\; \;\; \;\forall \left({U, V} \right)=\sum\limits_{{d_i} \in U, {d_h} \in V} {{W_{ij}}} \\ \; \;\; \;\; \;\; \;\; \gamma \left({U, D} \right)=\sum\limits_{{d_i} \in U, {d_h} \in D} {{W_{ij}}} \end{array} $ |
其中▽(U, V)是在U和V之間的一種分解方式,wij是一致性矩陣W中的內容,表示在頂點di和頂點dj之間的邊的權值。Ncut問題實際上是一個NP完全問題,但在一個真實值領域,因此我們總可以找到一個近似的離散解決方案。DNGCE通過劃分一致性矩陣得出最終的聚類結果。
3 實驗結果及分析
為了評價我們提出的DNGCE算法的性能表現,我們使用4個基因數據集,采用常用的聚類效果評價標準Rand Index(RI)進行衡量。
假設給定實際的聚類劃分P包含了k個聚類P={C1, C2, …, Ck}, 另外還給出了預測的聚類劃分P′包含了l個聚類P={C′1, C′2, …, C′l}。其中RI的計算方法如下式:
$ {\rm{RI}}=\frac{{{\tau _1}+{\tau _4}}}{{{\tau _1}+{\tau _2}+{\tau _3}+{\tau _4}}} $ |
上式中τ1表示樣本數據對di和dj在實際的聚類劃分P和預測的聚類劃分P′都同時被分到了同一個聚類的數目。τ2表示樣本數據對di和dj在實際的聚類劃分P中被分為不同的聚類但在預測的聚類劃分P′中卻被分到了相同的聚類的數目。τ3表示樣本數據對di和dj在實際的聚類劃分P中屬于同一個聚類但在預測的聚類劃分P′中卻被分到了不同的聚類的數目。τ4表示樣本數據對di和dj在實際的聚類劃分P和預測的聚類劃分P′都同時被分到了不同的聚類的數目。顯然,RI∈0, 1],越接近于1表明聚類結果越準確。
如表 1所示,Leukemia數據集[1]中有38個樣本數據,它們分為三類,包括急性髓性白血病、T系急性淋巴細胞白血病和B系急性淋巴細胞白血病。Novartis tissues數據集[18]中的103個基因樣本則是來自四種有明顯區別的癌癥患者,分別是乳腺癌、前列腺癌、肺癌和直腸癌。Lung cancer數據集[19]包含了197個樣本,分別是肺腺癌、肺鱗狀細胞癌、良性肺腫瘤患者和擁有健康肺的人群的四類不同基因樣本。而Normal tissues數據集[20]則是由13種常見癌癥患者組成的90個基因樣本,包含肺癌、胸腺癌、宮頸癌等。

3.1 NG組件對聚類效果的影響
為了探索DNGCE中NG組件對于最終基因數據集聚類結果的影響,我們對DNGCE和NGCE的聚類結果進行了比較,其中NGCE只是在樣本維中使用了NG算法而不是在屬性維和樣本維都使用NG算法。表 2通過RI評價標準很好地展現了DNGCE和NGCE的聚類對比結果,在對比過程中我們使用了Leukemia、Novartis tissues、Lung cancer數據集。字體為粗體數據表示的是較好的結果,顯然,DNGCE不但聚類結果準確性要優于NGCE,而且穩定性也有相當程度的提升。其原因是DNGCE采用了NG對屬性維進行了聚類,然后選擇一系列的權值向量作為新的屬性維,這個步驟可以減少含有噪音的屬性對于聚類的影響,并且可以進一步提升DNGCE的聚類性能。如果少了DNGCE中的一個NG組件,最終獲得的聚類結果將不那么理想。因此我們提出的方法將為癌癥的正確診斷提供很大的幫助。

3.2 與單個聚類算法的聚類效果對比
表 3對比了DNGCE與單個聚類算法NG和K-means的效果,DNGCE方法獲得的RI平均值較單個聚類算法提高11%以上,而標準差只有單個聚類算法的10%左右,說明使用我們提出的方法,基因數據集的聚類準確度和穩定性都得到了極大的提升,顯示了DNGCE聚類集成算法相對于單個聚類算法NG和K-means更好的性能表現。DNGCE之所以能獲得如此結果,是由于集成的聚類集合歸納了多種不同的聚類劃分,減少了聚類性能的不穩定性,挖掘了更多癌癥樣本數據之間的關聯,因此能獲得更加穩定和準確的聚類結果。

3.3 與其它聚類集成方法的聚類效果對比
如表 4所示,DNGCE、RS-NGCE和RS-KMCE處理數據集時都能獲得較好的RI值,這意味著DNGCE、RS-NGCE和RS-KMCE都能挖掘數據集的基底結構。可能的原因是隨機子空間的方法可以減少噪音屬性對于聚類結果的影響。同時也可以看出,對于所有的數據集,DNGCE算法相比于其它3個集成算法都能取得更好的RI平均值,獲得更好的聚類結果,可能的原因是DNGCE不僅使用了標準的K-means聚類處理過程,還考慮了聚類中心點的領域排名,使得在集成的過程中利用了更多的癌癥基因信息,因此可以提高聚類結果的準確性、穩定性和魯棒性。在同現階段已有的這些聚類集成算法的比較中,可以看出我們提出的新集成方法對于癌癥基因數據集的處理還是更加有效的,更具有積極的臨床意義。

4 結論
在本文中,我們通過使用聚類集成方法探討了如何有效地處理含有噪音屬性的基因數據集的聚類問題。本文提出了一個新的基于NG算法的聚類集成框架,命名為DNGCE,它集成了兩次NG算法聚類方法,用于發現可能含有噪音屬性的癌癥基因數據集的底層結構,從而獲得更準確的聚類結果,對癌癥患者做出更加準確的診斷。實驗結果表明,DNGCE聚類集成算法用于癌癥基因表達譜數據集能取得令人滿意的結果,對于癌癥的準確診斷和預防具有積極的臨床意義。
引言
傳統的癌癥診斷技術主要根據細胞形態學上的表現來判斷是否得了癌癥。隨著基因矩陣技術的快速發展,越來越多的研究者采用這些新技術進行癌癥的診斷和治療。與傳統的診斷技術相比,基于基因矩陣的技術允許同時監測成千上萬基因的表達水平,能夠在染色體組的層面上進行樣本分析,并提供更為精確和可靠的診斷結果。基因矩陣技術獲取的二維矩陣數據由基因維和樣本維組成。通常,基因維上的基因數目特別大,多達成千上萬;而樣本維上的樣本數量很少,少到幾十或上百。基因矩陣的特性對于分析基因表達數據的研究者來說是一種很大的挑戰。
發現癌癥類型的任務由兩個具有挑戰性的子任務組成:①在給定的基因表達數據里,能夠正確地估算出有多少種類型;②能夠準確地將樣本分配到相應的類型。為了能夠成功地進行癌癥的診斷和治療,我們設計了一個可從癌癥基因表達數據發現新型癌癥子類型的模式發現新框架——雙神經氣體算法聚類集成(dual neural gas cluster ensemble,DNGCE)。該框架能夠有效地融合計算機技術與分子生物技術,并通過計算機技術中的各種模式識別算法,從基因表達數據中正確地發現和區分癌癥類型。它不但能夠區分癌癥樣本和非癌癥樣本,發現癌癥子類型,輔助癌癥診斷和治療工作,而且能夠充分發揮科技交叉領域學科的優勢,發現新的學科生長點。
1 相關研究工作
癌癥類型發現是癌癥分類中的一個重要任務。國內外的科研工作者在從基因矩陣中發現不同癌癥類型方面做了大量的研究工作[1-9]。
國際上,Golub等[1]采用了自組織特征映射神經網絡和鄰域分析方法從基因矩陣中發現兩種類型的人類急性白血病(急性骨髓性白血病和急性淋巴母細胞性白血病);Zhao等[2]應用最大子空間的方法對協調基因的聚類進行研究;Wigle等[3]使用聚類算法和統計分析成功地識別出小細胞肺癌樣本和正常樣本。
國內研究方面,袁遠等[4]探討了基因表達譜數據的聚類分析,并根據非線性降維算法等容特征映射,提出了一種基于Isomap的大規模基因表達譜數據聚類算法;朱思峰等[5]在基因表達數據分析中應用了免疫聚類算法;陳軍等[6]在對海馬組織基因的聚類分析過程中使用了一種改進的模糊C-均值聚類算法(fuzzy c-means algorithm, FCM)算法;李俊林等[7]應用仿分子動理學數據聚類法作用于基因表達數據上,獲得較好的聚類結果;顏文勝[8]提出了基于彈簧模型的基因表達數據可視化聚類的方法;葛芳等[9]提出了一種改進的譜聚類算法并將其應用于基因表達譜的分析中;張林等[10]報道了基于Dirichlet過程無限混合模型的基因表達數據聚類算法。以上的研究工作主要采用單一的聚類算法對基因數據進行分析。相對而言,單一聚類算法的魯棒性、穩定性、準確性和并行運算的能力不夠好, 一般只對部分的數據集有效。
近年來,研究工作者更加重視聚類集成技術(cluster ensemble or consensus clustering)在生物信息學中的應用[11-17]。他們通過聚類集成技術從基因表達數據中發現不同的癌癥類型。與單一的聚類算法相比,聚類集成技術更加有效,而且魯棒性、穩定性、準確性和并行運算能力更好。Dudoit等[11]設計了一種基于預測的重采樣聚類集成算法來發現癌癥類型,新算法成功地對四個癌癥數據集(淋巴瘤數據集、白血病數據集、NCI60數據集和黑色素瘤數據集)的樣本進行了分類。Smolkin等[12]提出了用于癌癥發現的基于層次聚類和隨機子空間的聚類集成算法。在Monti等[13]的工作中,提出基于層次聚類和基于自組織映射神經網絡的兩種重采樣聚類集成算法,并把這兩種算法應用于從基因表達數據發現癌癥類型上。在Handl等[14]的工作中,總結了聚類技術在癌癥類型上的應用,并討論了各種聚類方法包括聚類集成的優勢和劣勢。Bertoni等[15]提出了基于隨機圖的聚類集成算法,并用于發現有醫學意義的癌癥類型。Yu等[16]提出了基于隨機子空間和圖論的聚類集成算法,并應用在癌癥發現上。他們還設計了集擾動技術、聚類集成算法和聚類有效性指標為一體的新型癌癥發現框架[17]。總的來說,聚類集成算法比單一的聚類算法更加穩定,更加有效,魯棒性也更好。
但是,大多數聚類集成算法都沒有把基因表達數據的一些特性作為先驗知識加入到聚類過程中,沒有考慮到集成器中不同聚類結果對聚類驗證過程準確性的影響程度是不同的。原有的集成器生成技術還有待進一步改進,聚類有效性指標還有待進一步提高。為了解決這些問題,我們設計了新的癌癥基因表達數據模式發現框架——DNGCE。為了表現DNGCE對于癌癥基因數據集聚類的優越性,我們主要設計了3組實驗。第一組實驗闡釋了為什么要對屬性維使用神經氣體網絡算法(neural gas, NG)進行聚類,即在對比算法中減少了對屬性維用NG算法進行聚類這一步驟。第二組實驗是與集成算法中使用到的NG算法和最常用的K-means單個聚類算法進行對比。第三組實驗則是與三種相關的聚類集成算法進行比較,包括:基于隨機子空間的神經氣體聚類集成算法(random subspace-NGCE,RS-NGCE),跟DNGCE集成算法的區別在于它在對屬性維的處理過程使用了隨機子空間的方法;基于隨機子空間的K-means聚類集成算法(RS-KMCE),跟RS-NGCE的區別在于它對樣本聚類時使用的是K-means算法;雙K-means聚類集成算法(DKMCE)則是基于我們提出的框架結構,但是在屬性維和樣本維的處理過程中使用的都是K-means算法。
2 癌癥基因數據集的處理過程和相關算法的實現
DNGCE集成算法首先用NG算法聚類方法對數據集的屬性維進行聚類,通過調整神經網絡神經元的個數消除噪音并得到一系列新的數據集。然后再次使用NG算法對新數據集的樣本維進行聚類,得到一系列不同的聚類結果,把這些聚類結果整合成一致性矩陣,最后使用Normalized Cut(Ncut)圖論算法對一致性矩陣進行劃分,得到最終的聚類結果。圖 1為DNGCE算法的框架流程圖。

首先,給定一個含有n個樣本和m個屬性的數據集D(n×m), 將初始數據集轉置得到數據集D′(m×n), 方式如下:
$ {{D}^{'}}={{D}^{T}} $ |
然后,將NG算法應用于轉置后的數據集D′={f1,f2,…,fm},然后我們使用NG算法。
NG算法是基于神經網絡算法的柔和最大化適應規則的聚類方法。與K-means聚類算法相比,NG不僅可以像標準的K-means算法聚類過程一樣去處理輸入向量,還能考慮聚類中心點的領域排名。新的數據矩陣P′={a1, a2, …, am}將作為NG算法的輸入,然后獲得一系列的聚類中心點C={c1, c2, …, cm}作為輸出。NG的最優化處理過程如下:首先隨機選取一系列的聚類中心點;然后使用迭代的學習步驟去優化中心點的位置。在每一次的迭代之后,NG重新計算中心點的位置,計算方法如下:
$ {c_h}\left({g+1} \right)={c_h}\left(g \right)+\rho \left(g \right)\cdot \zeta \left({{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right), \Phi \left(g \right)} \right)\cdot \left({{\boldsymbol{a}_g}-{c_h}} \right)\zeta \left({{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right), \Phi \left(g \right)} \right)=\exp \left({-\cdot \frac{{{\chi _h}\left({{\boldsymbol{a}_g}, {c_h}} \right)}}{{\Phi \left(g \right)}}} \right) $ |
其中ch(g)和ch(g+1)分別表示中心點Ch在第g次和第g+1次迭代中的值,a g是數據集P′的一個輸入向量,χh(a g, ch)表示相對于輸入向量a g的中心點Ch的排名。ζ(·)是一個控制輸入向量a g影響區域的權重函數,ρ(g)和Φ(g)是自己設計的衰減函數。當NG算法終止的時候,所有的中心點將被遷移到輸入空間中的最佳位置。NG的目標是減少平均似真度:
$ \begin{array}{l} \Phi=\frac{1}{m}\sum\limits_{j=1}^m {\varphi \left({{\boldsymbol{a}_j}, \gamma \left({{\boldsymbol{a}_j}} \right)} \right)} \\ \; \;\; \;\; \;\; \;\; \gamma \left({{\boldsymbol{a}_j}} \right)={c_{h*}}\\ h*=\arg \; \;\mathop {\min }\limits_{1 \le h \le k} \varphi \left({{\boldsymbol{a}_j}, {c_h}} \right) \end{array} $ |
其中Φ()是歐式距離函數。然后,輸入向量a j(j∈{1, …, m})被分發都相應的最靠近的中心點。最終,NG把數據集P′劃分為k個聚類,然后隨機的從一個聚類中生成一個輸入向量作為新數據集Pb′的新的向量。
通過調整聚類個數k,應用NG產生一系列的心數據集P1′, P2′, …, PB′。然后通過轉置操作把mb×n的數據矩陣P b′(b∈{1, 2, …, B)轉換為n×mb的數據矩陣P b。緊接著,再次應用NG對數據集P1, P2, …, PB進行聚類,得到一些列的聚類結果I1, I2, …, IB。然后我們可以將這些聚類結果I1, I2, …, IB轉換為鄰接矩陣。緊接著,通過整合所有的鄰接矩陣構造出一個一致性矩陣W,方法如下:
$ \boldsymbol{W}=\frac{1}{B}\sum\limits_{b=1}^B {{M^b}} $ |
最后,采用Ncut算法對一致性矩陣進行劃分,得到最終的聚類結果。Ncut首先構造一個全連接的圖G=(D, W), 其中D是所有頂點的集合包括了一系列的數據樣本{d1, d2, …, dn}。而W是邊的集合wij,表示一致性矩陣相對應的一系列數據樣本對si和sj的相似性。Ncut的目標函數(U, V)同時用于最大化相同聚類內的相關聯和最小化不同聚類之間的分離,定義如下:
$ \begin{array}{l} \nabla \left({U, V} \right)=\frac{{\forall \left({U, V} \right)}}{{\gamma \left({U, V} \right)}}+\frac{{\forall \left({U, V} \right)}}{{\gamma \left({V, D} \right)}}\\ \; \;\; \;\; \;\; \;\forall \left({U, V} \right)=\sum\limits_{{d_i} \in U, {d_h} \in V} {{W_{ij}}} \\ \; \;\; \;\; \;\; \;\; \gamma \left({U, D} \right)=\sum\limits_{{d_i} \in U, {d_h} \in D} {{W_{ij}}} \end{array} $ |
其中▽(U, V)是在U和V之間的一種分解方式,wij是一致性矩陣W中的內容,表示在頂點di和頂點dj之間的邊的權值。Ncut問題實際上是一個NP完全問題,但在一個真實值領域,因此我們總可以找到一個近似的離散解決方案。DNGCE通過劃分一致性矩陣得出最終的聚類結果。
3 實驗結果及分析
為了評價我們提出的DNGCE算法的性能表現,我們使用4個基因數據集,采用常用的聚類效果評價標準Rand Index(RI)進行衡量。
假設給定實際的聚類劃分P包含了k個聚類P={C1, C2, …, Ck}, 另外還給出了預測的聚類劃分P′包含了l個聚類P={C′1, C′2, …, C′l}。其中RI的計算方法如下式:
$ {\rm{RI}}=\frac{{{\tau _1}+{\tau _4}}}{{{\tau _1}+{\tau _2}+{\tau _3}+{\tau _4}}} $ |
上式中τ1表示樣本數據對di和dj在實際的聚類劃分P和預測的聚類劃分P′都同時被分到了同一個聚類的數目。τ2表示樣本數據對di和dj在實際的聚類劃分P中被分為不同的聚類但在預測的聚類劃分P′中卻被分到了相同的聚類的數目。τ3表示樣本數據對di和dj在實際的聚類劃分P中屬于同一個聚類但在預測的聚類劃分P′中卻被分到了不同的聚類的數目。τ4表示樣本數據對di和dj在實際的聚類劃分P和預測的聚類劃分P′都同時被分到了不同的聚類的數目。顯然,RI∈0, 1],越接近于1表明聚類結果越準確。
如表 1所示,Leukemia數據集[1]中有38個樣本數據,它們分為三類,包括急性髓性白血病、T系急性淋巴細胞白血病和B系急性淋巴細胞白血病。Novartis tissues數據集[18]中的103個基因樣本則是來自四種有明顯區別的癌癥患者,分別是乳腺癌、前列腺癌、肺癌和直腸癌。Lung cancer數據集[19]包含了197個樣本,分別是肺腺癌、肺鱗狀細胞癌、良性肺腫瘤患者和擁有健康肺的人群的四類不同基因樣本。而Normal tissues數據集[20]則是由13種常見癌癥患者組成的90個基因樣本,包含肺癌、胸腺癌、宮頸癌等。

3.1 NG組件對聚類效果的影響
為了探索DNGCE中NG組件對于最終基因數據集聚類結果的影響,我們對DNGCE和NGCE的聚類結果進行了比較,其中NGCE只是在樣本維中使用了NG算法而不是在屬性維和樣本維都使用NG算法。表 2通過RI評價標準很好地展現了DNGCE和NGCE的聚類對比結果,在對比過程中我們使用了Leukemia、Novartis tissues、Lung cancer數據集。字體為粗體數據表示的是較好的結果,顯然,DNGCE不但聚類結果準確性要優于NGCE,而且穩定性也有相當程度的提升。其原因是DNGCE采用了NG對屬性維進行了聚類,然后選擇一系列的權值向量作為新的屬性維,這個步驟可以減少含有噪音的屬性對于聚類的影響,并且可以進一步提升DNGCE的聚類性能。如果少了DNGCE中的一個NG組件,最終獲得的聚類結果將不那么理想。因此我們提出的方法將為癌癥的正確診斷提供很大的幫助。

3.2 與單個聚類算法的聚類效果對比
表 3對比了DNGCE與單個聚類算法NG和K-means的效果,DNGCE方法獲得的RI平均值較單個聚類算法提高11%以上,而標準差只有單個聚類算法的10%左右,說明使用我們提出的方法,基因數據集的聚類準確度和穩定性都得到了極大的提升,顯示了DNGCE聚類集成算法相對于單個聚類算法NG和K-means更好的性能表現。DNGCE之所以能獲得如此結果,是由于集成的聚類集合歸納了多種不同的聚類劃分,減少了聚類性能的不穩定性,挖掘了更多癌癥樣本數據之間的關聯,因此能獲得更加穩定和準確的聚類結果。

3.3 與其它聚類集成方法的聚類效果對比
如表 4所示,DNGCE、RS-NGCE和RS-KMCE處理數據集時都能獲得較好的RI值,這意味著DNGCE、RS-NGCE和RS-KMCE都能挖掘數據集的基底結構。可能的原因是隨機子空間的方法可以減少噪音屬性對于聚類結果的影響。同時也可以看出,對于所有的數據集,DNGCE算法相比于其它3個集成算法都能取得更好的RI平均值,獲得更好的聚類結果,可能的原因是DNGCE不僅使用了標準的K-means聚類處理過程,還考慮了聚類中心點的領域排名,使得在集成的過程中利用了更多的癌癥基因信息,因此可以提高聚類結果的準確性、穩定性和魯棒性。在同現階段已有的這些聚類集成算法的比較中,可以看出我們提出的新集成方法對于癌癥基因數據集的處理還是更加有效的,更具有積極的臨床意義。

4 結論
在本文中,我們通過使用聚類集成方法探討了如何有效地處理含有噪音屬性的基因數據集的聚類問題。本文提出了一個新的基于NG算法的聚類集成框架,命名為DNGCE,它集成了兩次NG算法聚類方法,用于發現可能含有噪音屬性的癌癥基因數據集的底層結構,從而獲得更準確的聚類結果,對癌癥患者做出更加準確的診斷。實驗結果表明,DNGCE聚類集成算法用于癌癥基因表達譜數據集能取得令人滿意的結果,對于癌癥的準確診斷和預防具有積極的臨床意義。