K-MEANS算法 k-means 算法接受輸入量 k ;然后將n個(gè)數(shù)據(jù)對(duì)象劃分為 k個(gè)聚類以便使得所獲得的聚類滿足:同一聚類中的對(duì)象相似度較高;而不同聚類中的對(duì)象相似度較小。聚類相似度是利用各聚類中對(duì)象的均值所獲得一個(gè)“中心對(duì)象”(引力中心)來(lái)進(jìn)行計(jì)算的。 k-means算法是一種基于樣本間相似性度量的間接聚類方法。此算法以k為參數(shù),把n 個(gè)對(duì)象分為k個(gè)簇,以使簇內(nèi)具有較高的相似度,而且簇間的相似度較低。相似度的計(jì)算根據(jù)一個(gè)簇中對(duì)象的平均值來(lái)進(jìn)行。此算法首先隨機(jī)選擇k個(gè)對(duì)象,每個(gè)對(duì)象代表一個(gè)聚類中心。對(duì)于其余的每一個(gè)對(duì)象,根據(jù)該對(duì)象與各聚類中心之間的距離,把它分配到與之最相似的聚類中。然后,計(jì)算每個(gè)聚類的新中心。重復(fù)上述過(guò)程,直到準(zhǔn)則函數(shù)收斂。 k-means 算法的工作過(guò)程說(shuō)明如下:首先從n個(gè)數(shù)據(jù)對(duì)象任意選擇 k 個(gè)對(duì)象作為初始聚類中心;而對(duì)于所剩下其它對(duì)象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然后再計(jì)算每個(gè)所獲新聚類的聚類中心(該聚類中所有對(duì)象的均值);不斷重復(fù)這一過(guò)程直到標(biāo)準(zhǔn)測(cè)度函數(shù)開始收斂為止。一般都采用均方差作為標(biāo)準(zhǔn)測(cè)度函數(shù). k個(gè)聚類具有以下特點(diǎn):各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。 K-MEANS算法的具體流程如下: (1) 從 n個(gè)數(shù)據(jù)對(duì)象任意選擇 k 個(gè)對(duì)象作為初始聚類中心; (2) 循環(huán)(3)到(4)直到每個(gè)聚類不再發(fā)生變化為止 (3) 根據(jù)每個(gè)聚類對(duì)象的均值(中心對(duì)象),計(jì)算每個(gè)對(duì)象與這些中心對(duì)象的距離;并根據(jù)最小距離重新對(duì)相應(yīng)對(duì)象進(jìn)行劃分; (4) 重新計(jì)算每個(gè)(有變化)聚類的均值(中心對(duì)象) |
|
來(lái)自: nizhonglian > 《數(shù)字圖像處理》