徐占洋,鄭克長
(南京信息工程大學 計算機與軟件學院,南京 210044)(*通信作者電子郵箱983119701@qq.com)
隨著數據量的日益增長,要處理的數據信息規模也隨之增大,傳統模式的大數據挖掘處理技術已經無法滿足現在對于算法效率和準確度的要求。云計算為大數據的挖掘與處理提供了便利的服務,而Hadoop則為大數據處理技術提供了很好的解決方案。對于無監督數據聚類,不同的數據集需要選擇不同的、合適的聚類算法,這無疑增加了工作量與工作難度。為了解決上述問題,Strehl等[1]提出了合并獨立聚類算法的思想,這就是聚類融合的由來。相比單一聚類算法,聚類融合具有以下優點:
1)魯棒性。許多研究實驗表明,聚類融合在不同領域和不同數據集上的表現都優于獨立的聚類算法。也就是說,聚類融合的算法性能,即最終劃分的準確度優于單一聚類算法。
2)穩定性。單一聚類算法大多受噪聲數據、異常值、數據分布等影響,而聚類融合對于這些因素則不敏感。
3)可并行性和可擴展性。并不是每個聚類算法都可以并行,但聚類融合可以并行;同時,聚類融合可以從多個分布式數據源上集成基聚類。
遺傳算法(Genetic Algorithm, GA)[2]是受自然選擇過程啟發設計的一種進化算法,它通常依靠交叉、變異和選擇等操作優化和搜索問題。在實際應用中,遺傳算法經常被用來解決全局優化問題。在處理大量的多維數據集時,時間和空間的高復雜度是串行聚類融合算法的一個不足之處。本文主要從以下兩個方面設計實現云計算下基于改進遺傳算法的聚類融合算法(Clustering Ensemble algorithm based on Improved Genetic Algorithm, CEIGA):
1)聚類融合要求基聚類具有多樣性,基于此本文設計了新的選擇算子用于遺傳算法。同時,本文將改進后的遺傳算法作為聚類融合的一致性集成函數,合并基聚類生成最終聚類結果,從而提高一般聚類融合算法的性能,降低算法的空間復雜度。
2)本文采用Hadoop分布式框架實現基于改進遺傳算法的并行聚類融合算法。MapReduce編程模型是Hadoop框架中的一個核心部分,它能夠提高基于改進遺傳算法的并行聚類融合算法的計算效率,降低算法的時間復雜度。
由于不同的聚類算法在同一個數據集上會得到不同的聚類結果,Strehl等[1]提出了聚類融合這一概念,并對其進行了定義:對同一數據集進行聚類得到多個有差別的基聚類劃分,再將其進行合并以得到一個統一的改進的共識劃分,并且不使用數據集原有的屬性特征。聚類融合的出現在數據挖掘領域也掀起了研究熱潮。近年來,學者們從不同方面進行探索,如基聚類的生成機制(同一種算法不同參數、不同算法、不同數據子集、不同特征子集等)[1,3-5],一致性集成函數(投票法、基于矩陣的方法、基于圖的方法等)[1,6-9],基聚類的評估與選擇(聚類評價函數和成員選擇等)[9-10]和聚類融合的應用(圖像視頻識別、醫學診斷、入侵檢測等)[8,11-12]。
遺傳算法是由Turing[2]根據生物學的優勝劣汰、適者生存進化機制發展而來的用于解決多目標優化問題的方案,目前已被應用于組合優化、機器學習和人工智能等領域。文獻[13-15]將遺傳算法用于聚類融合,并將基聚類劃分作為目標,進行優化得到全局最優的共識劃分。遺傳算法雖然可以有效地解決聚類融合中的全局優化問題,但是如何構造簡單有效的編碼方式,如何選擇合適的適應度函數,如何設計恰當的選擇、交叉和變異算子等是改進基于遺傳算法的聚類融合算法的關鍵。
隨著時代的發展,數據量越來越大,傳統的數據挖掘算法執行起來費時耗力。Hadoop平臺上的MapReduce框架經常用于解決大數據集的分布式存儲的并行計算問題[16]。一個MapReduce程序由一個map函數進行過濾和排序操作,一個reduce函數進行匯總操作。吳曉璇等[17]將數據空間中的分形維數用于聚類融合,同時在云計算環境下實現了其并行化;Benmounah等[18]提出了一個聚類融合并行分布式系統用于醫療疾病的診斷。
本文針對無監督聚類缺少先驗信息以及聚類融合要求基聚類具有高準確性的問題,提出了基于改進遺傳算法的聚類融合算法(CEIGA)。針對聚類融合算法時間復雜度高的問題,利用Hadoop設計實現了基于改進遺傳算法的并行聚類融合算法(Parallel Clustering Ensemble algorithm based on Improved Genetic Algorithm, PCEIGA)。
本文選擇K-Means算法作為基聚類生成機制的主要算法,它是數據挖掘領域非常流行的一種聚類方法。給定一個數據集X={x1,x2,…,xn},數據集中的每條數據都有d個屬性,K-Means算法的目標是把數據集中的n個對象劃分成k(k≤n)個簇同時使得簇內平方和最小、簇間平方和最大。
首先,K-Means算法會從原始數據集中隨機選擇k個數據作為初始簇中心;接著根據歐幾里得公式計算每個數據到當前k個簇中心的距離,并根據計算得到的歐幾里得距離將每個數據分配到離它最近的簇中心所在的簇。由于這一步操作會導致簇的分布發生變化,進而引起簇中心變化,因此,需要重新計算簇中心。簇中心的計算公式如下所示:
(1)
其中|Ci|是簇Ci內數據的數量。最后,計算出新的簇中心后,判斷前后兩次簇中心是否變化,如果沒有變化,則K-Means算法停止;否則繼續迭代。重復上述K-Means算法m次,就會得到關于原始數據集X的m次聚類劃分,即m個基聚類。
在采用遺傳算法得到最終結果之前,必須解決基聚類的簇標簽不一致問題。對于聚類劃分{1,1,1,2,2,3,3,3}和{2,2,2,3,3,1,1,1},雖然它們的表達方式不一樣,但是表示的卻是同一個劃分。聚類融合的基聚類之間必須通過匹配建立相互的對應關系。

傳統的聚類融合算法一般采用基于相似性矩陣的聚類算法作為一致性集成函數,但是一般的聚類算法容易陷入局部最優,同時在算法應用前需要創建關于數據或基聚類的相似性矩陣,空間和時間復雜度高。針對上述問題,本文利用改進的遺傳算法作為一致性集成函數。遺傳算法作為一致性集成函數的優點主要有:1)遺傳算法通過進化迭代地尋找全局最優解;2)通過改進遺傳算法的選擇算子,選擇合適的染色體進行交叉和變異操作,能使基聚類滿足多樣性和準確性;3)遺傳算法的可并行特點是其作為一致性集成函數的重要因素之一。
遺傳算法主要包括基因編碼、適應度函數、選擇算子、交叉和變異操作和精英策略五部分。
2.3.1基因編碼
本文采用字符串編碼策略。每一個基聚類會編碼成一個整數字符串,其中字符串中的每一個整數表示的是當前位置的數據所被分到的簇的標簽。例如,對于有5個數據的數據集,染色體(12221)表示的數據的劃分是{{x1,x5},{x2,x3,x4}}。
2.3.2適應度函數
聚類融合的目標是找到一個劃分使得簇內數據的相似性較高,而簇與簇之間的數據相似性較低。基于上述目標,本文提出使用平均簇內適應度和平均簇間適應度的差值表示每條染色體的適應度:
(2)
式(3)和式(4)分別計算了簇Ck的簇內適應度和Ca與Cb的簇間適應度:
(3)
(4)
其中:coij是數據xi和xj在所有劃分中一起出現的頻率,|Ck|是第k個簇的數據的數量,|P|是基聚類P中的簇的數量。
2.3.3選擇算子
選擇算子用于選擇進行交叉和變異的個體。一般遺傳算法采用輪盤賭作為選擇算子,但是輪盤賭根據適應度隨機選擇染色體進行交叉變異操作,具有不確定性。針對輪盤賭的不確定性,本文根據聚類融合對于基聚類多樣性的要求提出使用最多重疊數量作為選擇算子。其主要思想是:對于兩個基聚類,如果兩者重疊元素越多,則選中進行交叉變異操作的概率越大;反之,重疊元素越少,選中進行交叉變異操作的概率越小。聚類融合對于基聚類生成機制產生的基聚類的要求是多樣性和準確性,即基聚類之間互相不同且準確度高。本文提出的選擇算子根據基聚類之間的重疊元素數量選擇出重疊元素最多的兩個基聚類進行交叉操作,生成不同的后代染色體,滿足了聚類融合的多樣性;選出上述兩個基聚類中的適應度低的基聚類進行變異操作,滿足了聚類融合的準確性。


圖1 選擇算子運算實例Fig. 1 Example of selecting operator
2.3.4交叉和變異操作
通過選擇算子選擇出用于交叉的染色體子集后,接下來會對選中的兩個染色體進行交叉操作。由于種群中的每個染色體所表示的劃分的簇的個數都相同,本文選用單點交叉的方法。單點交叉是在兩個父母染色體的基因上隨機選擇一個位置點i,從位置點i以后的基因進行交換產生兩個后代染色體,并加入當前種群中。
通過選擇算子選擇出染色體子集后,會從中選擇適應度較低的一個染色體進行變異操作。在要變異的染色體上,隨機選擇一個位置點i突變為:

其中d(xi,Cj)是數據xi到簇Cj的歐幾里得距離。
2.3.5精英策略
精英策略用于從當前種群及其交叉變異產生的后代中選擇優良染色體生成下一代種群。過高的交叉率可能導致遺傳算法過早收斂,如果不采用精英選擇,那么變異率過高會導致好的解決方案的丟失。本文所使用的精英策略是在適應度函數(詳見式(2))的基礎上,選擇前m個適應度高的染色體作為下一代種群進行下一步操作。
CEIGA主要包括三部分:1)采用不同初始中心的K-Means算法生成m個不同的基聚類;2)以其中一個基聚類作為基準基聚類,將其他基聚類與其建立對應關系,解決簇標簽不一致問題;3)將解決標簽不一致問題后的基聚類進行基因編碼,作為改進遺傳算法的初始種群輸入,并且利用改進遺傳算法的選擇算子選擇染色體進行交叉和變異保證基聚類的多樣性和準確性,進而得到最優的解決方案,即聚類融合對于數據集的最終劃分。其偽代碼如算法1所示。
算法1CEIGA。
輸入有n個數據的數據集X,基聚類數量m,最大進化次數tmax,交叉變異率α。
輸出關于數據集X的劃分。
1)運行K-Means算法m次生成m個基聚類;
2)解決m個基聚類的標簽不一致問題。
3)根據字符串組編碼策略對基聚類進行基因編碼,得到初始種群并設置當前種群代數t=1。
4)計算每個染色體子集的重疊元素,選出m×α個染色體子集。
5)將步驟4)選擇的染色體子集進行交叉操作得到染色體后代,加入當前種群。
6)根據式(2)計算當前種群中每個染色體的適應度值。
7)將步驟4)選擇的每個染色體子集中適應度低的染色體進行變異操作得到后代,計算其適應度值并加入當前種群。
8)從當前種群中選擇適應度最高的m條染色體生成下一代種群,t=t+1。
9)判斷t是否等于tmax,如果滿足,則選擇當前種群中適應度值最高的染色體輸出,否則返回步驟4)。
縱觀大數據領域的發展可知,當前的大數據處理一直在向著近似于傳統數據庫體驗的方向發展。云計算及其Hadoop平臺的產生使得普通機器能夠建立穩定的處理TB級數據的集群,從而實現并行計算。Hadoop平臺上的MapReduce編程模型是并行、分布式計算的發展。MapReduce采用“分而治之”的思想,把對大規模數據集的操作派發給一個主節點管理的各分節點共同完成,然后在主節點上整合分節點的結果得到最終結果。MapReduce就是任務的分解與結果的匯總,這兩個階段分別由map函數和reduce函數完成:map函數負責把一個大型任務分解成若干個小任務,而reduce函數則負責把每個小任務的結果匯總起來。基于改進遺傳算法的聚類融合算法通過改進的遺傳算法對基聚類進化得到比單一聚類算法結果更準確的聚類劃分,這一思想符合云計算環境下MapReduce“分而治之”的思想,因此,在基于改進遺傳算法的聚類融合算法基礎上,本文利用MapReduce模型設計了云計算下基于改進遺傳算法的聚類融合算法(PCEIGA)。如何在云計算環境下利用MapReduce模型實現PCEIGA的并行聚類、提高算法聚類結果的準確性是本文的研究重點。
圖2是PCEIGA在Hadoop平臺上并行實現的框架圖,主要包括兩個MapReduce過程:基聚類的并行和改進遺傳算法的并行。本文第一個MapReduce過程完成基聚類的生成。首先,每個節點上的map()函數將原始數據集復制到該節點上,使得每個節點上都有一份數據,然后reduce()函數對節點上的數據集進行K-Means聚類得到基聚類。在本文中有m個節點并行地執行此過程,產生m個基聚類P={P1,P2,…,Pm};接下來,隨機選擇一個基聚類作為基準基聚類對其他基聚類標簽轉化,使得m個基聚類簇標簽對應;然后將標簽轉化后的m個基聚類進行基因編碼,產生初始種群,作為第二個MapReduce過程的輸入。第二個MapReduce過程主要完成改進遺傳算法的并行。首先,對基因編碼得到的種群進行數據分片,分配給s個節點;然后,節點上的map()函數會讀取數據獲得染色體相關信息,計算每條染色體的適應度值,輸出〈key(染色體id),value(適應度值)〉對。為了提高算法效率,本文在第二個MapReduce過程中加入了Combine操作。Combine的作用是對Mapper2的輸出數據進行處理,降低〈key,value〉對的數量,減少節點之間要傳輸的數據,減少網絡流量,從而達到降低節點通信的目的。第二個MapReduce過程的combine()函數根據選擇算子和適應度值將染色體分為保留、交叉和變異三類,每個reduce()函數在收到關于染色體的信息后會根據相關信息對染色體進行相應的保留、交叉或變異操作后輸出〈key(染色體id),value(適應度值)〉對。將reduce()函數的〈key(染色體id),value(適應度值)〉對合并形成下一代種群,如此迭代重復直至滿足最大進化次數后停止,選擇當前種群中適應度最高的染色體作為最終聚類結果輸出。

圖2 云計算下PCEIGA框架Fig. 2 Framework of PCEIGA algorithm in cloud computing
本文實驗的Hadoop平臺是自行搭建的,采用完全分布式模式。在Windows 7(64位)操作系統上,用VritualBox軟件創建6臺虛擬機搭建Hadoop平臺,其中1臺虛擬機作為MasterNode(JobTracker)節點用于維護和管理集群中各節點,其余5臺作為DataNode(TaskTracker)節點用于存儲數據。各節點通過定義主機名與IP地址之間的對應關系,配置SSH(Secure Shell),實現相互通信。節點的硬件環境是AMD FX- 6300 CPU 3.50 GHz,4.00 GB內存,200 GB硬盤,每個節點裝有Ubuntu- 14.04.4-desktop-amd64操作系統,其中Hadoop版本為hadoop- 2.6.0 binary,Java版本為Java- 1.7.0_101,Eclipse版本為Juno Service Release 2。
實驗數據選取的是6個常用UCI數據集,詳細信息如表1所示。本文選取了不同數量大小的數據集以測試數據集大小對CEIGA和PCEIGA的影響。UCI數據集有數據的真實劃分信息可以利用,但本文只將數據集的真實劃分信息用于最后算法性能分析,算法本身并沒有使用到這些信息。

表1 實驗中使用的UCI數據集Tab. 1 UCI datasets used in experiment
為了對算法的聚類結果進行有效評價,計算算法的最終結果與數據集真實劃分之間的ARI(Adjusted Rand Index)值來評價算法性能。ARI的計算公式如下:
ARI(A,B)=
(5)
其中:nij是劃分A的第i個簇和劃分B的第j個簇的重疊元素的個數,ai是劃分A的第i個簇內元素的個數,bj是劃分B的第j個簇內元素的個數,n是數據集的數據個數。ARI值越大表示劃分A和B的相似性越高。
選擇與CEIGA進行對比的先進聚類融合算法包括:文獻[19]的基于投票法的聚類融合(Clustering Ensemble based on Voting, CEV)、基于CSPA的聚類融合(Clustering Ensemble based on Cluster-based Similarity Partitioning Algorithm, CECSPA)、基于平均鏈的聚類融合(Clustering Ensemble based on Average Linkage, CEAL)和文獻[20]中的基于Dempster-Shafer證據理論的聚類融合(Clustering Ensemble based on Dempster-Shafer, CEDS)。圖3記錄了上述算法的結果與數據集真實劃分的ARI值。

圖3 五種算法的ARI值對比Fig. 3 ARI value comparison of five algorithms
從圖3可以看出,五個算法中表現最好的是CEIGA:在Iris、TSE、Waveform和WLE數據集上,CEIGA明顯優于其他四個先進聚類融合算法;在LM和Wine數據集上,CEIGA以微弱優勢勝出CEDS算法。五個算法中表現最差的是CEV算法;CECSPA和CEAL表現旗鼓相當;CEDS算法表現最不穩定,在Iris、LM、WLE和Wine數據集上表現極好,但在TSE和Waveform數據集上表現較差。分析產生上述現象主要是因為作為基聚類生成機制的K-Means算法極易陷入局部最優,故而生成的基聚類大部分會受這一現象影響而產生局部較優的結果,因此在使用投票法、CSPA、平均鏈凝聚層次聚類和Dempster-Shafer證據理論作為一致性集成函數時,得到的最終聚類結果是局部最優的結果。本文提出的CEIGA使用改進遺傳算法作為共識函數,通過交叉和變異操作對基聚類進化得到適應度值高(簇內更近和簇間更遠)的基聚類從而達到全局最優、避免局部最優。這也是CEIGA明顯優于其他四個先進聚類融合算法的主要原因。
為了比較云計算下PCEIGA的性能,將不同規模的Hadoop集群上并行運行PCEIGA的加速比進行了比較。加速比的計算公式如下:
(6)
加速比越大,算法運行時間越少,則算法性能越好。不同規模Hadoop集群上PCEIGA的加速比如圖4所示,測試所用Hadoop集群除主節點外并行節點數從1到5。

圖4 不同規模Hadoop集群上PCEIGA的加速比對比Fig. 4 Speedup comparison of PCEIGA on Hadoop platform with different cluster size
從圖4可以看出,在WLE和TSE數據集上,PCEIGA的運行加速比隨著機器節點數的增加而快速上升,表明算法運行時間逐漸減少。主要是因為,PCEIGA的兩個MapReduce過程中設計的〈key,value〉鍵值對合理,使算法能夠高效運行;PCEIGA在對改進遺傳算法進行MapReduce并行時使用combine函數合并map函數的輸出,減少了寫入磁盤以及通過網絡傳輸到reduce函數的數據量,從而能提高算法運行速度,提高算法加速比。在Iris、LM、Waveform和Wine數據集上,隨著節點數的增加,PCEIGA的加速比上升比較緩慢。主要是由于對于數據量較小的數據集采用并行框架會增加時間開支和節點間的通信開銷,從而降低算法效率。相比小型數據集,采用Hadoop并行框架運行PCEIGA更適合于大型數據集。但受Hadoop的MapReduce本身開銷的影響,加速比的提升是有上限的。為了進一步分析PCEIGA的性能,計算不同規模Hadoop集群并行運行PCEIGA的聚類結果與數據集真實劃分的ARI,結果如圖5所示。

圖5 云計算下Hadoop框架運行PCEIGA準確度分析Fig. 5 Accuracy analysis about PCEIGA algorithm on Hadoop platform in cloud computing
由圖5可知,PCEIGA在LM、TSE和WLE數據集上多個節點的算法ARI值并不低于單個節點的ARI值,甚至在LM和TSE數據集上,節點數據為2和3時算法的聚類質量明顯高于單個節點的PCEIGA的結果質量;在WLE數據集上,節點數據為3時算法的聚類質量明顯高于單個節點的PCEIGA的結果質量。在Iris、Waveform和Wine數據集上,單個節點上PCEIGA的ARI值以0.04的優勢勝于多個節點的PCEIGA。出現這種現象的原因是,與單個節點的算法運行相比,多個節點并行時,節點之間的通信產生的誤差也會導致最終聚類結果質量的下降,但這個誤差在可控范圍內。因此,可以看出,隨著節點數的增加,PCEIGA的聚類準確度會輕微上下浮動,但是在提高運行速度的前提下,這一現象是可以接受的。
綜上所述,隨著Hadoop框架下節點數的增加,PCEIGA聚類性能并不會明顯降低,同時算法運行的加速比明顯提升。
本文結合聚類融合的特點提出了CEIGA,設計了基于重疊元素數量的選擇算子。對遺傳算法選擇算子的改進優化使得遺傳算法作為聚類融合的一致性集成函數不僅保證了基聚類的多樣性,還使得最終聚類結果達到全局最優。
根據聚類融合和改進遺傳算法的可并行性提出了PCEIGA,設計了云計算下PCEIGA的Map-Reduce并行模型,通過對基聚類生成機制和改進遺傳算法的并行處理,以及Combine過程的加入,能有效提高算法運行效率。
最后在自行搭建的Hadoop分布式平臺上完成了CEIGA和PCEIGA的性能分析。實驗結果表明,CEIGA在準確度和穩定性上都明顯優于CEV、CECSPA、CEAL和CEDS算法,而PCEIGA也能在不影響算法質量的情況下縮短算法運行時間,有利于進行海量數據挖掘。
使用MapReduce模型實現PCEIGA的結果表明,隨著節點數的增加,PCEIGA運行加速比的提升會減弱甚至下降,因此,Hadoop中并行節點的數量選擇會是一個重要的研究方向。而遺傳算法作為一致性集成函數,除了受選擇算子影響外,適應度函數的設計也很重要。適應度函數很復雜時,會對算法復雜度產生影響;反之,適應度函數很簡單時,會影響最終結果準確度。因此,后續工作將研究設計一個恰當的適應度函數,以進一步提高算法運行速度和準確度。
參考文獻(References)
[1]STREHL A, GHOSH J. Cluster ensembles: a knowledge reuse framework for combining multiple partitions [J]. Journal of Machine Learning Research, 2003, 3(3): 583-617.
[2]TURING A M. Computing machinery and intelligence [J]. Mind, 1950, 59(236): 433-460.
[3]WANG D X, LI L, YU Z W, et al. AP2CE: double affinity propagation based cluster ensemble [C]// Proceedings of the 2013 International Conference on Machine Learning and Cybernetics. Piscataway, NJ: IEEE, 2013:16-23.
[4]YU Z W, HAN G Q, LI L, et al. Adaptive noise immune cluster ensemble using affinity propagation [C]// ICDE 2016: Proceedings of the 2016 IEEE 32nd International Conference on Data Engineering. Piscataway, NJ: IEEE, 2016: 1454-1455.
[5]KAO L J, HUANG Y P. Ejecting outliers to enhance robustness of fuzzy cluster ensemble [C]// Proceedings of the 2013 IEEE International Conference on Systems, Man, and Cybernetics. Piscataway, NJ: IEEE, 2013: 3790-3795.
[6]IAM-ON N, BOONGOEN T, GARRETT S, et al. A link-based approach to the cluster ensemble problem [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011, 33(12): 2396-2409.
[7]ZHONG C M, YUE X D, ZHANG Z H, et al. A clustering ensemble: two-level-refined co-association matrix with path-based transformation [J]. Pattern Recognition, 2015, 48(8): 2699-2709.
[8]WANG L, ZHANG G Y. Cluster ensemble based image segmentation algorithm [C]// ICICSE 2015: Proceedings of the 2015 Eighth International Conference on Internet Computing for Science and Engineering. Piscataway, NJ: IEEE, 2015: 68-73.
[9]YU Z W, LUO P N, YOU J, et al. Incremental semi-supervised clustering ensemble for high dimensional data clustering [J]. IEEE Transactions on Knowledge & Data Engineering, 2016, 28(3): 701-714.
[10]ZHANG S H, YANG L, XIE D Q. Unsupervised evaluation of cluster ensemble solutions [C]// ICACI 2015: Proceedings of the 2015 Seventh International Conference on Advanced Computational Intelligence. Piscataway, NJ: IEEE, 2015: 101-106.
[11]BANERJEE B, BOVOLO F, BHATTACHARYA A, et al. A new self-training-based unsupervised satellite image classification technique using cluster ensemble strategy [J]. IEEE Geoscience & Remote Sensing Letters, 2015, 12(4): 741-745.
[12]YU Z W, CHEN H T, YOU J, et al. Hybrid fuzzy cluster ensemble framework for tumor clustering from biomolecular data [J]. IEEE/ACM Transactions on Computational Biology & Bioinformatics, 2013, 10(3): 657-670.
[13]GOSWAMI J P, MAHANTA A K. A genetic algorithm based ensemble approach for categorical data clustering [C]// INDICON 2015: Proceedings of the 2015 Annual IEEE India Conference. Piscataway, NJ: IEEE, 2015: 1-6.
[14]ALFRED R, CHIYE G J, OBIT J H, et al. A genetic algorithm based clustering ensemble approach to learning relational databases [J]. Advanced Science Letters, 2015, 21(10): 3313-3317.
[15]劉朋歡.基于生成模型的聚類融合算法[D].青島:中國海洋大學,2014. (LIU P H. Generative approaches for ensemble clustering [D]. Qingdao: Ocean University of China, 2014.)
[16]DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [C]// Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation. Berkeley, CA: USENIX Association, 2008: 10-10.
[17]吳曉璇,倪志偉,倪麗萍.云計算環境下基于分形的聚類融合算法研究[J].計算機工程與應用,2015,51(14):1-6. (WU X X, NI Z W, NI L P. Research on fractal clustering ensemble algorithm based on cloud computing environment [J]. Computer Engineering and Applications, 2015, 51(14): 1-6.)
[18]BENMOUNAH Z, BATOUCHE M. A parallel distributed system for gene expression profiling based on clustering ensemble and distributed optimization [C]// ICA3PP 2013: Proceedings of the 13th International Conference on Algorithms and Architectures for Parallel Processing, LNCS 8285. Cham: Springer, 2013: 176-185.
[19]IAM-ON N, BOONGOEN T. Comparative study of matrix refinement approaches for ensemble clustering [J]. Machine Learning, 2015, 98(1/2): 269-300.
[20]LI F J, QIAN Y H, WANG J T, et al. Multigranulation information fusion: a Dempster-Shafer evidence theory based clustering ensemble method [C]// Proceedings of the 2015 IEEE International Conference on Machine Learning and Cybernetics. Piscataway, NJ: IEEE, 2015: 58-63.