淺談聚類算法(K-means)


   聚類算法(K-means)目的是將n個對象根據它們各自屬性分成k個不同的簇,使得簇內各個對象的相似度盡可能高,而各簇之間的相似度盡量小。

   而如何評測相似度呢采用的准則函數是誤差平方和(因此也叫K-均值算法):

http://images.cnblogs.com/cnblogs_com/superhuake/201207/201207252348273330.png其中,E是數據集中所有對象的平方誤差和,P是空間中的點,表示給定對象,mi為簇Ci的均值。其實E所代表的就是所有對象到其所在聚類中心的距離之和。對於不同的聚類,E的大小肯定是不一樣的,因此,使E最小的聚類是誤差平方和准則下的最優結果.

選取代表點用如下幾個辦法:

    (1)憑經驗。根據問題性質,用經驗的方法確定類別個數,從數據中找出從直觀上看來比較合適的代表點。

 

    (2)將全部數據隨機地分成k類,計算每類的中心,將這些點作為每類的代表點。

 

    (3)“密度”選擇法。這個方法思路還是比較巧妙。首先每個樣本為球心,用某個正數a為半徑畫圈,被圈進來的樣本數則成為球心樣本點的“密度”。找出“密 度”最大的樣本點作為第一類的代表點。然后開始選擇第二類的代表點,這時不能直接選“密度”次大的代表點,因為次大的代表點很可能就在第一個代表點附近。 可以規定一個正數b,在第一個代表點范圍b之外選擇“密度”次大的代表點作為第二類的代表點,其余代表點按照這個原則依次進行。

 

    (4)用K個樣本作為代表點。

 

    (5)采用用K-1聚類划分問題產生K聚類划分問題的代表點的方法。思路是先把所有數據看成一個聚類,其代表點為所有樣本的均值,然后確定兩聚類問題的代表點是一聚類問題划分的總均值和離它最遠的代表點。余下的以此類推。

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM