聚類演算法之K Means演算法

2021-08-16 05:06:00 字數 991 閱讀 2616

對大量未進行標註(unsupervised learning)的資料集,並按照資料集本身的內部資料特徵將資料劃分為多個不同的類別,從而使得類別內的資料相似度高,而類別間的資料差異性較大。因此,它的重點就在於計算樣本間的相似度(similarity)。

輸入演算法所需資料,資料樣本集d=

,將樣本資料集分開的簇數

k ,此處用歐幾里得距離(euclidean distance)來計算樣本間相似度:

1. 選擇(選擇策略可以隨機,也可以多次選擇選最佳等)初始化的k個類別的中心(centroids),c1

,c2,

⋯,ck

; 2. 對於每乙個樣本xi

,將其標記為距離類別中心cj

最近的類別j,

即,∀i

,lab

eli=

argmin1≤

j≤k∑

i=1n

(xi−

cji)

2−−−

−−−−

−−−−

√,cj

=1n(

cj)∑

xi∈c

jxi

3. 更新每乙個簇的質心為隸屬該簇的所有樣本的均值,當然這只是策略之一,如還可以使用中值(median)

⟹ 一定程度避免outliers

4. 重複第2, 3步,直到滿足終止條件之一。

終止條件,達到迭代次數,所有簇中心點變化不大於指定閾值,最小平方誤差mse

最小化平方誤差mse(loss function)表示為,假設劃分的簇為 ,e

=∑i=

1k∑x

j∈ci

||xj

−ci|

|2,其

中ci=

1|ci

|∑xj

∈cix

j 推薦博文

聚類演算法之Kmeans

kmeans是聚類演算法中比較簡單的演算法,也用的非常多。這裡進行簡單的解釋,主要目的在於給自己記錄,以備以後檢視。k均值聚類的主要思想是為了使得各個類的點離聚類中心都盡可能近。k均值聚類的演算法可以描述為 輸入 資料集d d 聚類簇個數 k 演算法 從資料集d中隨機選擇k個樣本作為初始聚類中心 r...

聚類演算法之K means

k means演算法也稱k 均值聚類演算法。它試圖通過基於原型的 劃分的距離計算來發現k個使用者預先指定的簇。將一組資料劃分為預先設定好的k個簇,也可理解為隨機選擇k個向量作為初始均值向量。接下來根據均值向量將樣本劃分到距離最近的均值向量所在的簇中。這是一次迭代過程。重新計算並更新均值向量,不斷重複...

聚類演算法之K means演算法與聚類演算法衡量指標

原文出處 聚類就是按照某個特定標準 如距離準則 把乙個資料集分割成不同的類或簇,使得同乙個簇內的資料物件的相似性盡可能大,同時不在同乙個簇中的資料物件的差異性也盡可能地大。即聚類後同一類的資料盡可能聚集到一起,不同資料盡量分離。聚類演算法屬於無監督學習,即事先不會給出標記資訊,通過對無標記樣本的學習...