一種基于MapReduce的并行聚類方法
【專利摘要】本發(fā)明基于MapReduce的并行聚類方法,主要是針對(duì)大規(guī)模數(shù)據(jù)集的聚類問(wèn)題,該方法以信息損失量度量樣本之間的相關(guān)性,可以體現(xiàn)樣本之間復(fù)雜的相關(guān)性,并且提供了一個(gè)客觀的聚類數(shù)確定準(zhǔn)則,通過(guò)數(shù)據(jù)并行,大大提高了聚類速度。該聚類方法可以廣泛應(yīng)用于醫(yī)學(xué)、藥學(xué)、智能交通、模式識(shí)別等領(lǐng)域的聚類問(wèn)題。
【專利說(shuō)明】—種基于MapReduce的并行聚類方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)挖掘領(lǐng)域,特別涉及大規(guī)模數(shù)據(jù)聚類分析。
【背景技術(shù)】
[0002]隨著電子信息技術(shù)的飛速發(fā)展,電子數(shù)據(jù)量以指數(shù)級(jí)增長(zhǎng),數(shù)據(jù)洪流在很多領(lǐng)域開(kāi)始出現(xiàn),如生物信息、生物醫(yī)學(xué)、化學(xué)信息、網(wǎng)頁(yè)等等。如何充分利用海量數(shù)據(jù)挖掘有用信息,從而輔助企業(yè)決策是信息領(lǐng)域?qū)<宜媾R的巨大挑戰(zhàn)。如果能夠充分挖掘電子信息,將為企業(yè)帶來(lái)巨大效益,如果不能從海量數(shù)據(jù)中挖掘有用信息,將成為電子垃圾,成為企業(yè)負(fù)擔(dān)。數(shù)據(jù)挖掘是從大量數(shù)據(jù)集中發(fā)現(xiàn)新模式的過(guò)程,結(jié)合了人工智能、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)和數(shù)據(jù)庫(kù),是目前分析數(shù)據(jù)的最有效手段。國(guó)內(nèi)外很多學(xué)者從事這方面的研究,很多數(shù)據(jù)挖掘方法已被應(yīng)用到實(shí)際當(dāng)中。隨著數(shù)據(jù)規(guī)模的擴(kuò)大,很多傳統(tǒng)的數(shù)據(jù)挖掘方法已不實(shí)用,針對(duì)大規(guī)模數(shù)據(jù)密集型的并行數(shù)據(jù)挖掘方法研究是近年來(lái)信息領(lǐng)域的研究重點(diǎn)。有效的并行算法和實(shí)現(xiàn)技術(shù)是實(shí)現(xiàn)大規(guī)模數(shù)據(jù)挖掘的關(guān)鍵。很多并行挖掘算法以不同技術(shù)實(shí)現(xiàn),如多線程、MPI技術(shù)、MapReduce技術(shù)、工作流技術(shù)等,不同的實(shí)現(xiàn)技術(shù)有不同的性能和使用特性,MPI模式適用于計(jì)算密集型問(wèn)題,特別適用于仿真,但編程復(fù)雜度較高,對(duì)運(yùn)行環(huán)境的時(shí)延要求高,容錯(cuò)性較差。MapReduce是信息檢索領(lǐng)域提出的一種適于數(shù)據(jù)分析的云技術(shù),適合于數(shù)據(jù)密集型的并行數(shù)據(jù)挖掘。目前有幾種MapReduce的結(jié)構(gòu),傳統(tǒng)的MapReduce架構(gòu)只是單向的Map和Reduce過(guò)程,不支持迭代,不適合復(fù)雜的數(shù)據(jù)挖掘算法。最新由美國(guó)印第安那大學(xué)教授提出的Twister軟件,是一種迭代MapReduce模型,支持算法的迭代,大大提供了MapReduce算法的實(shí)用性。
[0003]數(shù)據(jù)聚類是是對(duì)于靜態(tài)數(shù)據(jù)分析的一門(mén)技術(shù),在許多領(lǐng)域受到廣泛應(yīng)用,包括機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、模式識(shí)別、圖像分析以及生物信息等。聚類的目的是把相似的對(duì)象通過(guò)靜態(tài)分類的方法分成不同的組別或者更多的子集,這樣讓在同一個(gè)子集中的成員對(duì)象都有相似的一些屬性,是一種無(wú)監(jiān)督方法。很多聚類方法已被研究,如k均值聚類、Fisher聚類、Kohonen聚類、基于信息瓶頸理論聚類方法等,不同聚類方法具有不同的聚類性質(zhì),適用于不同的聚類問(wèn)題。K均值聚類應(yīng)用最廣,但聚類的距離測(cè)度只能度量變量之間的線性相關(guān)性。Kohonen聚類是一種自適應(yīng)神經(jīng)網(wǎng)絡(luò),但聚類測(cè)度通常也是歐幾里德距離,無(wú)法度量變量之間的任意相關(guān)性?;谛畔⑵款i理論的聚類是基于信息熵理論的聚類方法,以信息損失量為測(cè)度度量變量之間的相關(guān)性,可以統(tǒng)計(jì)變量之間任意統(tǒng)計(jì)相關(guān)性,已被用于多個(gè)領(lǐng)域的聚類問(wèn)題,取得理想的效果。但隨著數(shù)據(jù)規(guī)模的擴(kuò)大,基于信息瓶頸理論聚類方法的計(jì)算量越來(lái)越大,已不適于大規(guī)模的數(shù)據(jù)分析問(wèn)題。基于信息瓶頸理論聚類方法的優(yōu)點(diǎn),本專利提出了基于MapReduce編程模式的并行聚類方法,有效解決了大規(guī)模聚類分析問(wèn)題。
[0004]基于MapReduce的并行聚類方法可用于生物信息的DNA數(shù)據(jù)聚類,生物信息數(shù)據(jù)量非常龐大,每天都會(huì)產(chǎn)生大量的DNA數(shù)據(jù),DNA序列聚類是生物信息的重要內(nèi)容之一,如何對(duì)大規(guī)模的DNA序列進(jìn)有效聚類是研究熱點(diǎn)。DNA數(shù)據(jù)通常用A、C、G、T字符串組成,為實(shí)現(xiàn)DNA數(shù)據(jù)進(jìn)行序列對(duì)比,通常需要對(duì)DNA字符對(duì)進(jìn)行統(tǒng)計(jì),將DNA序列轉(zhuǎn)化成概率向量,通過(guò)計(jì)算兩個(gè)概率向量的距離來(lái)度量DNA序列直接的相關(guān)性,從而利用本發(fā)明專利實(shí)現(xiàn)DNA序列的有效聚類。
[0005]基于MapReduce聚類方法與其它聚類方法相比主要有以下優(yōu)點(diǎn):
[0006]I)用信息損失量作為度量?jī)蓚€(gè)變量之間的距離測(cè)度,可以度量變量之間任意統(tǒng)計(jì)相關(guān)性;
[0007]2)本發(fā)明可用客觀的方法確定聚類數(shù),有效避免現(xiàn)有聚類方法人為主觀指定聚類數(shù)的缺點(diǎn);
[0008]3)本發(fā)明專利提出的基于MapReduce并行聚類方法適于大規(guī)模數(shù)據(jù)聚類,有效提高聚類效率和性能。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的之一在于提出一種基于MapReduce的并行聚類方法,該方法以信息損失作為樣本之間距離的測(cè)度,以MapReduce編程模式實(shí)現(xiàn)聚類中心的并行計(jì)算,為聚類數(shù)確定提供了客觀標(biāo)準(zhǔn),避免主觀指定聚類數(shù)的弊端。
[0010]為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案為:
[0011]該基于MapReduce的并行聚類方法,包括步驟:
[0012]將原數(shù)據(jù)集進(jìn)行轉(zhuǎn)換,以概率的形式進(jìn)行描述;
[0013]對(duì)原數(shù)據(jù)進(jìn)行劃分,設(shè)定聚類參數(shù);
[0014]以基于MapReduce的并行信息瓶頸理論聚類方法確定聚類數(shù)和初始聚類中心;
`[0015]以基于MapReduce的并行中心聚類方法實(shí)現(xiàn)最終聚類結(jié)果。
【專利附圖】
【附圖說(shuō)明】
[0016]圖1基于迭代MapReduce編程模式的Twister軟件架構(gòu)
[0017]圖2基于MapReduce的并行信息瓶頸理論聚類方法流程圖
[0018]圖3基于MapRedcue的并行中心聚類方法流程圖
[0019]圖4基于信息損失量變化確定聚類數(shù)
[0020]圖5由本發(fā)明實(shí)施DNA序列聚類結(jié)果
【具體實(shí)施方式】
[0021]為更好地理解本發(fā)明,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作詳細(xì)說(shuō)明。
[0022]聚類是通過(guò)分析變量之間的相關(guān)性將數(shù)據(jù)集合劃分若干類的過(guò)程,使得類內(nèi)差異小,類間差異大。對(duì)于大規(guī)模數(shù)據(jù)的聚類分析,需要通過(guò)并行的方式實(shí)現(xiàn)。在數(shù)據(jù)劃分的并行聚類中,如何實(shí)現(xiàn)全局的聚類中心是關(guān)鍵。另外,如何確定聚類數(shù)需要一個(gè)客觀的標(biāo)準(zhǔn)。本發(fā)明提出一種基于MapReduce編程模式的并行聚類方法,該方法的具體操作如下。
[0023]數(shù)據(jù)轉(zhuǎn)換、劃分及參數(shù)設(shè)定
[0024]對(duì)原始文件進(jìn)行分析,將原始數(shù)據(jù)轉(zhuǎn)換成用概率向量表示的形式。然后隨機(jī)的將原始數(shù)據(jù)均勻劃分成η份,將η份數(shù)據(jù)分布到m個(gè)map節(jié)點(diǎn),設(shè)定聚類截尾精度閾值a ^
和Stl,其中Citl是聚類步驟與該組數(shù)據(jù)中所有數(shù)據(jù)數(shù)比值的閾值;Pci是信息損失量實(shí)際損失值與預(yù)測(cè)值差值的閾值;S ^是在并行中心聚類過(guò)程中,當(dāng)前的聚類中心與上次聚類中心差值的閾值。
[0025]基于MapReduce的并行信息瓶頸理論聚類
[0026]1)基于迭代MapReduce的Twister軟件架構(gòu)
[0027]本發(fā)明是基于迭代MapReuce編程模式,以Twister軟件為例,介紹基于迭代MapReduce編程模式軟件的架構(gòu)。
[0028]迭代MapReduce軟件包括以下幾部分,主作業(yè)、Map作業(yè)、Reduce作業(yè)和Combine作業(yè),架構(gòu)附圖1如下所示。
[0029]其中,MapReduce作業(yè)通過(guò)客戶節(jié)點(diǎn)控制,在配置階段,客戶端分布各MapReduce方法給各個(gè)任務(wù),準(zhǔn)備KeyPair對(duì)和靜態(tài)數(shù)據(jù)給MapReduce任務(wù),在每次迭代過(guò)程中,客戶端接收到Combine方法返回的結(jié)果,直到任務(wù)結(jié)束。
[0030]Map作業(yè)主要實(shí)現(xiàn)計(jì)算模型,在初始化階段,Map作業(yè)根據(jù)劃分文件從本地磁盤(pán)加載靜態(tài)數(shù)據(jù),利用用戶定義的計(jì)算模型對(duì)劃分?jǐn)?shù)據(jù)進(jìn)行分析,結(jié)果傳遞給Reduce作業(yè)。Reduce作業(yè)主要接受從Map作業(yè)傳遞過(guò)來(lái)的結(jié)果,具體工作根據(jù)實(shí)際任務(wù)進(jìn)行分析。
[0031]Combine作業(yè)是將分析的結(jié)果收集起來(lái),傳遞給客戶端。在客戶端程序,判斷是否達(dá)到截尾準(zhǔn)則,如果達(dá)到程序結(jié)束退出,否則重復(fù)MapReduce過(guò)程。
[0032]2)基于信息瓶頸理論聚類方法
[0033]在給定一個(gè)目標(biāo)集合,基于瓶頸原理的聚類方法是尋找在所有的聚類中使目標(biāo)類與特征之間的信息損失達(dá)到最小。設(shè)在目標(biāo)空間X和特征空間Y上的聯(lián)合概率分布為P(x,y),信息瓶頸理論是找一個(gè)聚類f在給定聚類質(zhì)量的約束條件下使信息損失/(z;r)-/(f;y)達(dá)到最小。是X和f之間的互信息
[0034]
【權(quán)利要求】
1.一種基于MapReduce編程模型的并行聚類方法,其特征在于,包括步驟: 原始數(shù)據(jù)劃分及參數(shù)設(shè)定; 以基于MapReduce的并行信息瓶頸理論聚類方法確定聚類數(shù)和初始聚類中心; 以基于MapReduce的并行中心聚類方法實(shí)現(xiàn)最終聚類結(jié)果。
2.根據(jù)權(quán)利I所述的原始數(shù)據(jù)劃分及參數(shù)設(shè)定,其特征在于, 對(duì)原始文件進(jìn)行分析,將原始數(shù)據(jù)轉(zhuǎn)換成用概率向量表示的形式。然后隨機(jī)的將原始數(shù)據(jù)均勻劃分成1份,將1份數(shù)據(jù)分布到m個(gè)map節(jié)點(diǎn),設(shè)定聚類截尾精度閾值a ^ β ^和S C1,其中是聚類步驟與該組數(shù)據(jù)中所有數(shù)據(jù)數(shù)比值的閾值;β ^是信息損失量實(shí)際損失值與預(yù)測(cè)值差值的閾值;S ^是在并行中心聚類過(guò)程中,當(dāng)前的聚類中心與上次聚類中心差值的閾值。
3.根據(jù)權(quán)利I所基于MapReduce的并行信息瓶頸理論聚類方法確定聚類數(shù)和初始聚類中心,其特征在于, 針對(duì)每個(gè)數(shù)據(jù)劃分,利用基于信息瓶頸理論聚類方法進(jìn)行聚類; 合并各數(shù)據(jù)劃分的聚類中心,利用基于信息瓶頸理論聚類方法重新聚類,生成全局初始聚類中心。
4.根據(jù)權(quán)利3所述基于信息瓶頸理論聚類方法,其特征在于, a.將每個(gè)向量數(shù)組看作最初的類; b.計(jì)算任意兩組向量合并產(chǎn)生的信息損失量,選擇合并后產(chǎn)生的信息損失量最小的一組進(jìn)行合并,生產(chǎn)新的數(shù)組; C.重復(fù)步驟b直至滿足聚類截尾精度CItl和β C1,確定聚類數(shù)。
5.根據(jù)權(quán)利4中b所述,其特征在于 根據(jù)信息瓶頸理論,兩組數(shù)組合并所產(chǎn)生的信息損失量為:
6.根據(jù)權(quán)利4中c所述,其特征在于 對(duì)于第i個(gè)數(shù)據(jù)劃分,當(dāng)聚類步數(shù)達(dá)到第k步k > ni α?xí)r,開(kāi)始利用當(dāng)前聚類步前k_l步產(chǎn)生的信息損失量進(jìn)行最小二乘回歸,根據(jù)回歸方程,當(dāng)前聚類步的預(yù)測(cè)值為六,則預(yù)測(cè)值與實(shí)際信息損失量為
7.根據(jù)權(quán)利3所述生成全局初始聚類中心,其特征在于, 收集所有Map接點(diǎn)計(jì)算得到的數(shù)據(jù)子集的分聚類中心,生成新的聚類樣本,根據(jù)權(quán)利3所述基于信息瓶頸理論的聚類方法生成全局初始聚類中心并確定聚類數(shù)。
8.根據(jù)權(quán)利I所述基于MapReduce的并行中心聚類方法實(shí)現(xiàn)最終聚類結(jié)果,其特征在于 a利用中心聚類方法確定每步聚類中心; b通過(guò)迭代的方式調(diào)整聚類中心,當(dāng)滿足迭代閾值時(shí),聚類結(jié)束。
9.根據(jù)權(quán)利8中a所述,其特征在于 在獲取初始聚類中心C°后,將其分布到各個(gè)Map節(jié)點(diǎn),設(shè)k個(gè)空數(shù)據(jù)集P1,P2,…,Pk,計(jì)算樣本X與初始聚類中心4之間的距離,用信息損失作為測(cè)度,當(dāng)X與cf之間的信息損失最小時(shí),將樣本X放入到數(shù)據(jù)集Pi中,根據(jù)下式計(jì)算數(shù)據(jù)集Pi的中心
10.根據(jù)權(quán)利8中b所述,其特征在于 計(jì)算新聚類中心Χη?與上次聚類中心X°k的差值,如果差值小于預(yù)先指定的閾值,迭代過(guò)程結(jié)束,如果大于指定的閾值,繼續(xù)迭代過(guò)程。差值計(jì)算如下
【文檔編號(hào)】G06F17/30GK103793438SQ201210434240
【公開(kāi)日】2014年5月14日 申請(qǐng)日期:2012年11月5日 優(yōu)先權(quán)日:2012年11月5日
【發(fā)明者】孫占全 申請(qǐng)人:山東省計(jì)算中心