聚類演算法總結

2021-06-25 15:23:24 字數 2994 閱讀 7218

最近要在spark上做乙個聚類的專案,資料量和類的個數都比較大。kmeans效果尚可,但是有點慢,因而重新看了下常用的演算法。最終選用mini-batch kmeans,使用類似kmeans++的方法來初始化類中心。

kmeans

attention: init centers (randomize vs kmeans++)

mini-batch kmeans

loops: random select samples; find closest for all samples; update centers for each sample

mean shift

init: get centers by bandwidth

loops: find neighbors of centers; update centers; de-duplicate

dbscan

init: get densest core samples

loops: get more core samples nearby old samples

ward hierarchical

init: each sample as center

loops: merge to minimize rmse within clusters

spectral clustering

steps: similarity matrix s; s=uv; kmeans of u

ap cluster

init: get s; rik=0, aik=0

loops: rik = sik - max_k'!=k(aik' + sik'); aik = min(0, rkk + sum_i'!=i,k max(0, ri'k)); akk = sum_i'!=k max(0, ri』k)

end: for any i, max_k rik + aik as it』s exemplar

topic model (lda)

...其實scikit-learn實現了很多演算法,也有現成的資料集可以做做實驗。例如: 上有一些效果圖,和演算法擴充套件性的說明。

聚類演算法總結

凸集 在歐氏空間中,凸集是對於集合內的每一對點,連線該對點的直線段上的每個點也在該集合內 非凸 non convex 資料 模擬上述可知 首先我們要了解衡量物件間差異的方法物件可能是乙個值,也可能是序列,聚類的方式的大都通過距離或相似度來衡量,常用距離如下 對於兩個物件的n維指標 x1,x2,xn ...

聚類演算法總結

訓練深度學習網路分為監督學習 無監督學習 半監督學習 強化學習。聚類演算法屬於無監督學習的範疇,總結的演算法有k means mean shift dbscan gmm 凝聚層次聚類 圖團體檢測。k means 是最知名的聚類演算法,簡單地使用均值。演算法流程 初始化,隨機選取k個中心點 遍歷所有資...

聚類 分類演算法 聚類演算法和分類演算法總結

k means 是一種典型的劃分聚類演算法,它用乙個聚類的中心來代表乙個簇,即在迭代過程中選擇的聚點不一定是聚類中的乙個點,該演算法只能處理數值型資料 k modes k means演算法的擴充套件,採用簡單匹配方法來度量分型別資料的相似度 k prototypes 結合了k means和k mod...