聚類算法的MapReduce並行化分析

五一假期,還好沒有出去,到處都是堵啊。閒在看看分類、聚類算法、關聯算法,現總結一下常見的聚類算法並進行MR分析。

1.K-means基本原理:首先隨機的選擇K個對象,每個對象代表一個簇的初始均值和中心;對剩餘的每個對象,根據其與各個簇的均值的距離,將其指派到最相似的簇。然後計算每個簇的新均值,過程不斷重複直到準則函數收斂

效率分析:時間複雜度O(nki)、空間複雜度O(k)

MapReduce並行化分析:k-means從邏輯上分爲三部分:聚類中心初始化、迭代更新聚類中心、聚類標註。三部分都可以MR並行化

2.CLARANS

基本原理:與k-means相似,也是以聚類中心劃分聚類的,一旦k個聚類中心確定了,聚類馬上就能完成。不同的是k-means算法以類簇的樣本均值代表聚類中心,而CLARANS採用每個簇中選擇一個世紀的對象代表該簇。其餘的對每個對象聚類到其最相似的代表性對象所在的簇中。

效率分析:時間複雜度O(n^2)、空間複雜度O(ks)

MR並行化分析:CLARANS從邏輯上分爲三部分:聚類中心和鄰域樣本初始化、迭代更新聚類中心、聚類標註;均可並行化處理

3.DBSCAN

基本原理:DBSCAN算法一種基於密度的聚類算法,與劃分和層次聚類算法不同,它將 簇定義爲密度相連的點的最大集合,能夠將足夠高的密度區域劃分爲簇,並可以在有噪聲的空間數據中發現任意形狀的聚類

效率分析:時間複雜度O(n^2)空間複雜度O(n)

MR並行化分析:DBSCAN從邏輯上分爲三部分:樣本抽樣、對抽樣樣本進行聚類、聚類標註;均可並行化計算。

4.BIRTH

基本原理:BIRTH算法利用層次方法的平衡迭代規約和聚類,是一個綜合的層次聚類方法,它用聚類特徵和聚類特診樹概括聚類特徵,該算法可以通過聚類特徵可以方便的進行中心、半徑、直徑以及類內、類間進行距離的計算

效率分析:時間和空間的複雜度均爲O(N)

MR並行化分析:不適合對分隔的數據進行處理,而且是增量計算的

5.Chameleon

基本原理:Chameleon(變色龍算法)是在一個層次聚類中採用動態模型進行聚類的 方法。在它的聚類過程中,如果兩個簇間的互聯性和近似度與簇內部對象間的互聯性和近似高度相關,則合併這兩個簇。基於動態模型的合併過程中有利於自然的聚類發現,而且只要定義了相似度函數就可以應用於所有類型的數據。

效率分析:時間複雜度O(n^2)、空間複雜度O(n)

MR並行化分析:不適合對分隔數據處理

6.STING

基本原理:STING是一種基於網格的多分辨率聚類技術,它將空間區域劃分爲矩形單元,針對不同級別的分辨率,通常存在多個級別的矩形單元,這些單元形成了一個層次結構;高層的每個單元劃分爲多個第一層的單元

效率分析:時間複雜度O(n)、空間複雜度O(l)

MR並行化分析:算法的數據分隔不是簡單的塊分隔,不適合MR並行化處理


注:n爲樣本的個數,k爲類簇的個數,i爲算法的迭代次數,s爲每次抽樣的個數,d爲樣本的屬性個數


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章