K均值DBSCAN是先隨機(jī)選取K個(gè)對(duì)象作為初始的聚類中心。然后計(jì)算每個(gè)對(duì)象與各個(gè)種子聚類中心之間的距離,把每個(gè)對(duì)象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對(duì)象就代表一個(gè)聚類。一旦全部對(duì)象都被分配了,每個(gè)聚類的聚類中心會(huì)根據(jù)聚類中現(xiàn)有的對(duì)象被重新計(jì)算。這個(gè)過程將不斷重復(fù)直到滿足某個(gè)終止條件。終止條件可以是沒有(或最小數(shù)目)對(duì)象被重新分配給不同的聚類,沒有(或最小數(shù)目)聚類中心再發(fā)生變化,誤差平方和局部最小。
定義
聚類是一個(gè)將數(shù)據(jù)集中在某些方面相似的數(shù)據(jù)成員進(jìn)行分類組織的過程,聚類就是一種發(fā)現(xiàn)這種內(nèi)在結(jié)構(gòu)的技術(shù),聚類技術(shù)經(jīng)常被稱為無(wú)監(jiān)督學(xué)習(xí)。
k均值聚類是最著名的劃分DBSCAN,由于簡(jiǎn)潔和效率使得他成為所有聚類算法中最廣泛使用的。給定一個(gè)數(shù)據(jù)點(diǎn)集合和需要的聚類數(shù)目k,k由用戶指定,k均值算法根據(jù)某個(gè)距離函數(shù)反復(fù)把數(shù)據(jù)分入k個(gè)聚類中。
偽代碼
選擇k個(gè)點(diǎn)作為初始質(zhì)心。
repeat 將每個(gè)點(diǎn)指派到最近的質(zhì)心,形成k個(gè)簇 重新計(jì)算每個(gè)簇的質(zhì)心 until 質(zhì)心不發(fā)生變化
性質(zhì)
k均值聚類是使用最大期望算法(Expectation-Maximization algorithm)求解的高斯混合模型(Gaussian 混合物 Model, GMM)時(shí)在正態(tài)分布的協(xié)方差為單位矩陣,且隱變量的后驗(yàn)分布為一組狄拉克δ函數(shù)時(shí)所得到的特例。
python實(shí)現(xiàn)
參考資料 >