聚類屬於非監督學習,k-mean是聚類中經典算法。非監督學習即是隻有樣本沒有標籤。
訓練數據集{x(1),x(2),…,x(m)}{x(1),x(2),…,x(m)}(其中x(i)∈Rnx(i)∈Rn)和聚類數量KK(將數據劃分爲KK類);算法輸出是KK個聚類中心μ1,μ2,…,μKμ1,μ2,…,μK和每個數據點x(i)x(i)所在的分類。
步驟:
1,初始化K個聚類中心μ1,μ2,…,μKμ1,μ2,…,μK;
2,對於每個數據點x(i)x(i),尋找離它最近的聚類中心,將其歸入該類;即c(i)=mink||x(i)−μk||2c(i)=mink||x(i)−μk||2,其中c(i)c(i)表示x(i)x(i)所在的類;
3,更新聚類中心uk的值爲所有屬於類kk的數據點的平均值;
代價函數: