999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

基于MapReduce的單遍K-means聚類算法

2017-09-19 07:26:10楊余旺辛智斌
計算機技術與發展 2017年9期
關鍵詞:效果

唐 浩,楊余旺,辛智斌

(1.南京理工大學 計算機科學與工程學院,江蘇 南京 210094;2.淮海集團工業有限公司,山西 長治 046000)

基于MapReduce的單遍K-means聚類算法

唐 浩1,楊余旺1,辛智斌2

(1.南京理工大學 計算機科學與工程學院,江蘇 南京 210094;2.淮海集團工業有限公司,山西 長治 046000)

K-means應用于MapReduce框架的大數據處理可顯著提高K-means對大數據集的處理能力。但K-means聚類算法需要進行多次迭代才能達到可接受的效果,并將每次迭代作為一個獨立map作業執行,需要讀寫整個數據集,從而導致顯著的I/O消耗,與MapReduce框架的設計理念不符。為此,提出了一個基于MapReduce的單遍K-means算法(MRSK)。該算法采用流數據單遍算法讀取數據,聚類時采用K-means++初始化seeding算法得到初始聚類中心。在理論分析MRSK算法復雜度的基礎上,進行了MRSK算法的測試驗證和相關分析。驗證實驗結果表明,相對于基于MapReduce和基于數據流的K-means聚類算法,所提出的MRSK算法在執行速度和聚類效果方面具有更好的優勢。

MapReduce框架;數據聚類;K-means++;Mahout;單遍技術

0 引 言

K-means[1]聚類算法是數據挖掘領域中的一種重要方法,由于計算簡單、收斂速度快,在機器學習、圖像處理等領域應用廣泛。近年來,隨著數據量的不斷攀升,傳統的K-means聚類分析方法已無法滿足大數據[2]的需求,所以亟需對傳統的K-means方法做出改進以支持大規模數據分析。

MapReduce[3]是由谷歌提出的一種大數據并行計算框架。MapReduce的3個主要特點:模型使用方便、適用于大型數據處理、可擴展并內置容錯,使其成為一種理想的大數據處理框架[4]。如今,K-means已經成功地應用在了MapReduce框架中。

Zhao W等提出的基于MapReduce的K-means聚類算法,是一種快速聚類方案,利用了運行在Hadoop[5]框架上的Mahout[6]項目,稱之為PKMeans[7]。艾隆等提出的基于數據流的K-means算法,利用了基于數據流的單通技術[8],稱之為SKMA[9]。

上述解決方案為了達到可接受的結果,都需要對整個數據集進行多次迭代,而MapReduce本質上不支持迭代。在每次迭代中,整個數據集必須從磁盤加載到內存中,數據集經過處理后,輸出時必須再一次寫入磁盤,因此,每一次迭代都會產生大量和I/O相關的操作,如磁盤I/O、數據序列化等等,嚴重影響了程序的執行速度。所以這些方案并不適合MapReduce框架。Hadian和Shahrivari為了共享內存,實現并行計算,提出了一種并行的單遍聚類算法[10],但是該算法沒有使用MapReduce框架。

為此,文中提出一種基于MapReduce的單遍K-means聚類算法(MRSK)。該算法利用流數據單遍算法讀取數據,在數據聚類過程的map階段采用K-means++初始化Seeding算法[11]得到中間簇中心集;在reduce階段,采用支持權重的K-means++初始化Seeding改進算法進行中間簇中心集處理,并獲得初始聚類中心,再利用K-means進行聚類計算,得到最終聚類結果。

1 K-means++與單遍算法

1.1K-means++初始化Seeding

K-means是一種簡單快速且高效的聚類算法[12]。質心的計算如下:

(1)

初始聚類中心的選取對K-means影響很大,但是K-means隨機選取初始聚類中心,無法保證聚類效果。K-means++通過初始化Seeding算法[13],可以提供一個較好的初始聚類中心。

通過式(2)初始聚類中心:

(2)

初始化Seeding算法的步驟為:

算法1:K-means++中心初始化。

1:執行K-means++(M,k);

5:end while

7:結束

1.2單遍算法

單遍算法[14]是流式數據聚類的經典方法。該算法依據數據輸入順序依次處理數據,依據當前數據與現有類的匹配度大小,判定該數據歸入已有類或另外創建一個新類。

利用歐氏距離作為匹配度判定依據,歐式距離公式如下:

2 MRSK算法

2.1算法流程

提出MRSK方法,是為了解決現有基于MapReduce方案中因多次迭代而引起的I/O消耗問題。在MRSK方法中,將整個數據集分割成更小的,可存于每臺機器內存的數據塊,并分發這些數據塊到可用的機器。然后,每個塊由所處的機器獨立聚簇,每個塊經過并行處理后產生若干中間簇中心,之后將中間簇中心的集合從每臺機器中抽取出來作為一個更小的數據集裝載進單獨一臺機器的主存中,最終的聚類中心從中間簇中心集中通過重新聚類產生。

每個塊所在的機器在處理數據時采用單遍法,對當前到達的數據進行聚類,依據匹配度大小,將數據判為已有類或創建一個新類。采用單遍算法,計算過程中整個數據集只被讀取了一次。

由于每個塊的處理是相互獨立的,每個塊可以在一個專用的map任務中處理。也就是說,每個map任務選擇一個數據集分塊,并在數據塊上執行K-means++初始化Seeding算法,得到中間簇中心和每個簇中心的權重,然后各聚類中心和各中心的權重作為結果輸出。Map過程完成后,所有加權中心形成中間簇中心集,并作為map輸出。這個中間簇中心集會分配給一個單獨的reduce任務。Reduce任務得到中間簇中心和它們的權重后,會采用改進的支持權重的K-means++初始化Seeding算法得到初始簇中心,然后通過改進的K-means算法得到最終的聚類中心。MRSK算法的完整流程如算法2所示。

算法2:MRSK算法。

1:執行MRSK(M,k)

2:Map過程:

3:將數據集M分割為?塊,構成集合M=M1,M2,…,M?;

4:對于集合M中的每個Mi執行步驟5;

8:end while

10:Map任務結束;

11:Reduce任務:

12:Map任務的輸出構成中間簇中心集Cw;

16:end while

20:結束

2.2MRSK聚類

把整個執行過程放在MapReduce框架中。數據塊處理放在map階段,中間簇中心集的處理放在reduce階段。如前所述,提出方案的主要優勢是使用了數據流單遍算法,降低了迭代過程中的I/O消耗,同時也提高了執行速度。

在這兩個階段中,均使用了K-means++算法,這是因為K-means++的初始化Seeding算法有助于提高算法的聚類效果。對于每個數據塊,利用K-means++算法取得在此數據塊上的k個聚類中心。因此,如果有c個數據塊,在每個數據塊上使用K-means++后,將會生成一個擁有k·c個元素的中間簇中心集合。這個集合就是map階段的輸出。

此外,使用聚類中心的權重來幫助提高MRSK的精確度。每個聚類中心分配的數據項的個數表明了該中心的重要性。因此,對于獲得中間簇中心,必須拓展K-means++算法以支持加權。為了達到此目的,需要改進初始化聚類中心計算方法(式2)和聚類中心計算方法(式1)。

在K-means++算法中,利用式(4)初始化聚類中心,在之后的迭代過程中,使用式(5)計算簇中心。

(4)

初始化簇中心利用式(5):

(5)

之后的迭代過程中,簇中心的選取使用式(6):

(6)

3 算法復雜度分析

典型的聚類算法有三種類型的復雜度:時間復雜度、I/O復雜度和空間復雜度。MRSK有兩個過程:map階段處理數據塊和reduce階段在中間簇中心集上運行K-means++算法。為確定每一種類型的復雜度,必須考慮這兩個階段。對于MRSK復雜性的分析,提出了以下假設:k為簇的個數,n為數據集中數據項的數量,c為每個數據塊的大小,p為可以并行處理的數據塊數,I為直到收斂為止總的迭代次數。值得注意的是,假設計算和存儲一個數據項的時間復雜度為O(1)(在大部分相似的文獻中也都做了這樣的假設)。3.1數據塊大小設定

為了實現聚類,MRSK需要兩個重要的參數:聚簇個數k和數據塊大小c。如何設置塊大小需要考慮,理論上,塊大小最小為k,最大為n,但這兩個極端值都并不切合實際。

但是如果數據集不是非常大,塊大小可以被設置為較小的值,如k·logn或者k的倍數。因為塊較小,可以產生更多的中間簇中心,從而可以更好地代表原始數據集,得到的聚類結果也會更好。

3.2I/O復雜度

3.3空間復雜度

3.4時間復雜度

3.5與相關工作進行復雜度對比

在前面提到的PKMeans和SKMA中,PKMeans利用了Apache Hadoop Mahout項目,是標準K-means在MapReduce框架中的實現;SKMA算法將原始數據集分割為多個小的子集,在每個子集上利用K-means#算法選擇k個中心構成中間簇中心集,然后利用K-means++算法[11]從中間簇中心集中選出最終的k個中心。

表1分別列出了PKMeans、SKMA和MRSK的三種復雜度。在大數據集中,數據量n很大,所以聚類算法要達到收斂,需要經過多次迭代,從而導致I很大,而且容易得到n?I>k>p。可以發現,在I/O復雜度上,PKMeans最高,MRSK與SKMA相當;但是在時間復雜度和空間復雜度上MRSK均比其他兩種算法低。通過比較可以得出,相對于另外兩種算法,MRSK復雜度最低。

表1 復雜度比較

4 實驗與結果分析

4.1實驗設置

實驗中,使用6臺服務器搭建Hadoop集群,每臺機器CPU為Intel Xeon E5520*2,內存16 G。機器上安裝Centos6.5(64位)系統,Open JDK 7,CDH5(Cloudera Hadoop 5)和Mahout0.8。

主要目標是比較MRSK算法和另外兩種算法的執行速度和精確度。為了比較三種算法對于大數據集的處理能力和效果,生成了四個大型合成數據集,分別包括10,50,100,和500個簇。每個數據集擁有10億數據項。每個數據項有5個特征,標準偏差為10,因此,最優聚類時,SSE大約為5·1011。

4.2評價指標

在實驗中,主要比較在相同情況下三種算法的執行速度和聚類效果。執行速度通過執行時間來比較。聚類效果通過誤差平方和函數SSE(Sum of Squares for Error)來比較。SSE顯示簇的緊湊性,SSE值低,意味著聚類效果更好。SSE計算公式如下:

(7)

4.3實驗結果分析

標準K-means和SKMA算法,利用Apache Mahout項目中基于MapReduce框架的版本。圖1為k增加時PKMeans、SKMA和MRSK的執行時間變化圖。圖2為k增加時三種算法的SEE變化圖。

圖1 k和時間的關系

從圖1的結果可以看出,相對于其他方案,MRSK的速度更快。尤其是k大于100時,MRSK的速度遠快于另外兩種算法。在圖2中,MRSK的聚類效果也比另外兩種算法要好,隨著k值增大,SSE越來越接近5·1011,而5·1011正是預估的理論值。圖中,PKMeans的聚類效果一直比另外兩種算法差。k=10時,SKMA和MRSK的SSE值大小相當,k大于10時,MRSK的SSE值逐漸低于SKMA。而且,隨著簇的增加,MRSK一直保持著較低的SSE值。

圖2 k和SSE的關系

實驗結果表明,MRSK在保證聚類效果的前提下,降低了I/O開銷,提高了執行速度。

5 結束語

針對K-means的迭代性質并不能在MapReduce框架中被模型化,需要反復讀寫磁盤導致極高I/O開銷的問題,提出了基于MapReduce的單遍K-means算法。理論分析和實驗結果均表明,MRSK有效提高了算法執行速度,降低了I/O開銷,為處理大數據集上的大量聚簇問題提供了一個有益的解決思路和方案。下一步的研究重點是利用包括k-d樹在內的臨近搜索方法,進一步降低算法的時間復雜度。

[1] Wang L,Tao J, Ranjan R,et al. G-Hadoop:MapReduce across distributed data centers for data-intensive computing[J].Future Generation Computer Systems,2013,29(3):739-750.

[2] 王 珊,王會舉,覃雄派,等.架構大數據:挑戰、現狀與展望[J].計算機學報,2011,34(10):1741-1752.

[3] Dean J,Ghemawat S.MapReduce:simplified data processing on large clusters[C]//Conference on symposium on operating systems design & implementation.[s.l.]:USENIX Association,2004:107-113.

[4] Dean J,Ghemawat S.MapReduce:a flexible data processing tool[J].Communications of the ACM,2010,53(1):72-77.

[5] White T.Hadoop:the definitive guide[M].[s.l.]:[s.n.],2010.

[6] Thangavel S K,Thampi N S,Johnpaul C I.Performance analysis of various recommendation algorithm using apache Hadoop and mahout[J].International Journal of Scientific & Engineering Research,2013,4(12):279-287.

[7] Zhao W,Ma H,He Q.Parallel k-means clustering based on MapReduce[C]//IEEE international conference on cloud computing.[s.l.]:IEEE,2009:674-679.

[8] 謝國富,王文成.單遍數據讀取的GPU上的多片元效果繪制[J].計算機學報,2011,34(3):473-481.

[9] Ailon N,Jaiswal R,Monteleoni C.Streaming k-means approximation[C]//Conference on neural information processing systems.Vancouver,British Columbia,Canada:[s.n.],2009:10-18.

[10] Hadian A,Shahrivari S.High performance parallel k-means clustering for disk-resident datasets on multi-core CPUs[J].Journal of Supercomputing,2014,69(2):845-863.

[11] Arthur D,Vassilvitskii S.k-means++:the advantages of careful seeding[C]//Proceedings of the eighteenth annual ACM-SIAM symposium on discrete algorithms.[s.l.]:Society for Industrial and Applied Mathematics,2007:1027-1035.

[12] Hartigan J A,Wong M A.A K-means clustering algorithm[J].Applied Statistics,2013,28(1):100-108.

[13] Bahmani B,Moseley B,Vattani A,et al.Scalable k-means++[J].Proceedings of the VLDB Endowment,2012,5(7):622-633.

[14] 張培偉.基于改進Single-Pass算法的熱點話題發現系統的設計與實現[D].武漢:華中師范大學,2015.

A Single-passK-means Clustering Algorithm with MapReduce

TANG Hao1,YANG Yu-wang1,XIN Zhi-bin2

(1.School of Computer Science and Technology,Nanjing University of Science and Technology,Nanjing 210094,China;2.Huaihai Industrial Group Co.,Ltd.,Changzhi 046000,China)

The application of fittingK-means into MapReduce framework can greatly improve the processing ofK-means on large datasets.ButK-means achieves an acceptable clustering effect through multiple iterations.Each iteration is executed as an independent map job,in which the whole dataset must be read and wrote to slow disks,resulting in high I/O overhead,and it is not consistent with the design concept of the MapReduce framework.Therefore,a single-passK-means clustering algorithm based on MapReduce,called MRSK,is proposed.It reads the data by single-pass and uses theK-means++ seeding algorithm to get the initial cluster center.On the basis of theoretically analyzing the complexity of the MRSK,a series of test and analysis for MRSK is conducted.The experimental results show that compared with the available MapReduce-based and stream-basedK-means variants,MRSK performs both faster execution times and higher quality of clustering results.

MapReduce framework;data clustering;K-means++;Mahout;single-pass

2016-11-04

:2017-03-09 < class="emphasis_bold">網絡出版時間

時間:2017-07-11

國家自然科學基金資助項目(61640020);江蘇省科技支撐計劃(BE2012386,BE2011342);江蘇省農業自主創新項目(CX(13)3054,CX(16)1006);江蘇省重點研發計劃(BE2016368-1);深圳市戰略性新興產業發展專項資金項目(JCYJ20130331151710105)

唐 浩(1990-),男,碩士生,研究方向為云計算和大數據處理;楊余旺,教授,研究方向為云計算和大數據處理、網絡編碼、傳感器網絡。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1457.086.html

TP301.6

:A

:1673-629X(2017)09-0026-05

10.3969/j.issn.1673-629X.2017.09.006

猜你喜歡
效果
按摩效果確有理論依據
保濕噴霧大測評!效果最驚艷的才20塊!
好日子(2021年8期)2021-11-04 09:02:46
笑吧
迅速制造慢門虛化效果
創造逼真的長曝光虛化效果
四種去色效果超越傳統黑白照
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
期末怎樣復習效果好
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
主站蜘蛛池模板: 免费jjzz在在线播放国产| 日韩在线永久免费播放| 四虎永久免费在线| 免费无码AV片在线观看中文| 69国产精品视频免费| 白浆免费视频国产精品视频| 久久国产精品77777| 欧美福利在线观看| 亚洲人妖在线| 国产情侣一区二区三区| 成人av手机在线观看| 国产99热| a网站在线观看| 国外欧美一区另类中文字幕| 亚洲国产精品久久久久秋霞影院| 呦女亚洲一区精品| 国产在线日本| 在线免费不卡视频| 久久精品亚洲中文字幕乱码| 亚洲人成网18禁| 亚洲精品午夜无码电影网| 国产在线观看一区精品| 天天综合色天天综合网| 亚洲天堂777| 日本国产精品一区久久久| 欧美日韩专区| 国产一区二区精品高清在线观看| 91精品啪在线观看国产91九色| 亚洲精品无码久久毛片波多野吉| 欧美激情综合一区二区| 色久综合在线| 午夜精品福利影院| 国产欧美在线观看一区| 无码内射中文字幕岛国片 | 好紧太爽了视频免费无码| 午夜不卡视频| 欧美在线伊人| 四虎国产永久在线观看| 国产三级精品三级在线观看| 国产剧情一区二区| 熟妇人妻无乱码中文字幕真矢织江| 国产香蕉在线视频| a级毛片毛片免费观看久潮| 中文字幕资源站| 国产欧美精品专区一区二区| 国产日本欧美亚洲精品视| 久久婷婷国产综合尤物精品| 午夜精品久久久久久久99热下载| 免费观看男人免费桶女人视频| 精品黑人一区二区三区| 狠狠躁天天躁夜夜躁婷婷| 免费va国产在线观看| 伊人久久精品无码麻豆精品| 三级毛片在线播放| 亚洲最大福利网站| 999福利激情视频| 国产精品久久自在自线观看| 亚洲视频a| 免费一级毛片在线观看| 亚洲精品波多野结衣| 女人爽到高潮免费视频大全| 日韩久草视频| 亚洲一区二区三区国产精华液| 尤物午夜福利视频| 小说 亚洲 无码 精品| 97se亚洲综合| 国产黑人在线| 亚洲一欧洲中文字幕在线| 国产无码高清视频不卡| 国产人在线成免费视频| 伊人激情综合网| 人妻无码AⅤ中文字| 五月天福利视频| 99热这里只有免费国产精品| 怡红院美国分院一区二区| 国产综合欧美| 在线欧美日韩国产| 免费一级全黄少妇性色生活片| 亚洲国产日韩一区| 色天堂无毒不卡| 免费国产高清视频| 欧美国产日韩一区二区三区精品影视 |