K均值算法
K均值聚類的核心目標(biāo)是將給定的數(shù)據(jù)集劃分成K個簇,并給出每個數(shù)據(jù)對應(yīng)的簇中心點。
- 數(shù)據(jù)預(yù)處理,包括但不限于歸一化,離群點處理等
- 隨機(jī)選擇K個簇中心,我們記為
- 定義代價函數(shù),
- 令t=0,1,2,3...,進(jìn)行迭代,重復(fù)直至J收斂
此時,對于每個樣本,將分配到距離最近的簇
對于每個簇k,重新計算各個簇的中心
K均值在迭代中,如果J沒有達(dá)到最小值,那么首先重新計算當(dāng)前簇的中心,調(diào)整每個樣例
所屬的類別
來讓J的值減少,之后計算
,調(diào)整簇中心
使J減少,如此重復(fù)迭代,直到J減少到最小值,
此時也收斂。
K均值算法示意圖

K均值聚類算法迭代