聚類演算法(二)

2021-10-02 07:22:32 字數 1380 閱讀 9671

缺點:

canopy演算法小結

優點: 缺點:

k-means++

kmeans++目的,讓選擇的質心盡可能的分散

二分k-means

隱含的乙個原則:

因為聚類的誤差平方和能夠衡量聚類效能,則該值越小表示資料點越接近質心,聚類效果越好。所以需要對誤差平方和最大的簇再進行一次劃分,因為誤差平方和越大, 表示該簇聚類效果越不好,越有可能是多個簇被當成了乙個簇,所以我們首先需要對這個簇進行劃分。

二分k均值演算法可以加速k-means演算法的執行速度,因為它的相似度計算少了並且不受初始化問題的影響,因為這裡不存在隨機點的選取,切每一步都保證了誤差最小。

k-medoids(k-中心聚類演算法)

k-medoids-和k-means是有區別的,不一樣的地方在於中心點的選取

演算法流程:

1)總體n個樣本中任意選取k個點作為medoids

2)按照與medoids最近的原則,將剩餘的n-k個點分配到當前最佳的medoids代表的類中

3)對於第i個類中除對應medoids中外的所有其他點,按順序計算當其為新的medoids時,代價函式的值,遍歷所有可能,選取代價函式最小時對應的點作為新的medoids

4)重複2-3步驟,知道所有的medoids點不再發生變化或者已達到設定的最大迭代次數

kernel k-means

kernel k-means實際上,就是將每個樣本進行乙個投射到高維空間的處理,然後再將處理後的資料使用普通的k-means演算法思想進行聚類。

isodata

類別數目隨著聚類過程而變化;

對類別數會進行合併,**,

「合併」:(當聚類結果某一類中樣本數太少,或兩個類間的距離太近時)

「**」:(當聚類結果中某一類的類內方差太大,將該類進行**)

mini batch k-means

適合大資料的聚類演算法

大資料量是什麼量級?通常當樣本量大於1萬做聚類時,就需要考慮選用mini batch k-means演算法。

mini batch kmeans使用了mini batch(分批處理)的方法對資料點之間的距離進行計算。

mini batch計算過程中不必使用所有的資料樣本,而是從不同類別的樣本中抽取一部分樣本來代表各自型別進行計算。由於計算樣本量少,所以會相應的減少執行時間,但另一方面抽樣也必然會帶來準確度的下降。

該演算法的迭代步驟有兩步:

(1)從資料集中隨機抽取一些資料形成小批量,把他們分配給最近的質心

(2)更新質心

與kmeans相比,資料的更新在每乙個小的樣本集上。對於每乙個小批量,通過計算平均值得到更新質心,並把小批量裡的資料分配給該質心,隨著迭代次數的增加,這些質心的變化是逐漸減小的,直到質心穩定或者達到指定的迭代次數,停止計算。

層次聚類演算法(二)

上篇博文簡單的講述了層次聚類的基本概念,接下來就是具體的講述凝聚的聚類演算法agnes演算法與 的聚類演算法diana聚類演算法。agnes演算法 演算法描述 輸入 包含n個物件的資料庫,終止條件簇的數目k 輸出 k個簇 1 將每個物件當成乙個初始簇 2 repeat 3 根據兩個簇中最近的資料點找...

密度聚類演算法(二)

dbscan是一種著名的密度聚類演算法,基於一組鄰域引數 r,minpts 來刻畫樣 本的緊密程度。說的通俗點就是以某個樣本點為中心,以r為半徑進行畫圓,在圓內的範圍都是鄰域範圍。基本概念 1 r 鄰域。對任意xi屬於資料集d,其r鄰域包含樣本集d中與xi的距離不大於r的樣本,即n xi 其實就是畫...

聚類演算法 近鄰聚類演算法

time is always too short for those who need it,but for those who love,it lasts forever.dracula untold 近鄰聚類法同樣是一種基於距離閾值的聚類演算法。coding utf 8 近鄰聚類演算法的pyth...