缺點:
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...