吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一種基于MapReduce模型的并行化k-medoids聚類算法

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-05-18 09:06 ? 次閱讀

摘要:

隨著電力通信技術的發展,產生了大量分布式電力通信子系統以及海量電力通信數據,在海量數據中挖掘重要信息變得十分重要。聚類分析作為數據并行化處理和信息挖掘的一個有效手段,在電力通信中得到了廣泛的應用。然而,傳統聚類算法在處理海量電力數據時已不能滿足時間性能的要求。針對這一問題,提出了一種基于MapReduce模型的并行化k-medoids聚類算法,首先采用基于密度的聚類思想對k-medoids算法初始點的選取策略進行優化,并利用Hadoop平臺下的MapReduce編程框架實現了算法的并行化處理。實驗結果表明,改進的并行化聚類算法與其他算法相比,減少了聚類時間,提高了聚類精度,有利于對電力數據的有效分析和利用

0 引言

隨著電力通信網絡以功能為中心持續性發展,產生了大量分專業、分功能和分管理域的運維管理系統,進而導致大量電力數據孤島的產生。如何利用分布式系統更好地處理這些數據量巨大且類型復雜的電力通信運維數據已成為研究的熱點問題。聚類分析作為數據處理的一個有效手段,支持對大量無序分散數據進行整合分類從而進行更深層次的關聯性分析或者數據挖掘,在電力通信網絡中得到越來越廣泛的應用。同時,分布式系統中并行化處理機制因其優秀的靈活性和高效性逐漸成為數據挖掘的一個重要研究方向。

國內外學者也越來越對這方面加大關注,文獻[1]提出了一種基于DBSACN算法的并行優化的聚類算法。文獻[2]中通過計算距離選擇最中心的k個數據點作為初始聚類中心,然后用k-medoids算法進行迭代聚類,提高了聚類效果,但不適合處理大規模數據;文獻[3]提出了一種蟻群 k-medoids 融合聚類算法,該算法不需要人為確定類簇數目和初始聚類中心,提高了聚類效果,但也僅只適用于小型數據集;文獻[4]采用基于粒計算的聚類算法,該算法在初始聚類中心的選取過程中的計算量較大,且在處理大規模數據時存在時延問題;文獻[5]提出了將局部搜索過程嵌入到迭代局部搜索過程中的方法,顯著減少了計算時間。文獻[6]在Hadoop平臺上實現了傳統k-medoids聚類算法的并行化處理,減少了聚類時間,但在初始聚類中心的選取機制上沒有進行改進,沒有提高聚類效果;文獻[7]采用基于核的自適應聚類算法,克服了k-medoids 的初值敏感問題,但是沒有降低算法的時間復雜度。

綜上所述,k-medoids聚類算法存在初始值敏感、運行速度慢、時間復雜度較高等問題,需要對k-medoids算法中初始點選取以及并行化方式進行算法優化設計。

1 k-medoids聚類初始點選取改進機制

k-medoids算法是一種基于劃分的聚類算法,具有簡單、收斂速度快以及對噪聲點不敏感等優點,因此在模式識別、數據挖掘等領域都得到了廣泛的應用。k-medoids算法初始中心點的選取十分重要,如果初始中心點選擇的是離群點時,就會導致由離群點算出的質心會偏離整個簇,造成數據分析不正確;如果選擇的初始中心點離得太近,就會顯著增加計算的時間消耗。因此本文算法首先對初始中心點的選取進行優化。基于密度的聚類可以很好地分離簇和環境噪聲,所以本文采用基于密度的聚類思想,盡量減少噪聲數據對選取初始點的影響。

定義1:點密度是對于數據集U中的數據集的樣本點x,以x為球心,某一正數r為半徑的球形域中所包含樣本點的個數,記作Dens(x)。其中:

本文算法中,首先對每個數據點并行計算點密度,并將點密度作為該數據點的一個屬性。選取初始聚類中心的具體步驟如下:

(1)計算數據集中m個數據點之間的距離。

(2)計算每個樣本點的點密度Dens(xi)以及均值點密度AvgDens,將點密度大于AvgDens的點即核心點存入集合T中,并記錄其簇中所包含的數據點。

(3)合并所有具有公共核心點的簇。

(4)計算各個簇的類簇密度CDens(ci),選擇其中k個較大密度的簇,計算其中心點,即為初始聚類中心。

類簇中心點的計算方法如下:假設有一個類簇ci包含m個數據點{x1,x2,…,xm},則其中心點ni按如式(5)計算:

經過上述步驟,可以優化初始聚類中心點的選取,使之后的聚類迭代運算更加有效,降低搜索范圍,大大減少搜索指派的時間。

2 k-medoids聚類算法并行化設計策略

本文針對k-medoids算法具有初始點選取復雜、聚類迭代時間久、中心點選取消耗資源過多等缺點,使用Hadoop平臺下的MapReduce編程框架對算法進行初始點的點密度計算選取并行化、非中心點分配并行化和中心點更新并行化等方面的改進。MapReduce分為Map(映射)和Reduce(化簡)兩部分操作,使用MapReduce實現算法并行化關鍵在于Map函數和Reduce函數的設計。其中Map函數將可并行執行的多個任務映射到多個計算節點,多個計算節點對各自被分派的任務并行進行處理,Reduce函數則是在各計算節點處理結束后,將計算結果返回給主進程進行匯總。

2.1 點密度計算并行化策略

在點密度的計算中,由于一個數據點的點密度對其他數據點的點密度沒有影響,所以該計算過程是可以并行化的。使用MultithreadedMapper在一個JVM進程里以多線程的方式同時運行多個Mapper,每個線程實例化一個Mapper對象,各個線程并發執行。主進程把數據點分派給若干個不同的計算節點進行處理,計算節點將數據平均分成k份,且有k個線程,每個線程中的數據點都與數據集中所有點進行距離計算,進而計算出點密度,最后通過Reduce函數將計算結果匯總并輸出。并行處理使得點密度計算所用時間大大減少,提高了算法的執行效率。

2.2 非中心點分配及中心點更新并行化策略

非中心點分配階段的主要工作是計算各數據點到每個中心點的距離,由于每個數據點跟各個中心點距離的計算互不影響,所以該計算過程也是可并行化的。此階段的MapReduce化過程中,Map函數主要負責將數據集里除中心點外的每一個樣本點分配給與其距離最近的聚類中心,Reduce函數則負責通過計算更新每一個簇的中心點,按照這個原則迭代下去一直到達到設定閾值。主進程利用Map函數把非中心點分配的任務分派給若干個計算節點,每個計算節點采用基于Round-Robin的并行化分配策略。首先把每一個數據點看作一個請求,輪詢地分配給不同的線程,對非中心點和每一個中心點的距離進行計算,找出最小的距離,然后把該非中心點指派給最小距離所對應的中心點。

因為輪詢調度算法是假設所有服務器中的處理性能都是相同,并不關心每臺服務器當前的計算速度和響應速度。因此當用戶發出請求時,如果服務間隔的時間變化較大的時候,那么Round-Robin調度算法是非常容易導致服務器之間的負載發生不平衡表現。而本文中所運用的每個數據點都是平等的,所以不會造成服務器分配任務不均的問題。因此基于Round-Robin的策略是可行的。

本文算法在實現聚類的過程中經歷了兩次并行化劃分,分別是非中心點分配和中心點更新過程。這兩次并行化過程是周而復始的,直到滿足程序退出的條件才會終止循環。

3 仿真實驗與結果分析

仿真實驗分別使用本文算法、DBSCAN并行化算法[1]和k-medoids并行化算法[8]進行對比試驗,證明各個算法的優劣性。為了證明本文算法的有效性,實驗將分析不同算法的聚類時間、聚類準確度以及增加線程數之后的時間消耗。實驗將在兩種類型的數據集上進行測試:

(1)電力數據集。電力通信數據的屬性有設備狀態、設備資產、網絡拓撲等,其數據量約為1 GB。

(2)公有數據集。分別為200數量級的Northix、1 000數量級的DSA、5 000數量級的SSC和10 000數量級的GPSS。

3.1 電力數據集實驗結果分析

實驗首先設置6個線程對數據集進行處理,三種算法對電力數據進行聚類的結果見表1。其中k-medoids并行化算法[8]采用標簽共現原則對初始點選取進行改進,但沒有考慮線程的分配方式,因此其執行效率最差;DBSCAN算法考慮到了初始點的選取,并采用動態分配策略實現并行化,但在計算動態分配過程中增加了一定消耗,因此聚類準確度和執行效率都略有提升;本文所提出的算法,既考慮了初始點的合理選取,同時采用簡單有效的并行化分配策略,以減少計算和過多資源占用,因此相對于k-medoids并行化算法和DBSCAN并行化算法執行效率大幅提升,準確度也有所提高。

然后增加線程處理器的數量至8個,得到下表的聚類結果,見表2。

由表2可得,使用8個線程時,本文算法比k-medoids并行化算法執行時間快了42.64%,比DBSCAN并行化算法快了24.70%。

各類算法增加線程后所用時間相比原算法減少的百分比如圖1。

由圖1可知,k-medoids并行化算法減少了10.20%,DBSCAN并行化算法減少了1.68%,本文算法減少了16.13%,說明本文算法在線程數增加時,可以更有效地減少運算時間,提高執行效率。

3.2 公有數據集實驗結果分析

基于Northix、DSA、SSC和GPSS數據集使用5個線程實現算法的聚類準確度比較見表3。

本文算法的聚類準確度均高于k-medoids并行化算法和DBSCAN并行化算法,并且在處理較大數量級的數據集時,本文算法準確度更占優勢。不同數據集上各算法的執行時間如圖2。

根據圖2,隨著數據量的增大,三種算法執行效率差異逐漸增大,本文算法性能明顯優于k-medoids并行性算法和DBSCAN并行算法。接著對三個算法使用7個線程時的執行時間進行比較,如圖3所示。

從圖3中可以看出,使用7個線程在1 000、5 000、10 000數據級時,本文算法執行時間明顯優于其他兩個算法。

3.3 實驗小結

仿真實驗可知,在同一線程數時,本文算法比對比算法聚類準確率高,執行時間短;在線程數增加時,本文算法執行時間顯著降低;隨著數據量的增長,本文算法在保證更高準確度的基礎上,執行時間優勢逐漸凸顯。

4 結論

本文針對電力通信數據的聚類處理問題,提出基于密度的聚類思想對k-medoids算法初始點的選取策略進行優化,并利用MapReduce編程框架實現了算法的并行化處理。通過仿真實驗表明本文提出的優化算法可行有效,并具有較好的執行效率。在接下來的研究中可以考慮線程數小于聚類數時的優化分配策略,進一步提高算法性能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 聚類算法
    +關注

    關注

    2

    文章

    118

    瀏覽量

    12158
  • MapReduce
    +關注

    關注

    0

    文章

    45

    瀏覽量

    6312

原文標題:【學術論文】電力通信大數據并行化聚類算法研究

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一種改進的算法及其在說話人識別上的應用

    目前應用最廣泛的模糊算法是基于目標函數的模糊k-均值算法,針對該算法存在的缺點,本文提出
    發表于 09-07 15:35 ?8次下載

    一種基于隨機游動的算法

    該文提出一種改進的隨機游動模型,并在此模型的基礎上,發展了一種數據
    發表于 11-21 11:24 ?7次下載

    一種改進的粒子群和K均值混合算法

    該文針對K 均值算法存在的缺點,提出一種改進的粒子群優化(PSO)和K 均值混合
    發表于 02-09 14:21 ?10次下載

    一種改進的BIRCH算法方法

    為解決傳統BIRCH算法對數據對象輸入順序敏感、結果不穩定的問題,提出了一種改進的BIRCH算法。該
    發表于 11-10 15:52 ?1次下載
    <b class='flag-5'>一種</b>改進的BIRCH<b class='flag-5'>算法</b><b class='flag-5'>聚</b><b class='flag-5'>類</b>方法

    基于Hash改進的k-means算法并行設計

    為了解決kmeans算法在Hadoop平臺下處理海量高維數據時效果差,以及已有的改進算法不利于并行
    發表于 11-24 14:24 ?2次下載
    基于Hash改進的<b class='flag-5'>k</b>-means<b class='flag-5'>算法</b><b class='flag-5'>并行</b><b class='flag-5'>化</b>設計

    K均值算法的MATLAB實現

    K-means算法是最簡單的一種算法算法的目的
    發表于 12-01 14:07 ?2.1w次閱讀
    <b class='flag-5'>K</b>均值<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>的MATLAB實現

    基于人群疏散仿真的折半算法

    運用社會力模型( SFM)模擬人群疏散之前,需要先對人群進行分組;然而,五中心k-medoid
    發表于 12-03 10:53 ?0次下載

    一種新的人工魚群混合算法

    人工魚群是一種隨機搜索優化算法,具有較快的收斂速度,對問題的機理模型與描述無嚴格要求,具有廣泛的應用范圍。本文在該算法的基礎上,結合傳統的K
    發表于 12-04 16:18 ?0次下載

    一種高效的基于MapReduce分布式蜂群模式挖掘算法

    ;其次,提出了蜂群模式的并行挖掘模型,利用蜂群模式時間域無關性,并行化了與子時間域上的蜂群
    發表于 12-05 19:09 ?0次下載
    <b class='flag-5'>一種</b>高效的基于<b class='flag-5'>MapReduce</b>分布式蜂群模式挖掘<b class='flag-5'>算法</b>

    一種新的基于流行距離的譜算法

    本文提出了一種新的基于流行距離的譜算法,這是一種新型的聚類分析算法。不僅能夠對任意的非規則形
    發表于 12-07 14:53 ?3次下載

    基于Spark框架與優化的高效KNN分類算法

    。該算法首先利用引入收縮因子的優化K-medoids算法對訓練集進行兩次裁剪;然后在分類過程中迭代K
    發表于 12-08 17:10 ?0次下載
    基于Spark框架與<b class='flag-5'>聚</b><b class='flag-5'>類</b>優化的高效KNN分類<b class='flag-5'>算法</b>

    一種基于MapReduce的圖結構算法

    (tril5)(m為圖中邊的條數),因此很難處理大規模的圖數據。為了解決SCAN算法的可擴展性問題,提出了一種新穎的基于MapReduce的海量圖結構
    發表于 12-19 11:05 ?0次下載
    <b class='flag-5'>一種</b>基于<b class='flag-5'>MapReduce</b>的圖結構<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    距離不等式的K-medoids算法

    ,使得K-medoids算法復雜度由O(K(n_K)2)降低至D((n
    發表于 12-22 15:35 ?0次下載
    距離不等式的<b class='flag-5'>K-medoids</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    一種自適應的關聯融合算法

    為解決傳統算法多數需要預先設定聚參數且無法有效識別異常點和噪聲點的問題,提出一種自適應的關聯融合
    發表于 04-01 16:16 ?13次下載
    <b class='flag-5'>一種</b>自適應的關聯融合<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    基于混合蛙跳算法K-mediods算法

    為了降低K- mediods算法的誤差并提高并行優化的性能,將混合蛙跳算法運用于
    發表于 05-08 16:17 ?4次下載
    百家乐官网知道| 大发888在线官方| 百家乐客户端下载| 百家乐官网看大路| 上海百家乐官网赌博| 球讯网| 盛京棋牌网| 百家乐皇室百家乐| 百家乐投注综合分析法| 八大胜百家乐官网的玩法技巧和规则| 尊龙百家乐官网娱乐网| 广州百家乐官网酒店用品制造有限公司| 利都百家乐国际赌场娱乐网规则| 华硕百家乐官网的玩法技巧和规则 | 百家乐代理网址| 巴比伦百家乐官网娱乐城| 狮威百家乐官网的玩法技巧和规则 | 喜达百家乐官网的玩法技巧和规则| 什么百家乐官网九宫三路| 百家乐官网遥控洗牌器| 真人百家乐官网庄闲| 澳门百家乐官网赌场娱乐网规则| 百家乐官网出牌规| 网络百家乐官网的玩法技巧和规则 | 大世界娱乐| 大发888娱乐城破解软件| 大发888游戏下载平台| bet365娱乐平台| 皇冠网址去澳门| 百家乐官网d博彩论坛| 游戏房百家乐官网赌博图片| 新锦江百家乐官网娱乐平台| 巴比伦百家乐官网娱乐城| 百家乐室系统软件| 破解百家乐真人游戏| 威尼斯人娱乐中心老品牌| 大发888特惠代码| 蓝盾国际| 最好的百家乐官网论坛| 棋牌娱乐平台| 德州扑克英语|