• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    EDDPC:一種高效的分布式密度中心聚類算法

    2016-07-19 02:16:25鞏樹鳳張巖峰
    關(guān)鍵詞:大數(shù)據(jù)

    鞏樹鳳   張巖峰

    (東北大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 沈陽(yáng) 110819)(shidashufeng@163.com)

    ?

    EDDPC:一種高效的分布式密度中心聚類算法

    鞏樹鳳張巖峰

    (東北大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院沈陽(yáng)110819)(shidashufeng@163.com)

    摘要聚類分析是數(shù)據(jù)挖掘中經(jīng)常用到的一種分析數(shù)據(jù)之間關(guān)系的方法.它把數(shù)據(jù)對(duì)象集合劃分成多個(gè)不同的組或簇,每個(gè)簇內(nèi)的數(shù)據(jù)對(duì)象之間的相似性要高于與其他簇內(nèi)的對(duì)象的相似性.密度中心聚類算法是一個(gè)最近發(fā)表在《Science》上的新型聚類算法,它通過(guò)評(píng)估每個(gè)數(shù)據(jù)對(duì)象的2個(gè)屬性值(密度值ρ和斥群值δ)來(lái)進(jìn)行聚類.相對(duì)于其他傳統(tǒng)聚類算法,它的優(yōu)越性體現(xiàn)在交互性、無(wú)迭代性、無(wú)數(shù)據(jù)分布依賴性等方面.但是密度中心聚類算法在計(jì)算每個(gè)數(shù)據(jù)對(duì)象的密度值和斥群值時(shí),需要O(N2)復(fù)雜度的距離計(jì)算,當(dāng)處理海量高維數(shù)據(jù)時(shí),該算法的效率會(huì)受到很大的影響.為了提高該算法的效率和擴(kuò)展性,提出一種高效的分布式密度中心聚類算法EDDPC (efficient distributed density peaks clustering),它利用Voronoi分割與合理的數(shù)據(jù)復(fù)制及過(guò)濾,避免了大量無(wú)用的距離計(jì)算開銷和數(shù)據(jù)傳輸開銷.實(shí)驗(yàn)結(jié)果顯示:與簡(jiǎn)單的MapReduce分布式實(shí)現(xiàn)比較,EDDPC可以達(dá)到40倍左右的性能提升.

    關(guān)鍵詞密度中心;數(shù)據(jù)聚類;Voronoi分割;MapReduce;大數(shù)據(jù)

    聚類在很多應(yīng)用中是一種基礎(chǔ)的數(shù)據(jù)分析方法,例如社會(huì)網(wǎng)絡(luò)分析、智能商務(wù)、圖像模式識(shí)別、Web搜索和生物學(xué)等.當(dāng)前存在很多聚類算法[1],這其中包括基于劃分的方法(如k-medoids[2],k-means[3])、基于層次的方法(如AGNES[4])、基于密度的方法(如DBASCAN[5])、基于網(wǎng)格的方法(如STING[6]),還有面向大數(shù)據(jù)的快速自適應(yīng)同步聚類算法FAKCS[7]等.

    密度中心聚類算法[8]是由Alex和Alessandro最近在《Science》上提出的一個(gè)新型聚類算法.它區(qū)別于其他聚類算法,基于2點(diǎn)假設(shè)進(jìn)行設(shè)計(jì):1)聚類中心點(diǎn)的密度不低于它附近點(diǎn)的密度;2)聚類中心點(diǎn)與密度比它大的點(diǎn)(另一個(gè)聚類中的點(diǎn))的距離非常遠(yuǎn).在該算法的設(shè)計(jì)中每個(gè)點(diǎn)有2個(gè)屬性: 1)密度值ρ;2)斥群值δ(與密度值比自己大的點(diǎn)的距離的最小值).密度值ρ越大說(shuō)明該點(diǎn)越有可能是聚類中心,斥群值δ越大說(shuō)明該點(diǎn)越有可能代表一個(gè)新的聚類,而只有當(dāng)密度值ρ和斥群值δ都較大時(shí),該點(diǎn)才更可能是某一個(gè)聚類的密度中心.算法根據(jù)這2個(gè)值的大小來(lái)選擇密度中心點(diǎn).

    相對(duì)于諸多傳統(tǒng)聚類算法,密度中心聚類算法具有3個(gè)優(yōu)點(diǎn):

    1) 交互性.不同于k-means等聚類算法,要求用戶在算法執(zhí)行前指定聚類的個(gè)數(shù)k.密度中心聚類算法在計(jì)算出每個(gè)點(diǎn)的密度值ρ和斥群值δ之后,由用戶根據(jù)ρ值和δ值來(lái)確定聚類的個(gè)數(shù).

    2) 無(wú)迭代性.與其他算法(例如EM clustering和k-means)相比,該算法只需要遍歷1次數(shù)據(jù)集即可完成,不需要多次迭代.

    3) 無(wú)數(shù)據(jù)分布依賴性.算法的聚類形狀沒(méi)有偏倚,可以適用于多種環(huán)境下數(shù)據(jù)的聚類[1].

    盡管密度中心聚類算法有以上諸多優(yōu)點(diǎn),但是計(jì)算密度值ρ和斥群值δ需要測(cè)量數(shù)據(jù)集中任意2點(diǎn)之間的歐氏距離,復(fù)雜度為O(N2).當(dāng)處理海量高維數(shù)據(jù)時(shí),算法的實(shí)現(xiàn)涉及到大量的高維歐氏距離計(jì)算,造成大量的計(jì)算開銷,使其無(wú)法在單機(jī)環(huán)境下運(yùn)行,嚴(yán)重影響了算法的實(shí)用性.

    針對(duì)以上問(wèn)題,為了提高算法執(zhí)行效率,本文基于MapReduce[9]實(shí)現(xiàn)了簡(jiǎn)單分布式密度中心聚類(simple distributed density peaks clustering, SDDPC)算法,該算法雖然可以利用多臺(tái)節(jié)點(diǎn)分布式執(zhí)行算法,但是仍然需要大量的距離計(jì)算開銷和數(shù)據(jù)傳輸開銷.我們把它作為待比較的基準(zhǔn)方法,并提出了一種高效的分布式密度中心聚類(efficient distributed density peaks clustering, EDDPC)算法.它首先利用Voronoi分割將數(shù)據(jù)集分成幾個(gè)互不相交的組,由于對(duì)象的密度值ρ和斥群值δ的計(jì)算可能會(huì)用到其他組中的數(shù)據(jù),本文提出了高效的數(shù)據(jù)復(fù)制過(guò)濾模型,將一少部分滿足特定條件的數(shù)據(jù)在分組間復(fù)制,過(guò)濾掉無(wú)用數(shù)據(jù).各分組并行地根據(jù)分配數(shù)據(jù)和部分復(fù)制數(shù)據(jù),在分組內(nèi)局部計(jì)算各點(diǎn)的密度值ρ和斥群值δ,并從理論上保證結(jié)果的正確性,從而大大提高了算法的執(zhí)行效率和可擴(kuò)展性.

    本文的主要貢獻(xiàn)如下:

    1) 提出了一種基于MapReduce的高效分布式密度中心聚類算法EDDPC,并且在開源的Hadoop框架上實(shí)現(xiàn)了該算法.

    2) 針對(duì)ρ值計(jì)算,設(shè)計(jì)了一種數(shù)據(jù)復(fù)制模型;針對(duì)δ值計(jì)算,設(shè)計(jì)了2種數(shù)據(jù)過(guò)濾模型,從而減少了數(shù)據(jù)對(duì)象的復(fù)制量和距離計(jì)算量,提高了算法的執(zhí)行效率.

    3) 在多個(gè)真實(shí)數(shù)據(jù)集上對(duì)分布式密度中心聚類算法進(jìn)行了實(shí)驗(yàn)和性能評(píng)估,實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的高效性.

    1相關(guān)工作

    本節(jié)首先簡(jiǎn)單介紹一下密度中心聚類算法,然后介紹用到的MapReduce編程模型和Voronoi圖數(shù)據(jù)分割法.

    1.1密度中心聚類算法介紹

    密度中心聚類算法[8]基于數(shù)據(jù)點(diǎn)的密度值ρ和斥群值δ來(lái)對(duì)數(shù)據(jù)集進(jìn)行聚類.

    數(shù)據(jù)點(diǎn)i的密度值ρi為

    (1)

    其中,χ(x)是一個(gè)函數(shù),當(dāng)x< 0時(shí),χ(x)=1,否則χ(x)=0;dij是點(diǎn)j到點(diǎn)i的距離;dc是一個(gè)距離臨界值.也就是說(shuō),ρi為與點(diǎn)i的距離小于dc的點(diǎn)的個(gè)數(shù).

    點(diǎn)i的斥群值δi為

    (2)

    它代表與密度值比自己大的點(diǎn)的距離的最小值.假設(shè)密度比ρi大的點(diǎn)中,點(diǎn)j距離點(diǎn)i最近,那么δi=dij,而點(diǎn)j就是點(diǎn)i的依附點(diǎn)σi,

    說(shuō)明點(diǎn)i可以依附點(diǎn)j,歸屬于點(diǎn)j所屬聚類.斥群值δi越小,點(diǎn)i距離點(diǎn)j越近,這種依附可能性越大,代表點(diǎn)i越有可能歸屬于點(diǎn)j所屬的聚類;斥群值δi越大,點(diǎn)i距離點(diǎn)j越遠(yuǎn)依附性越小,說(shuō)明點(diǎn)i很有可能是離群點(diǎn)或者是屬于另一個(gè)聚類.當(dāng)某個(gè)點(diǎn)m的密度值ρm是所有點(diǎn)中密度最大值,那么點(diǎn)m的斥群值δm=maxj(dmj).

    密度中心聚類算法將每個(gè)數(shù)據(jù)點(diǎn)的ρ值和δ值表示在一個(gè)2維決策圖(decision graph)上.如圖1(a)展示了一個(gè)數(shù)據(jù)集的分布情況;圖1(b)是根據(jù)圖1(a)中每個(gè)點(diǎn)的ρ值和δ值繪制成的決策圖.用戶根據(jù)決策圖中數(shù)據(jù)點(diǎn)的分布情況,圈出ρ值和δ值都很大的數(shù)據(jù)點(diǎn)作為密度中心,即決策圖中右上角的部分?jǐn)?shù)據(jù)點(diǎn).由于在計(jì)算δ值時(shí)已經(jīng)記錄了每個(gè)數(shù)據(jù)點(diǎn)的依附點(diǎn),可以根據(jù)數(shù)據(jù)點(diǎn)的依附關(guān)系并由用戶選取的密度中心反推出每個(gè)數(shù)據(jù)點(diǎn)的所屬聚類.

    Fig. 1 Density peaks clustering.圖1 密度中心聚類算法

    1.2基于Voronoi圖的分割法

    Voronoi圖,又叫泰森多邊形或Dirichlet圖,是一個(gè)關(guān)于空間劃分的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu).基于Voronoi圖的劃分是指在給定的數(shù)據(jù)對(duì)象集S上,選擇M個(gè)對(duì)象作為種子對(duì)象,這M個(gè)種子對(duì)象按照2點(diǎn)之間連線的垂直平分線將數(shù)據(jù)集S分割成M個(gè)互不相交的組,這M個(gè)分組稱為“Voronoi cells”.數(shù)據(jù)集S中的每個(gè)元素按照距離被劃分到距離自己最近的種子對(duì)象所在的分組中.

    Voronoi圖分割法在并行計(jì)算中應(yīng)用非常廣泛,文獻(xiàn)[10]以Voronoi圖分割為基礎(chǔ)使用MapReduce框架解決在大數(shù)據(jù)情況下的范圍搜索和KNN查詢,如圖2顯示了一個(gè)Voronoi圖將數(shù)據(jù)集分割成8個(gè)組的實(shí)例.文獻(xiàn)[11]用Voronoi圖分割法設(shè)計(jì)出了一種高效的分布式KNN連接算法.受此啟發(fā),本文提出的EDDPC算法應(yīng)用Voronoi圖分割法對(duì)數(shù)據(jù)集分割,使分割后的數(shù)據(jù)集分組能夠在集群中的節(jié)點(diǎn)上局部計(jì)算密度值和斥群值.為方便以后敘述做如下定義:Voronoi圖分割種子對(duì)象集合為,Pi表示種子對(duì)象pi所在的分組.

    Fig. 2 An example of Voronoi.圖2 Voronoi圖示例

    1.3MapReduce與Hadoop

    MapReduce是一個(gè)當(dāng)前流行的分布式編程模型.MapReduce提供了2個(gè)主要函數(shù)map和reduce.函數(shù)map和函數(shù)reduce由用戶自己定義,函數(shù)map根據(jù)用戶自定義的功能處理輸入數(shù)據(jù),并且以〈key,value〉的形式輸出.MapReduce自動(dòng)收集具有相同key值的value,并且以〈key,list(value)〉的形式作為reduce的輸入,reduce根據(jù)用戶定義的功能進(jìn)行處理,最終以〈key,value〉的格式輸出.MapReduce的大致工作流程為

    map(k1,v1)→list(k2,v2),

    reduce(k2,list(v2))→list(k3,v3).

    Hadoop是一個(gè)實(shí)現(xiàn)了MapReduce編程模型的開源框架.在Hadoop上的數(shù)據(jù)默認(rèn)存儲(chǔ)在分布式文件系統(tǒng)HDFS上.本文將基于MapReduce模型設(shè)計(jì)高效的分布式密度中心聚類算法.

    2密度中心聚類在Hadoop上的簡(jiǎn)單實(shí)現(xiàn)

    本節(jié)基于MapReduce框架實(shí)現(xiàn)基本的分布式密度中心聚類算法SDDPC.

    在1.1節(jié)已經(jīng)介紹過(guò),密度中心聚類算法的主要步驟是計(jì)算每個(gè)點(diǎn)的密度值ρ和斥群值δ,因此分布式密度中心聚類算法的重點(diǎn)是分布式地計(jì)算ρ值和δ值.在得到每個(gè)數(shù)據(jù)點(diǎn)的ρ值和δ值后,可以將其收集到1臺(tái)機(jī)器上繪出決策圖進(jìn)行聚類.接下來(lái)描述密度中心聚類算法的4個(gè)基本計(jì)算步驟:1)選擇dc長(zhǎng)度的預(yù)處理階段(使用MapReduce);2)計(jì)算ρ值;3)根據(jù)ρ值計(jì)算出δ值;4)繪制決策圖并對(duì)數(shù)據(jù)對(duì)象聚類.

    2.1預(yù)處理:尋找合適dc

    距離閾值dc在密度中心聚類算法的實(shí)現(xiàn)過(guò)程中是一個(gè)非常重要的參數(shù),如式(1)所示該參數(shù)用來(lái)計(jì)算每個(gè)點(diǎn)的密度值ρ.文獻(xiàn)[1]給出了一個(gè)dc的經(jīng)驗(yàn)估計(jì)方法,即所有點(diǎn)對(duì)距離從大到小排序后的1%~2%處,因此本文參考該方法來(lái)選取dc值.

    在大規(guī)模數(shù)據(jù)集下估計(jì)dc值是一個(gè)開銷非常大的任務(wù),即使在分布式環(huán)境中,對(duì)數(shù)據(jù)排序也是一個(gè)復(fù)雜的工作.因此,在本文中應(yīng)用了采樣的理念來(lái)對(duì)dc值進(jìn)行估計(jì).由于數(shù)據(jù)量大,因此我們基于MapReduce進(jìn)行采樣,函數(shù)map基于水塘采樣(reservoir sampling)方法[12]對(duì)任意2點(diǎn)的距離進(jìn)行分布式采樣,由于樣本數(shù)據(jù)少,所以可以將采集后的數(shù)據(jù)發(fā)送到單個(gè)reduce,由其進(jìn)行距離計(jì)算并排序,然后選擇出合適的dc值.

    2.2計(jì)算ρ值

    正如式(1)所示,ρo的計(jì)算需要知道對(duì)象o到其余每個(gè)點(diǎn)j∈S之間的距離doj.對(duì)象之間距離的計(jì)算在MapReduce中可以實(shí)現(xiàn),有2種實(shí)現(xiàn)方法.在方法1中,函數(shù)map選出1個(gè)對(duì)象,然后將其發(fā)送給其他每個(gè)對(duì)象(假設(shè)總共有N個(gè)對(duì)象);函數(shù)reduce收集每個(gè)對(duì)象上由map發(fā)過(guò)來(lái)的對(duì)象,計(jì)算該對(duì)象與它們之間的距離,并且根據(jù)式(1)計(jì)算出ρ值.顯然這種簡(jiǎn)單的實(shí)現(xiàn)需要很大的開銷,由于每個(gè)對(duì)象都需復(fù)制到其他對(duì)象所在機(jī)器進(jìn)行距離計(jì)算,因此shuffle開銷是O(N2),計(jì)算開銷也是O(N2).

    由于在方法2中需要將數(shù)據(jù)分塊,因此需要1個(gè)MapReduce作業(yè)來(lái)完成數(shù)據(jù)的分塊,但是仍然比方法1效率高,尤其是當(dāng)n?N時(shí),shuffle開銷會(huì)急劇減少.在方法2中每個(gè)分塊與其他n-1塊運(yùn)算,分塊中的每個(gè)對(duì)象o就會(huì)得到n個(gè)ρ值,因此需要1個(gè)MapReduce作業(yè)來(lái)合并每個(gè)對(duì)象o的ρ值.

    2.3計(jì)算δ值

    δ值需要根據(jù)式(2)計(jì)算.算法實(shí)現(xiàn)步驟和計(jì)算ρ值時(shí)相似,需要2個(gè)MapReduce作業(yè)來(lái)完成δ值的計(jì)算,第1個(gè)MapReduce作業(yè)結(jié)束之后,每個(gè)對(duì)象會(huì)得到n個(gè)δ值,第2個(gè)MapReduce作業(yè)從這n個(gè)值中選出最小的一個(gè)值作為δ值.shuffle開銷是O(n×N),計(jì)算開銷是O(N2).

    2.4繪制決策圖并聚類

    將得到的ρ值集合和δ值集合匯集到1臺(tái)機(jī)器上(ρ值集合和δ值集合的大小遠(yuǎn)小于點(diǎn)數(shù)據(jù)集S),并基于得到的ρ值和δ值繪制決策圖.用戶根據(jù)ρ值和δ值的分布情況選出繪制在決策圖中右上角的部分?jǐn)?shù)據(jù)點(diǎn)作為聚類中心,每個(gè)點(diǎn)根據(jù)計(jì)算δ值時(shí)得到的依附關(guān)系,由聚類中心點(diǎn)反推出每個(gè)數(shù)據(jù)點(diǎn)的所屬聚類.

    3基于Voronoi分割和數(shù)據(jù)點(diǎn)復(fù)制過(guò)濾的高效分布式密度中心聚類算法

    雖然我們?cè)O(shè)計(jì)了簡(jiǎn)單的分布式密度中心聚類算法SDDPC,彌補(bǔ)了單機(jī)運(yùn)行時(shí)的缺陷,但是由于存在大量的shuffle開銷和計(jì)算開銷,因此并不是一種高效的方法.本節(jié)基于Voronoi數(shù)據(jù)分割提出了一種高效分布式密度中心聚類算法EDDPC.該算法包括1個(gè)預(yù)處理階段和2個(gè)完整的MapReduce作業(yè).EDDPC算法將數(shù)據(jù)分組后,各分組中的數(shù)據(jù)對(duì)象獨(dú)立并行執(zhí)行于集群中的各節(jié)點(diǎn)中,在分組內(nèi)部局部計(jì)算ρ值和δ值,避免因計(jì)算所有對(duì)象間的距離而造成的大量開銷.

    在預(yù)處理階段需要完成的任務(wù)是選擇Voronoi分割時(shí)所需要的種子.2個(gè)MapReduce作業(yè)分別用來(lái)計(jì)算ρ值和δ值.由于對(duì)數(shù)據(jù)分組之后,在某分組中計(jì)算某些對(duì)象的ρ值和δ值時(shí)需要其他分組的部分對(duì)象,因此各分組獨(dú)立地直接計(jì)算ρ值和δ值將得到錯(cuò)誤的結(jié)果.例如,對(duì)于某數(shù)據(jù)對(duì)象o∈Pi,在計(jì)算ρo時(shí),|o,q|

    3.1種子選擇并且計(jì)算dc

    EDDPC算法應(yīng)用了1.2節(jié)提到的基于Voronoi圖的分組方法.該分組方法使用點(diǎn)之間的距離關(guān)系來(lái)進(jìn)行分組,是一個(gè)非常有效的空間分組方法,尤其是在高維空間上.

    該分組方法根據(jù)種子對(duì)象進(jìn)行分組,因此在分組之前需要先挑選出合適的種子對(duì)象.在挑選種子時(shí)使用2.1節(jié)中選擇dc值時(shí)使用的水塘采樣算法.在挑選種子對(duì)象的同時(shí)也能夠得到dc值,無(wú)需額外的MapReduce作業(yè).

    3.2計(jì)算ρ值及其復(fù)制模型

    經(jīng)過(guò)預(yù)處理階段的操作,可以得到Voronoi分組需要的種子對(duì)象集,然后創(chuàng)建1個(gè)MapReduce作業(yè)對(duì)數(shù)據(jù)集分組并計(jì)算ρ值.首先根據(jù)選出的種子對(duì)象進(jìn)行分組,每個(gè)對(duì)象o與種子對(duì)象集中的每個(gè)對(duì)象pi計(jì)算距離,得到對(duì)象o到每個(gè)種子對(duì)象pi的距離dopi,比較對(duì)象o到每個(gè)種子對(duì)象的距離,選出距離o最近的種子對(duì)象pj,將對(duì)象o分配到pj所在的分組Pj中.

    分組后,整個(gè)數(shù)據(jù)集分成若干個(gè)互不相交的組,因此,在計(jì)算對(duì)象o密度值ρo時(shí),可能得到的是一個(gè)錯(cuò)誤的值.如圖3(a)所示,o靠近分組的邊緣線時(shí)計(jì)算得到ρo=8,而實(shí)際值ρo=11.

    Fig. 3 Example of replication.圖3 數(shù)據(jù)復(fù)制示例

    為了得到正確的ρo值需要將分組區(qū)域B中的3個(gè)點(diǎn)復(fù)制到區(qū)域A中.據(jù)此可以推出每個(gè)分組Si中的點(diǎn)不僅僅要包含由Voronoi分組后點(diǎn)集Pi,也要包含本組中的所有對(duì)象的鄰居集合Ro.即

    (3)

    其中,Ro={q|?q∈S,|q,o|

    在分組之前無(wú)法得到對(duì)象o的dc鄰居集合Ro包含哪些對(duì)象,但是根據(jù)Ro的定義可知,當(dāng)q∈Ro時(shí),|o,q|

    我們提出保證分組正確計(jì)算ρ值的對(duì)象復(fù)制方案.如圖3(b)所示,將所有距離邊緣點(diǎn)小于dc的點(diǎn)全部發(fā)送到相鄰的分組中,并由定理1保證其正確性.

    定理1. ?o∈Pj,那么對(duì)象o可能成為Pi中某個(gè)對(duì)象的Ro點(diǎn)而被復(fù)制到的Pi中的條件為

    (4)

    (5)

    當(dāng)|o,l|

    證畢.

    Fig. 4 An example of equation (5).圖4 式(5)示例

    式(5)中的|o,pi|,|o,pj|在對(duì)數(shù)據(jù)對(duì)象o進(jìn)行分組時(shí)已經(jīng)得出,|pi,pj|在種子選擇時(shí)算出,由于種子對(duì)象數(shù)據(jù)量少,因此所有種子間的距離計(jì)算可以單機(jī)完成,并在分布式計(jì)算時(shí)加載使用.

    根據(jù)定理1可在分組的同時(shí)對(duì)數(shù)據(jù)進(jìn)行復(fù)制,分組完成后每個(gè)組內(nèi)的數(shù)據(jù)會(huì)包含2種數(shù)據(jù)對(duì)象:一種是由Voronoi數(shù)據(jù)分割方法分組后在每個(gè)Voronoi cell里的對(duì)象集Pi,該集合中的對(duì)象稱之為原始對(duì)象;另一種是為了計(jì)算原始對(duì)象的密度值ρ而將其他組中的數(shù)據(jù)復(fù)制進(jìn)來(lái)的對(duì)象集Si-Pi,該集合中的對(duì)象稱之為復(fù)制對(duì)象.

    MapReduce實(shí)現(xiàn):函數(shù)map首先加載事先采樣得到的Voronoi種子對(duì)象集合,然后計(jì)算每個(gè)對(duì)象o到所有種子對(duì)象pi∈的距離|o,pi|,將該對(duì)象發(fā)送到距離最近的種子所在的分組中,即對(duì)象o所屬的Voronoi分組.同時(shí),函數(shù)map根據(jù)式(5)把滿足復(fù)制條件的對(duì)象發(fā)送到鄰居分組中.函數(shù)reduce負(fù)責(zé)某個(gè)Voronoi分組,根據(jù)式(1)計(jì)算每個(gè)原始對(duì)象的ρ值(無(wú)須計(jì)算復(fù)制對(duì)象的ρ值).假設(shè)α是復(fù)制因子,代表平均每個(gè)點(diǎn)的副本數(shù)量,如果共產(chǎn)生n個(gè)Voronoi分組,那么計(jì)算密度值ρ需要復(fù)制α×N個(gè)對(duì)象,所以shuffle開銷是O(α×N),而所需的距離計(jì)算開銷是O(α×N2n) .

    3.3復(fù)制過(guò)濾計(jì)算δ值

    在得到密度值ρ之后,可以根據(jù)組內(nèi)每個(gè)對(duì)象的ρ值和式(2)計(jì)算每個(gè)對(duì)象的δ值.只在分組內(nèi)部計(jì)算δ值會(huì)有一定的局限性,算出的δ值并不是實(shí)際的δ值,而是一個(gè)不小于實(shí)際δ值的局部δ值,記為δ′.如圖5所示,由于對(duì)象p2不在對(duì)象o所在的分組中,因此對(duì)象o在分組內(nèi)部將p1點(diǎn)作為δ值依附點(diǎn),最終算出的δ′就比實(shí)際的δ值大.

    Fig. 5 δ value of object o.圖5 對(duì)象o的δ值

    為了能夠求出精確的斥群值δ需要第2個(gè)MapReduce作業(yè).如圖5所示,為得到對(duì)象o的實(shí)際δ值,需要將組外的p2復(fù)制到對(duì)象o所在的分組中.因此為了計(jì)算每個(gè)組中對(duì)象的斥群值δ需要將一些組外的對(duì)象復(fù)制到本組中.由式(2)可知,對(duì)象o的斥群值δ是o與密度比自己大的對(duì)象的最小距離,若某對(duì)象的密度值大于分組Pi中對(duì)象密度的最小值,它便有可能成為Pi中某對(duì)象o的依附點(diǎn)σo.所以我們有如下引理:

    引理1. ?q∈Pj,則對(duì)象q可能成為分組Pi中某個(gè)對(duì)象的依附點(diǎn)σo的條件為

    ρq>minρ(Pi),

    (6)

    其中minρ(Pi)=min{ρo|?o∈Pi}.

    在整個(gè)數(shù)據(jù)集S中符合式(6)的對(duì)象可能非常多,當(dāng)Pi中含有整個(gè)數(shù)據(jù)集S中密度最小的對(duì)象時(shí),需要將整個(gè)數(shù)據(jù)集全部復(fù)制到分組Pi中.但是,在所有滿足式(6)的對(duì)象中也有很多對(duì)象是冗余的,這些冗余的對(duì)象導(dǎo)致一些額外數(shù)據(jù)復(fù)制開銷和距離計(jì)算開銷.因此,為了減少數(shù)據(jù)的復(fù)制量,需要將不必要的對(duì)象過(guò)濾.

    為了計(jì)算組Pi中每個(gè)對(duì)象的δ值,經(jīng)過(guò)復(fù)制后的分組Si不僅包含原始分組對(duì)象集Pi同時(shí)也應(yīng)該含有每個(gè)對(duì)象的σo點(diǎn),即:

    (7)

    在計(jì)算出ρ值之后,對(duì)本組內(nèi)的原始對(duì)象根據(jù)ρ值進(jìn)行局部δ′值計(jì)算.由于該分組未必包含原始對(duì)象o的依附點(diǎn)對(duì)象σo(最近的密度大于ρo的對(duì)象),所以得到的δ′值是一個(gè)比實(shí)際值大的數(shù)值.但是這個(gè)值可以作為對(duì)象的斥群值δ的一個(gè)范圍值,δ≤δ′.因此得到:

    |o,σo|≤δ′.

    (8)

    3.3.1普通對(duì)象的依附點(diǎn)過(guò)濾模型

    拋開分組內(nèi)部的最大ρ值對(duì)象(局部密度中心點(diǎn)),只考慮剩余普通對(duì)象的δ值的計(jì)算.

    在第1個(gè)MapReduce作業(yè)中可以計(jì)算出普通對(duì)象的δ′值,它可以作為實(shí)際δ值的上界.在分組Pi中密度最大的對(duì)象的δ′值為無(wú)窮大,我們記次大的δ′為smaxδ(Pi),則Pi中除局部密度中心點(diǎn)之外所有對(duì)象的依附點(diǎn)σo與分組種子的距離滿足如下定理:

    定理2. ?o∈Pi,ρo≠maxρ(Pi),記U(Pi)為集合Pi中的所有普通對(duì)象的δ值依附點(diǎn)σo到種子對(duì)象pi的距離最大值,那么U(Pi)滿足不等式:

    U(Pi)≤B(Pi)+smaxδ(Pi),

    (9)

    其中,B(Pi)=max{|o,pi|,?o∈Pi}.

    證明. ?o∈Pi,由于smaxδ(Pi)是除最大ρ值對(duì)象以外最大的δ′值,因此組內(nèi)任何普通點(diǎn)的δ值不可能大于該值,所以|o,σo|≤smaxδ(Pi) ,又因?yàn)锽(Pi)=max{|o,pi|,?o∈Pi},所以|pi,o|≤B(Pi),由三角不等式|σo,pi|≤|pi,o|+|o,σo|,所以U(Pi)≤B(Pi)+smaxδ(Pi).

    證畢.

    式(9)說(shuō)明了,Pi組內(nèi)除最大ρ值對(duì)象的所有普通對(duì)象的依附點(diǎn)σo與該組的種子對(duì)象pi的距離上限為B(Pi)+smaxδ(Pi).由此我們得到如下的推論:

    推論1. ?o∈S,o?Pi,則對(duì)象o可能成為Pi中某對(duì)象的σo點(diǎn)而被復(fù)制到Pi中的條件為

    (10)

    以上過(guò)濾模型沒(méi)有復(fù)制分組中密度最大對(duì)象的依附點(diǎn),接下來(lái)我們提出分組中最大密度對(duì)象的σo過(guò)濾模型.

    3.3.2局部最大密度對(duì)象的依附點(diǎn)過(guò)濾模型

    局部最大密度對(duì)象的依附點(diǎn)過(guò)濾模型同樣要找到一個(gè)指導(dǎo)對(duì)象的依附點(diǎn)復(fù)制到組Pi的取值范圍mU(Pi),該取值范圍不同于普通對(duì)象依附點(diǎn)過(guò)濾模型中的取值范圍U(Pi).我們首先給出如下定理:

    定理3. 給定1個(gè)分組Pi,對(duì)象m為該分組的局部最大密度對(duì)象,即ρm=maxρ(Pi),假設(shè)其依附點(diǎn)為σm,則:

    |pi,σm|≤min {2|m,pi|+|pj,u|+|pi,pj|},

    (11)

    其中u∈Pj且ρu>ρm,pj≠pi,pj∈P.

    證明. 根據(jù)三角不等式可知,|pi,σm|≤|pi,m|+|m,σm|,由σm的定義可得|m,σm|≤min {|m,u|},所以|pi,σm|≤|m,pi|+min {|m,u|},又因?yàn)閨m,u|≤|m,pi|+|pi,u|,|pi,u|≤|pi,pj|+|pj,u|.所以|pi,Dm|≤min {2|m,pi|+|pj,u|+|pi,pj|}.

    證畢.

    由此得出如下推論:

    推論2. ?o∈S,o?Pi,則對(duì)象o可能成為Pi中局部最大密度對(duì)象m的依附點(diǎn)σm而被復(fù)制到分組Pi中的條件為

    (12)

    其中,mU(Pi)=min {2|m,pi|+|pj,u|+|pi,pj|}.

    在2個(gè)復(fù)制模型中涉及到每個(gè)分組內(nèi)的次大δ′值smaxδ(Pi) (最大δ′值應(yīng)該是無(wú)窮大)、組內(nèi)的最大ρ值maxρ(Pi)、組內(nèi)最小ρ值minρ(Pi)、組內(nèi)局部最大ρ值對(duì)象m到種子對(duì)象的距離|m,pi|和距離該組的種子對(duì)象最遠(yuǎn)的點(diǎn)的距離B(Pi),這些數(shù)據(jù)是在完成第1個(gè)MapReduce作業(yè)后需要收集的一些關(guān)于分組的信息.

    2個(gè)過(guò)濾模型中的式(10)和式(12)都以|o,pi|≤θ的形式出現(xiàn),其中θ=U(Pi)或θ=mU(Pi).

    對(duì)每個(gè)對(duì)象決定是否要發(fā)送到分組Pi中,都要與pi做1次距離計(jì)算.因此,當(dāng)P中的對(duì)象非常多時(shí),開銷也會(huì)變大,為此本文給出了一種剪枝的策略.

    定理4. ?o∈Pj,|o,pi|<θ,則|o,pj|>|pj,pi|-θ.

    證明. 如圖6所示,由直角三角形斜邊大于直角邊可知|pi,k|<θ,|pj,k|>|pj,pi|-θ,又因?yàn)閨o,pj|>|pj,k|,|pj,k|>|pj,pi|-θ,所以|o,pj|>|pj,pi|-θ.

    證畢.

    因此當(dāng)|o,pj|>|pj,pi|-θ時(shí),不必計(jì)算o到pi的距離,而直接過(guò)濾.

    Fig. 6 An example of theorem 4.圖6 定理4示例

    MapReduce實(shí)現(xiàn):在第2個(gè)MapReduce作業(yè)中,函數(shù)map根據(jù)以上2個(gè)模型,將滿足推論1和推論2的對(duì)象進(jìn)行相應(yīng)的復(fù)制和發(fā)送.這里需要注意一點(diǎn),如果某一對(duì)象同時(shí)滿足2個(gè)條件,為了避免重復(fù)計(jì)算,只將數(shù)據(jù)對(duì)象復(fù)制發(fā)送1次即可.在reduce階段,只需要比較組內(nèi)原始對(duì)象的密度與復(fù)制對(duì)象的密度,當(dāng)密度比自己密度大時(shí)計(jì)算距離,選擇最小距離作為δ值,同時(shí)記錄δ值的依附點(diǎn).假設(shè)β是復(fù)制因子,代表平均每個(gè)點(diǎn)的副本數(shù)量,如果共產(chǎn)生n個(gè)Voronoi分組,那么計(jì)算斥群值δ需要復(fù)制β×N個(gè)對(duì)象,所以shuffle開銷是O(β×N),而所需的距離計(jì)算開銷是O(β×N2n).

    4實(shí)驗(yàn)

    我們?cè)诒镜丶汉虯mazon EC2云平臺(tái)上應(yīng)用3個(gè)真實(shí)數(shù)據(jù)集對(duì)分布式密度中心算法SDDPC和優(yōu)化的EDDPC算法進(jìn)行了對(duì)比實(shí)驗(yàn)分析.

    4.1實(shí)驗(yàn)環(huán)境

    Hadoop本地集群包括4臺(tái)slave機(jī)器、1臺(tái)master機(jī)器,每臺(tái)機(jī)器配有Intel I5-4690 3.3 GHz 4Core處理器、1000 Mbps以太網(wǎng)卡、1 TB 7200rm普通硬盤、4 GB運(yùn)行內(nèi)存.Amazon EC2集群包括17個(gè)m1.medium節(jié)點(diǎn).操作系統(tǒng)為64位Ubuntu 14.04 LTS,JDK版本為Java1.7,Hadoop版本為Hadoop1.2.1.

    數(shù)據(jù)集采用BigCross[13],facial[14],kdd[15],其中BigCross數(shù)據(jù)集包含11 620 300個(gè)點(diǎn),實(shí)驗(yàn)過(guò)程中只截取了50萬(wàn)個(gè)點(diǎn),每條記錄的維度是57;facial數(shù)據(jù)集包含27 936個(gè)點(diǎn),每個(gè)點(diǎn)300維;kdd數(shù)據(jù)集包含145 751個(gè)點(diǎn),每個(gè)點(diǎn)74維.

    本文所有實(shí)驗(yàn)中SDDPC算法以200個(gè)點(diǎn)作為1個(gè)分塊,EDDPC算法為避免因選擇到的種子不同造成分組狀態(tài)不同,從而導(dǎo)致實(shí)驗(yàn)結(jié)果不同而對(duì)實(shí)驗(yàn)效果造成影響,所以2種算法均采用3次實(shí)驗(yàn)取平均值作為最終結(jié)果.

    4.2實(shí)驗(yàn)結(jié)果與分析

    4.2.1整體性能評(píng)估

    圖7展示了在BigCross(隨機(jī)截取20萬(wàn)個(gè)點(diǎn)),facial,kdd數(shù)據(jù)集上SDDPC,EDDPC和原始的密度中心聚類(density peak clustering, DP_Clustering)算法運(yùn)行時(shí)間的比較.EDDPC種子選取比例為3‰,運(yùn)行時(shí)間不包括繪制決策圖時(shí)間.總體上從圖7可以看出,EDDPC算法的運(yùn)行時(shí)間明顯要少于SDDPC算法,尤其在數(shù)據(jù)量比較大的BigCross和kdd數(shù)據(jù)集上.在kdd數(shù)據(jù)集上表現(xiàn)最為明顯,產(chǎn)生kdd運(yùn)行時(shí)間差距的原因是kdd數(shù)據(jù)集中只有1個(gè)聚類簇,因此在計(jì)算δ值時(shí)shuffle開銷和計(jì)算開銷大大減少.原始DP_Clustering算法在單機(jī)環(huán)境下運(yùn)行,由于沒(méi)有Hadoop啟動(dòng)時(shí)間和多次讀文件的時(shí)間,因此原始DP_Clustering算法在數(shù)據(jù)量比較小的情況下會(huì)比SDDPC算法的運(yùn)行時(shí)間快;而在數(shù)據(jù)量比較大的情況下,原始DP_Clustering算法由于是在單機(jī)環(huán)境下執(zhí)行,會(huì)造成內(nèi)存溢出,從而無(wú)法執(zhí)行DP_Clustering算法.

    Fig. 7 Running time comparison on three data sets.圖7 3種數(shù)據(jù)集下運(yùn)行時(shí)間比較

    4.2.2數(shù)據(jù)集大小的影響

    為了測(cè)試數(shù)據(jù)集大小變化對(duì)算法性能的影響,我們從BigCross數(shù)據(jù)集中分別隨機(jī)截取了10萬(wàn)、20萬(wàn)、30萬(wàn)、40萬(wàn)、50萬(wàn)個(gè)數(shù)據(jù)對(duì)象,分別構(gòu)成了5個(gè)大小不同的數(shù)據(jù)集.如圖8顯示了EDDPC和SDDPC算法在這5個(gè)數(shù)據(jù)集上運(yùn)行時(shí)間的對(duì)比,可以看出改進(jìn)的EDDPC算法時(shí)間增長(zhǎng)比較緩慢,而SDDPC算法以接近平方的速度增長(zhǎng).

    Fig. 8 Running time comparison when varying data size.圖8 不同數(shù)據(jù)集大小情況下的運(yùn)行時(shí)間比較

    為了分析造成運(yùn)行時(shí)間差距的原因,本文還統(tǒng)計(jì)了這2種算法在Hadoop框架上執(zhí)行時(shí)的通信量(shuffling cost)、每個(gè)點(diǎn)的副本個(gè)數(shù)和點(diǎn)之間距離計(jì)算的次數(shù).

    圖9顯示了在計(jì)算ρ值和δ值時(shí)EDDPC和SDDPC算法執(zhí)行過(guò)程中每個(gè)點(diǎn)的平均副本數(shù)量.其中EDDPC算法的副本數(shù)量由程序統(tǒng)計(jì)而得,并多次統(tǒng)計(jì)取平均值;SDDPC算法的副本數(shù)量根據(jù)Nn計(jì)算得到,其中N指數(shù)據(jù)集中點(diǎn)的個(gè)數(shù),n指每個(gè)分塊中包含的點(diǎn)的個(gè)數(shù).

    Fig. 9 Comparison of number of points replicas.圖9 點(diǎn)副本數(shù)比較

    圖10顯示了在輸入數(shù)據(jù)為10萬(wàn)~50萬(wàn)時(shí)EDDPC和SDDPC算法在Hadoop上執(zhí)行過(guò)程中的通信量.

    圖11顯示了數(shù)據(jù)從100×103~500×103時(shí),EDDPC和SDDPC算法在Hadoop集群上執(zhí)行過(guò)程中計(jì)算2點(diǎn)之間距離的計(jì)算次數(shù),EDDPC算法由程序統(tǒng)計(jì),SDDPC算法根據(jù)公式2N×(N-1)計(jì)算.

    通過(guò)分析圖9可以看到,EDDPC算法在計(jì)算ρ值和δ值的過(guò)程中平均每個(gè)點(diǎn)的副本數(shù)量比SDDPC算法要少,因此Hadoop集群中各節(jié)點(diǎn)之間的通信量機(jī)會(huì)變少,如圖10所示.同時(shí)由于副本數(shù)量的減少和組內(nèi)各點(diǎn)局部計(jì)算距離,從而減少距離計(jì)算的次數(shù),如圖11所示.

    Fig. 10 Shuffling cost comparison.圖10 Shuffle通信量比較

    Fig. 11 Comparison of distance measurements.圖11 距離計(jì)算次數(shù)比較

    4.2.3分組種子數(shù)量的影響

    為了探究EDDPC算法中種子數(shù)量對(duì)算法執(zhí)行效率的影響,本文設(shè)計(jì)了在相同數(shù)據(jù)量的點(diǎn)集中相同數(shù)據(jù)集(facial)下不同種子數(shù)量對(duì)實(shí)驗(yàn)結(jié)果造成的影響.

    Fig. 12 Running time of EDDPC when varying numberof Voronoi partitions.圖12 EDDPC中Voronoi分組數(shù)量不同時(shí)的運(yùn)行時(shí)間

    圖12顯示了在種子數(shù)量在5~95范圍內(nèi)變化時(shí)EDDPC算法的運(yùn)行時(shí)間,由于選取到的種子不同,造成運(yùn)行時(shí)間不同,因此本實(shí)驗(yàn)取3次實(shí)驗(yàn)的平均值作為本實(shí)驗(yàn)的結(jié)果值.

    由圖12可以看出,在一定范圍內(nèi),隨種子對(duì)象的增多運(yùn)行時(shí)間先變少然后增大.種子對(duì)象在15~25時(shí)運(yùn)行時(shí)間最少.由于種子對(duì)象的選取可能造成運(yùn)行時(shí)間波動(dòng),但是大致趨勢(shì)仍然是先變小后變大.

    我們對(duì)圖12所示現(xiàn)象做如下的分析:當(dāng)種子對(duì)象增多時(shí),數(shù)據(jù)分組變多,分組內(nèi)部的數(shù)據(jù)會(huì)減少,因此在計(jì)算ρ值時(shí)分組內(nèi)部距離計(jì)算的開銷就會(huì)減少.而在計(jì)算δ值時(shí),隨著分組的增多,U(Pi)和mU(Pi)的值會(huì)變小,每個(gè)分組內(nèi)部被復(fù)制添加進(jìn)來(lái)的數(shù)據(jù)對(duì)象會(huì)減少,因此總體運(yùn)行時(shí)間會(huì)減少.但是隨著種子對(duì)象的持續(xù)增加,分組數(shù)量增多,map和reduce的線程數(shù)量就會(huì)增加,加大了系統(tǒng)的開銷.同時(shí)分組的增多也會(huì)使每個(gè)對(duì)象被復(fù)制到其他組的概率變大,因此通信開銷也會(huì)隨之增長(zhǎng),導(dǎo)致運(yùn)行時(shí)間變長(zhǎng).

    4.2.4集群數(shù)量的影響

    我們?cè)贏mazon EC2集群上,分別利用2,4,8,16個(gè)計(jì)算節(jié)點(diǎn)運(yùn)行EDDPC算法來(lái)評(píng)估算法擴(kuò)展性能.采用BigCross數(shù)據(jù)集中截取的50萬(wàn)條數(shù)據(jù)作為輸入數(shù)據(jù),實(shí)驗(yàn)結(jié)果如圖13所示.我們以2節(jié)點(diǎn)運(yùn)行時(shí)間為基準(zhǔn),畫出了一條理論最優(yōu)的擴(kuò)展性能曲線.從圖13可以看出,EDDPC算法具有不錯(cuò)的擴(kuò)展性能,雖然性能加速比略低于理論最優(yōu)的加速比,但是從4節(jié)點(diǎn)到16節(jié)點(diǎn)的運(yùn)行時(shí)間幾乎是隨著節(jié)點(diǎn)數(shù)量的增加呈線性遞減.

    Fig. 13 Running time of EDDPC when varying number of nodes.圖13 節(jié)點(diǎn)不同時(shí)的EDDPC運(yùn)行時(shí)間

    5結(jié)論

    本文發(fā)現(xiàn)了密度中心聚類算法的運(yùn)行效率問(wèn)題,并基于MapReduce簡(jiǎn)單實(shí)現(xiàn)了分布式密度中心聚類算法——SDDPC.為了進(jìn)一步提高SDDPC算法的性能,本文基于Voronoi圖分割的方法提出一種高效的分布式密度中心聚類算法——EDDPC.為了正確計(jì)算ρ值和δ值,本文分別給出了一個(gè)數(shù)據(jù)對(duì)象復(fù)制模型和2個(gè)數(shù)據(jù)對(duì)象過(guò)濾模型,將部分其他分組內(nèi)的必要對(duì)象復(fù)制到本分組內(nèi),這保證了EDDPC算法可以在各獨(dú)立分組內(nèi)分布式執(zhí)行ρ值和δ值的計(jì)算.提出的高效數(shù)據(jù)復(fù)制過(guò)濾模型不僅能保證算法執(zhí)行過(guò)程中能夠精確計(jì)算每個(gè)對(duì)象的ρ值和δ值,從而得到與原始DP_Clustering算法相等的結(jié)果,同時(shí)大大減少了數(shù)據(jù)對(duì)象的副本數(shù)量和shuffling的開銷,進(jìn)而減少了計(jì)算量,使EDDPC算法能夠在分布式情況下高效率執(zhí)行.

    參考文獻(xiàn)

    [1]Xu Rui, Wunsch D Ⅱ. Survey of clustering algorithms[J]. IEEE Trans on Neural Networks, 2005, 16(3): 645-678

    [2]Kaufman L, Peter R. Clustering by Means of Medoids[G] //Statistical Data Analysis Based on the L1 Norm and Related Methods. North-Holland: North-Holland Press, 1987: 405-416

    [3] MacQueen J. Some methods for classification and analysis of multivariate observations[C] //Proc of the 5th Berkeley Symp on Mathematical Statistics and Probability. Berkeley, CA: University of California Press, 1967: 281-297

    [4]Zhang W, Wang X, Zhao D, et al. Graph Degree Linkage: Agglomerative Clustering on a Directed Graph[M] . Berlin: Springer, 2012: 428-441

    [5] Ester M, Kriegel H P, Sander J, et al. A density-based algorithm for discovering clusters in large spatial databases with noise[C] //Proc of ACM KDD’96. New York: ACM, 1996: 226-231

    [6]Wang W, Jiong Y, Muntz R. STING: A statistical information grid approach to spatial data mining[C] //Proc of VLDB’97. San Francisco, CA: Morgan Kaufmann, 1997: 186-195

    [7]Ying Wenhao, Xu Min, Wang Shitong, et al. Fast adaptive clustering by synchronization on large scale datasets[J].

    Journal of Computer Research and Development, 2014, 51(4): 707-720 (in Chinese)(應(yīng)文豪, 許敏, 王士同, 等. 在大規(guī)模數(shù)據(jù)集上進(jìn)行快速自適應(yīng)同步聚類[J]. 計(jì)算機(jī)研究與發(fā)展, 2015, 51(4): 707-720)

    [8]Alex R, Alessandro L. Clustering by fast search and find of density peaks [J]. Science, 2014, 344(1492):1492-1496

    [9]Jeffrey D, Sanjay G. MapReduce: Simplified data processing on large clusters[J]. Communications of the ACM, 2004, 51(1): 107-113

    [10]Akdogan A, Demiryurek U, Banaei-Kashani F, et al. Voronoi-based geospatial query processing with MapReduce[C] //Proc of CloudCom ’10. Piscataway, NJ: IEEE, 2010: 9-16

    [11]Lu Wei, Shen Yanyan, Chen Su, etc. Efficient processing ofknearest neighbor joins using MapReduce [J]. VLDB Endowment, 2012, 5(10): 1016-1027

    [12]Jeffery S V. Random sampling with a reservoir [J]. ACM Trans on Mathematical Software, 1985, 11(1): 37-57

    [13]Shindler M, Wong A, Meyerson A W. Fast and accuratek-means for large datasets[C] //Proc of NIPS’11. New York: Curran Associates Press, 2011: 2375-2383

    [14]Freitas F A, Peres S M, Lima C A M, et al. Grammatical facial expressions recognition with machine learning[C] //Proc of FLAIRS’14. Menlo Park, CA: AAAI Press, 2014: 180-185

    [15]Caruana R, Joachims T. Kddcup 04 biology dataset[EB/OL]. 2008 [2015-05-10]. http://kodiak.cs.cornell.edu/kddcup/datasets.html

    Gong Shufeng, born in 1991. Master candidate. His main research interests include big data and cloud computing.

    Zhang Yanfeng, born in 1982. Associate professor. Member of China Computer Federation. His main research interests include big data and cloud computing.

    EDDPC: An Efficient Distributed Density Peaks Clustering Algorithm

    Gong Shufeng and Zhang Yanfeng

    (CollegeofComputerScienceandEngineering,NortheasternUniversity,Shenyang110819)

    AbstractClustering is a commonly used method for data relationship analytics in data mining. The clustering algorithm divides a set of objects into several groups (clusters), and the data objects in the same group are more similar to each other than to those in other groups. Density peaks clustering is a recently proposed clustering algorithm published in Science magazine, which performs clustering in terms of each data object’sρvalue andδvalue. It exhibits its superiority over the other traditional clustering algorithms in interactivity, non-iterative process, and non-assumption on data distribution. However, computing each data object’sρa(bǔ)ndδvalue requires to measure distance between any pair of objects with high computational cost ofO(N2). This limits the practicability of this algorithm when clustering high-volume and high-dimensional data set. In order to improve efficiency and scalability, we propose an efficient distributed density peaks clustering algorithm—EDDPC, which leverages Voronoi diagram and careful data replication?filtering to reduce huge amount of useless distance measurement cost and data shuffle cost. Our results show that our EDDPC algorithm can improve the performance significantly (up to 40x) compared with naive MapReduce implementation.

    Key wordsdensity peaks; data clustering; Voronoi partition; MapReduce; big data

    收稿日期:2015-06-30;修回日期:2015-10-29

    基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(61300023,61528203,61272179);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金項(xiàng)目(N141605001,N120816001)

    通信作者:張巖峰(zhangyf@cc.neu.edu.cn)

    中圖法分類號(hào)TP301.6

    This work was supported by the National Natural Science Foundation of China (61300023,61528203,61272179) and the Fundamental Research Funds for the Central Universities (N141605001,N120816001)

    猜你喜歡
    大數(shù)據(jù)
    大數(shù)據(jù)環(huán)境下基于移動(dòng)客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
    新聞世界(2016年10期)2016-10-11 20:13:53
    基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
    科技視界(2016年20期)2016-09-29 10:53:22
    數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
    欧美在线黄色| 99国产精品99久久久久| 国产成人一区二区三区免费视频网站| 欧美黑人欧美精品刺激| 夜夜夜夜夜久久久久| 日韩三级视频一区二区三区| www.自偷自拍.com| 97碰自拍视频| 国产熟女xx| 99久久综合精品五月天人人| 久久久久九九精品影院| 国产精品日韩av在线免费观看 | 久久久久久亚洲精品国产蜜桃av| 国产亚洲精品久久久久5区| 男女做爰动态图高潮gif福利片 | 大码成人一级视频| 日韩高清综合在线| 99热只有精品国产| 亚洲精品在线观看二区| 午夜激情av网站| 亚洲精品av麻豆狂野| 亚洲成a人片在线一区二区| 亚洲av第一区精品v没综合| 搡老岳熟女国产| 九色亚洲精品在线播放| 9色porny在线观看| 国产熟女午夜一区二区三区| 大陆偷拍与自拍| 啦啦啦免费观看视频1| 亚洲欧美精品综合一区二区三区| 在线播放国产精品三级| 久久九九热精品免费| 91成年电影在线观看| 亚洲国产精品999在线| 色哟哟哟哟哟哟| 亚洲精品在线美女| 国产在线观看jvid| 91麻豆精品激情在线观看国产 | 99久久国产精品久久久| 黄色片一级片一级黄色片| 久久精品国产99精品国产亚洲性色 | 亚洲午夜精品一区,二区,三区| 精品一区二区三区视频在线观看免费 | 黑人巨大精品欧美一区二区mp4| 亚洲中文字幕日韩| 日本黄色视频三级网站网址| 亚洲专区中文字幕在线| 乱人伦中国视频| 亚洲国产精品999在线| 精品一品国产午夜福利视频| 人人妻人人爽人人添夜夜欢视频| 琪琪午夜伦伦电影理论片6080| 国产精品自产拍在线观看55亚洲| 午夜福利免费观看在线| 亚洲男人天堂网一区| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品综合久久久久久久免费 | a在线观看视频网站| 国产午夜精品久久久久久| 巨乳人妻的诱惑在线观看| 亚洲午夜精品一区,二区,三区| 国产成人精品久久二区二区免费| 国产av一区在线观看免费| 老司机午夜十八禁免费视频| 国产成人影院久久av| 国产亚洲精品久久久久5区| 亚洲精品国产精品久久久不卡| 搡老岳熟女国产| 亚洲全国av大片| 国产精品一区二区精品视频观看| 亚洲av成人一区二区三| 久久午夜综合久久蜜桃| 欧美日韩福利视频一区二区| 69av精品久久久久久| videosex国产| 在线观看免费视频网站a站| 999久久久精品免费观看国产| 香蕉久久夜色| 亚洲欧洲精品一区二区精品久久久| 桃色一区二区三区在线观看| 久久久国产成人免费| 在线看a的网站| 嫩草影院精品99| 久久精品国产亚洲av香蕉五月| 韩国精品一区二区三区| 黄色毛片三级朝国网站| 美女 人体艺术 gogo| 亚洲第一青青草原| 色在线成人网| 日本免费一区二区三区高清不卡 | 欧美日韩国产mv在线观看视频| 男女高潮啪啪啪动态图| 欧美丝袜亚洲另类 | 波多野结衣一区麻豆| 啦啦啦 在线观看视频| 国产又色又爽无遮挡免费看| 午夜视频精品福利| 国产精品久久久久成人av| 精品国产乱子伦一区二区三区| 一级片'在线观看视频| 久久这里只有精品19| 一个人观看的视频www高清免费观看 | 亚洲成人精品中文字幕电影 | 欧美午夜高清在线| 国产高清视频在线播放一区| 欧美精品亚洲一区二区| 热re99久久国产66热| 国产aⅴ精品一区二区三区波| 两人在一起打扑克的视频| 中国美女看黄片| 日本a在线网址| videosex国产| 亚洲男人天堂网一区| 国产深夜福利视频在线观看| 亚洲国产精品合色在线| 久久国产亚洲av麻豆专区| 校园春色视频在线观看| 中出人妻视频一区二区| 欧美日本亚洲视频在线播放| 久久国产精品影院| 香蕉久久夜色| 国产亚洲精品综合一区在线观看 | av网站在线播放免费| av福利片在线| cao死你这个sao货| а√天堂www在线а√下载| 亚洲av日韩精品久久久久久密| 美女高潮喷水抽搐中文字幕| 在线免费观看的www视频| 在线观看一区二区三区| 精品久久久久久,| 亚洲少妇的诱惑av| 自线自在国产av| 亚洲国产欧美日韩在线播放| 亚洲五月色婷婷综合| 国产乱人伦免费视频| 老司机在亚洲福利影院| 一本大道久久a久久精品| 中文字幕av电影在线播放| 国产精品永久免费网站| av网站在线播放免费| 少妇的丰满在线观看| 中出人妻视频一区二区| 久久精品国产99精品国产亚洲性色 | 国产精品免费视频内射| 美女国产高潮福利片在线看| 午夜福利影视在线免费观看| 色播在线永久视频| 精品国产乱子伦一区二区三区| 亚洲欧美日韩高清在线视频| 午夜免费鲁丝| 久久影院123| 91大片在线观看| 最近最新中文字幕大全电影3 | 久久久久久免费高清国产稀缺| 一进一出抽搐gif免费好疼 | 男人的好看免费观看在线视频 | 1024香蕉在线观看| 亚洲精品国产区一区二| 中文字幕高清在线视频| 亚洲色图综合在线观看| 欧美激情久久久久久爽电影 | 一级a爱视频在线免费观看| 少妇粗大呻吟视频| 搡老岳熟女国产| 亚洲成av片中文字幕在线观看| 91av网站免费观看| 久久久久国内视频| 又大又爽又粗| 亚洲一区二区三区欧美精品| 亚洲人成电影免费在线| 国产精品 欧美亚洲| www国产在线视频色| 婷婷丁香在线五月| 国产av一区在线观看免费| 亚洲avbb在线观看| 久久久精品欧美日韩精品| 精品国产亚洲在线| 亚洲成人精品中文字幕电影 | 亚洲黑人精品在线| 桃红色精品国产亚洲av| 久久久国产成人免费| 桃色一区二区三区在线观看| svipshipincom国产片| 我的亚洲天堂| 啦啦啦在线免费观看视频4| 高清av免费在线| 精品午夜福利视频在线观看一区| 国产单亲对白刺激| 桃色一区二区三区在线观看| 久久久久久大精品| 999久久久国产精品视频| 国产欧美日韩一区二区三区在线| 91字幕亚洲| 国产成人系列免费观看| avwww免费| 亚洲熟妇熟女久久| а√天堂www在线а√下载| 99香蕉大伊视频| 欧美中文综合在线视频| 在线观看舔阴道视频| 亚洲情色 制服丝袜| 黄色a级毛片大全视频| 热re99久久国产66热| 不卡av一区二区三区| 男男h啪啪无遮挡| 自拍欧美九色日韩亚洲蝌蚪91| 久久中文字幕一级| 午夜福利在线免费观看网站| 香蕉丝袜av| 国产熟女午夜一区二区三区| 免费av中文字幕在线| 又黄又粗又硬又大视频| 超碰97精品在线观看| 久久精品国产亚洲av香蕉五月| av在线天堂中文字幕 | 国产精华一区二区三区| 真人一进一出gif抽搐免费| 一级,二级,三级黄色视频| 中文字幕人妻丝袜一区二区| 男女午夜视频在线观看| 夜夜看夜夜爽夜夜摸 | 国产不卡一卡二| 国产精品爽爽va在线观看网站 | 久久国产亚洲av麻豆专区| 国产精品免费视频内射| 波多野结衣av一区二区av| 99在线人妻在线中文字幕| 国产精品免费一区二区三区在线| 黄色视频不卡| 精品国产乱码久久久久久男人| 久久久久久久久久久久大奶| 一夜夜www| 黄色视频不卡| 欧美老熟妇乱子伦牲交| 黑丝袜美女国产一区| 精品熟女少妇八av免费久了| 久久伊人香网站| 国产伦一二天堂av在线观看| 黄色 视频免费看| 18禁国产床啪视频网站| 亚洲黑人精品在线| 欧美一级毛片孕妇| 可以在线观看毛片的网站| 欧美日韩精品网址| 激情视频va一区二区三区| www.自偷自拍.com| 国产真人三级小视频在线观看| 亚洲第一青青草原| 99精品欧美一区二区三区四区| 99re在线观看精品视频| 成人国产一区最新在线观看| av在线播放免费不卡| 午夜福利在线免费观看网站| 久久久国产成人免费| 国产成人av激情在线播放| 亚洲精品成人av观看孕妇| 精品国产一区二区三区四区第35| 亚洲狠狠婷婷综合久久图片| 两性夫妻黄色片| 亚洲avbb在线观看| 精品卡一卡二卡四卡免费| 9191精品国产免费久久| 日韩精品中文字幕看吧| 欧美日韩亚洲高清精品| 亚洲一区二区三区色噜噜 | 成人影院久久| 精品无人区乱码1区二区| 中文字幕色久视频| 咕卡用的链子| 97碰自拍视频| 欧美日韩中文字幕国产精品一区二区三区 | av电影中文网址| 999久久久国产精品视频| 国产欧美日韩精品亚洲av| 男人操女人黄网站| 亚洲在线自拍视频| 国产精品98久久久久久宅男小说| 高清欧美精品videossex| 黑人巨大精品欧美一区二区蜜桃| 国产一区在线观看成人免费| 天堂√8在线中文| 69av精品久久久久久| bbb黄色大片| 丰满迷人的少妇在线观看| 国产成人啪精品午夜网站| 自拍欧美九色日韩亚洲蝌蚪91| 成年女人毛片免费观看观看9| 在线观看免费午夜福利视频| 亚洲avbb在线观看| 久久精品亚洲精品国产色婷小说| www.自偷自拍.com| 一二三四社区在线视频社区8| a级毛片在线看网站| 在线av久久热| 精品一区二区三区av网在线观看| 久久精品亚洲精品国产色婷小说| 国产成人免费无遮挡视频| 高潮久久久久久久久久久不卡| 亚洲情色 制服丝袜| 久久精品亚洲精品国产色婷小说| 亚洲一区二区三区不卡视频| 亚洲熟女毛片儿| 亚洲第一av免费看| 久久狼人影院| 波多野结衣av一区二区av| 99久久人妻综合| 亚洲av成人不卡在线观看播放网| 国产三级在线视频| 久久精品国产清高在天天线| 如日韩欧美国产精品一区二区三区| 久久国产亚洲av麻豆专区| 日韩精品免费视频一区二区三区| 国产欧美日韩一区二区精品| 国产精品久久久久成人av| 欧美老熟妇乱子伦牲交| 亚洲成a人片在线一区二区| 又黄又粗又硬又大视频| av视频免费观看在线观看| 又大又爽又粗| 欧美最黄视频在线播放免费 | 少妇被粗大的猛进出69影院| 丝袜人妻中文字幕| 黄色怎么调成土黄色| 18禁观看日本| 国产伦人伦偷精品视频| 搡老乐熟女国产| 女人被躁到高潮嗷嗷叫费观| 香蕉丝袜av| 亚洲avbb在线观看| 在线观看www视频免费| 国产一区二区三区在线臀色熟女 | 日本欧美视频一区| 中亚洲国语对白在线视频| 91老司机精品| 嫩草影视91久久| 中文字幕人妻丝袜制服| 级片在线观看| 日韩精品青青久久久久久| 高清黄色对白视频在线免费看| 免费观看精品视频网站| 国产深夜福利视频在线观看| a级毛片在线看网站| 国产精品野战在线观看 | 久久久久国产一级毛片高清牌| 777久久人妻少妇嫩草av网站| 亚洲av美国av| 久久久久久亚洲精品国产蜜桃av| 97人妻天天添夜夜摸| 亚洲精品粉嫩美女一区| 操美女的视频在线观看| 看黄色毛片网站| 日本 av在线| 久99久视频精品免费| 老熟妇乱子伦视频在线观看| 啦啦啦 在线观看视频| 亚洲成国产人片在线观看| 亚洲成人免费电影在线观看| 90打野战视频偷拍视频| 色综合欧美亚洲国产小说| 国产无遮挡羞羞视频在线观看| 精品国产乱码久久久久久男人| 最近最新中文字幕大全电影3 | 青草久久国产| 国产亚洲精品综合一区在线观看 | 免费搜索国产男女视频| 亚洲 欧美一区二区三区| 在线观看一区二区三区激情| 91国产中文字幕| 女人爽到高潮嗷嗷叫在线视频| 国产av一区二区精品久久| 亚洲人成电影免费在线| 老司机亚洲免费影院| 99热只有精品国产| 亚洲一区高清亚洲精品| 欧美成人午夜精品| 午夜福利在线免费观看网站| 熟女少妇亚洲综合色aaa.| 老司机靠b影院| 性色av乱码一区二区三区2| av天堂久久9| 欧美日本亚洲视频在线播放| 亚洲一区二区三区欧美精品| 久久国产亚洲av麻豆专区| 在线视频色国产色| 国产精华一区二区三区| 日韩免费高清中文字幕av| 久热这里只有精品99| 一区在线观看完整版| 国产免费男女视频| 亚洲精品一二三| 久久香蕉激情| 美国免费a级毛片| 99re在线观看精品视频| 黄片大片在线免费观看| xxxhd国产人妻xxx| 18禁国产床啪视频网站| 久久草成人影院| 伊人久久大香线蕉亚洲五| 一边摸一边抽搐一进一小说| 日韩大尺度精品在线看网址 | 亚洲五月色婷婷综合| 久久精品国产亚洲av高清一级| 在线国产一区二区在线| 久久国产乱子伦精品免费另类| 99久久精品国产亚洲精品| 亚洲专区中文字幕在线| 嫁个100分男人电影在线观看| 色婷婷久久久亚洲欧美| 大陆偷拍与自拍| 怎么达到女性高潮| avwww免费| 高清av免费在线| 国产又色又爽无遮挡免费看| 国产单亲对白刺激| 欧美亚洲日本最大视频资源| 人成视频在线观看免费观看| 久久精品亚洲精品国产色婷小说| 国产精品九九99| 老司机福利观看| 免费看a级黄色片| 后天国语完整版免费观看| 在线观看66精品国产| 色精品久久人妻99蜜桃| 女人爽到高潮嗷嗷叫在线视频| 精品国产美女av久久久久小说| 欧洲精品卡2卡3卡4卡5卡区| 亚洲一区中文字幕在线| cao死你这个sao货| 老司机在亚洲福利影院| 性色av乱码一区二区三区2| 欧美乱妇无乱码| 国产成人精品久久二区二区免费| 视频区欧美日本亚洲| 亚洲avbb在线观看| 国产真人三级小视频在线观看| av片东京热男人的天堂| 激情在线观看视频在线高清| 亚洲精品国产精品久久久不卡| 午夜福利一区二区在线看| 一a级毛片在线观看| 免费看十八禁软件| 欧美不卡视频在线免费观看 | 久久久久久久精品吃奶| 一级毛片高清免费大全| 精品乱码久久久久久99久播| 成人国语在线视频| 免费在线观看影片大全网站| 最近最新免费中文字幕在线| 中文字幕精品免费在线观看视频| 精品乱码久久久久久99久播| 成人三级做爰电影| 成人精品一区二区免费| 午夜福利欧美成人| 欧美日韩视频精品一区| 在线观看66精品国产| а√天堂www在线а√下载| 久久久久久久久中文| 免费高清视频大片| 久久国产精品人妻蜜桃| 免费av毛片视频| 天堂影院成人在线观看| 亚洲片人在线观看| 狂野欧美激情性xxxx| 亚洲成人精品中文字幕电影 | 色尼玛亚洲综合影院| 精品国产亚洲在线| 啦啦啦 在线观看视频| 老司机福利观看| 91成人精品电影| aaaaa片日本免费| 日本免费一区二区三区高清不卡 | 亚洲狠狠婷婷综合久久图片| 正在播放国产对白刺激| 成人av一区二区三区在线看| 大陆偷拍与自拍| 看免费av毛片| 中文字幕人妻丝袜一区二区| 国产aⅴ精品一区二区三区波| av在线播放免费不卡| 精品一区二区三区四区五区乱码| 老熟妇仑乱视频hdxx| 男人的好看免费观看在线视频 | 老司机靠b影院| 久久久久九九精品影院| 变态另类成人亚洲欧美熟女 | 老鸭窝网址在线观看| 亚洲欧美一区二区三区久久| 日韩欧美一区二区三区在线观看| 成人国语在线视频| 亚洲av成人不卡在线观看播放网| 国产av又大| 亚洲熟女毛片儿| 俄罗斯特黄特色一大片| 国产成人免费无遮挡视频| 一二三四社区在线视频社区8| 国产日韩一区二区三区精品不卡| 日韩欧美一区二区三区在线观看| 亚洲精品国产一区二区精华液| 亚洲国产毛片av蜜桃av| 狂野欧美激情性xxxx| 女人高潮潮喷娇喘18禁视频| 桃红色精品国产亚洲av| a级毛片黄视频| 国产蜜桃级精品一区二区三区| 国产单亲对白刺激| 国产三级在线视频| 午夜老司机福利片| 亚洲国产欧美日韩在线播放| 久久午夜亚洲精品久久| 国产精品一区二区在线不卡| 一区二区三区激情视频| www.www免费av| 久久香蕉精品热| 夜夜爽天天搞| 手机成人av网站| 日本a在线网址| 亚洲中文日韩欧美视频| av有码第一页| 国产日韩一区二区三区精品不卡| 18禁观看日本| 国产欧美日韩综合在线一区二区| 成人av一区二区三区在线看| 别揉我奶头~嗯~啊~动态视频| 一进一出抽搐gif免费好疼 | 看片在线看免费视频| 黄色视频不卡| 国产成人免费无遮挡视频| 成人免费观看视频高清| 麻豆一二三区av精品| 女性生殖器流出的白浆| 中文字幕最新亚洲高清| 久久中文看片网| 国产成人av激情在线播放| 国产精品一区二区三区四区久久 | 久久人人97超碰香蕉20202| 中国美女看黄片| 国产亚洲av高清不卡| a级毛片在线看网站| 亚洲五月色婷婷综合| 免费看十八禁软件| 侵犯人妻中文字幕一二三四区| 91精品三级在线观看| 中文字幕av电影在线播放| 91精品三级在线观看| 我的亚洲天堂| 久久香蕉国产精品| 亚洲中文日韩欧美视频| 90打野战视频偷拍视频| 麻豆一二三区av精品| 淫秽高清视频在线观看| 99国产精品99久久久久| 国产一区二区激情短视频| 国产成人免费无遮挡视频| 成人亚洲精品一区在线观看| 黑人操中国人逼视频| 免费观看人在逋| 午夜福利影视在线免费观看| 一夜夜www| 老司机亚洲免费影院| 一个人观看的视频www高清免费观看 | 国产精品98久久久久久宅男小说| 51午夜福利影视在线观看| 日韩国内少妇激情av| 俄罗斯特黄特色一大片| 亚洲欧美一区二区三区久久| 国产三级黄色录像| 一区二区三区国产精品乱码| 中文字幕人妻丝袜一区二区| 中文字幕av电影在线播放| 女性生殖器流出的白浆| 看黄色毛片网站| 国产精品爽爽va在线观看网站 | 精品人妻在线不人妻| 天堂影院成人在线观看| 天堂动漫精品| 淫妇啪啪啪对白视频| 欧美黄色片欧美黄色片| av国产精品久久久久影院| 琪琪午夜伦伦电影理论片6080| 中文字幕av电影在线播放| 免费高清在线观看日韩| 国产成+人综合+亚洲专区| 黄色视频,在线免费观看| av电影中文网址| 久久99一区二区三区| 热99国产精品久久久久久7| 亚洲av熟女| 一级a爱视频在线免费观看| 国产黄色免费在线视频| 夜夜看夜夜爽夜夜摸 | 久久午夜综合久久蜜桃| 日韩欧美三级三区| 久久久久精品国产欧美久久久| 一进一出好大好爽视频| 久久热在线av| 日本黄色日本黄色录像| 91精品国产国语对白视频| 免费高清在线观看日韩| 免费久久久久久久精品成人欧美视频| 国产av在哪里看| 国产激情久久老熟女| 精品乱码久久久久久99久播| 亚洲 欧美一区二区三区| 国产成人精品在线电影| 久久 成人 亚洲| 欧美日韩中文字幕国产精品一区二区三区 | 岛国视频午夜一区免费看| 黑人欧美特级aaaaaa片| 免费在线观看完整版高清| 国产精品一区二区免费欧美| 日韩欧美三级三区| 我的亚洲天堂| 久久精品影院6| 99精品在免费线老司机午夜|