常用的聚類算法及聚類算法評價指標


 

1. 典型聚類算法

1.1 基於划分的方法

代表:kmeans算法

·指定k個聚類中心640?wx_fmt=png
·640?wx_fmt=png(計算數據點與初始聚類中心的距離)
·640?wx_fmt=png(對於數據點640?wx_fmt=png,找到最近的640?wx_fmt=png{i}ci(聚類中心),將640?wx_fmt=png分配到640?wx_fmt=png{i}ci中)
·640?wx_fmt=png(更新聚類中心點,640?wx_fmt=png是新類別數值的均值點)
·640?wx_fmt=png(計算每一類的偏差)
·640?wx_fmt=png返回640?wx_fmt=png
640?wx_fmt=png返回第二步

1.2 基於層次的方法

代表:CURE算法

·每個樣本作為單獨的一個類別640?wx_fmt=png
·640?wx_fmt=png
·合並640?wx_fmt=png,640?wx_fmt=png640?wx_fmt=png
·遍歷完本次樣本,合並成新的類別后,若存在多個類別,則返回第二步
·遍歷完本次樣本,合並成新的類別后,若所有樣本為同一類別,跳出循環,輸出每層類別

1.3 基於網格的方法

代表:STING算法

·將數據集合X划分多層網格結構,從某一層開始計算
·查詢該層網格間的屬性值,計算屬性值與閾值的關系,判定網格間的相關情況,不相關的網格不作考慮
·如果網格相關,則進入下一層的相關區域繼續第二步,直到下一層為最底層
·返回相關網格結果

1.4 基於密度的方法

代表:DBSCAN算法

·輸入數據集合X,隨機選取一點,並找出這個點的所有高密度可達點
·遍歷此點的所有640?wx_fmt=png鄰域內的點,並尋找這些密度可達點,判定某點640?wx_fmt=png鄰域內的點,並尋找這些點密度可達點,判定某點的640?wx_fmt=png鄰域內的點數是否超過閾值點數,超過則構成核心點
·掃描數據集,尋找沒有被聚類的數據點,重復第二步
·輸出划分的類,並輸出異常值點(不和其他密度相連)

1.5 神經網絡的方法

代表:SOM算法

·數據集合640?wx_fmt=png,權重向量為640?wx_fmt=png640?wx_fmt=png,歸一化處理640?wx_fmt=png
·尋找獲勝的神經元,找到最小距離,對於每一個輸入數據,找到與之最相匹配的節點
640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png的距離,更新權重:640?wx_fmt=png
·更新臨近節點,640?wx_fmt=png,其中640?wx_fmt=png代表學習率

1.6 基於圖的聚類方法

代表:譜聚類算法

·計算鄰接矩陣640?wx_fmt=png,度矩陣640?wx_fmt=png640?wx_fmt=png
·計算拉普拉及矩陣640?wx_fmt=png
·計算歸一化拉普拉斯矩陣640?wx_fmt=png
·計算640?wx_fmt=png的特征值和特征向量640?wx_fmt=png
·對Q矩陣進行640?wx_fmt=png聚類,得到聚類結果

2. 聚類算法的評價指標

一個好的聚類方法可以產生高品質簇,是的簇內相似度高,簇間相似度低。一般來說,評估聚類質量有兩個標准,內部質量評價指標和外部評價指標。

2.1 內部質量評價標准

內部評價指標是利用數據集的屬性特征來評價聚類算法的優劣。通過計算總體的相似度,簇間平均相似度或簇內平均相似度來評價聚類質量。評價聚類效果的高低通常使用聚類的有效性指標,所以目前的檢驗聚類的有效性指標主要是通過簇間距離和簇內距離來衡量。這類指標常用的有CH(Calinski-Harabasz)指標等

CH指標

CH指標定義為:
640?wx_fmt=png
其中640?wx_fmt=png表示類間距離差矩陣的跡,640?wx_fmt=png表示類內離差矩陣的跡,640?wx_fmt=png是整個數據集的均值,640?wx_fmt=png是第640?wx_fmt=png個簇640?wx_fmt=png的均值,640?wx_fmt=png代表聚類個數,640?wx_fmt=png代表當前的類。640?wx_fmt=png值越大,聚類效果越好,640?wx_fmt=png主要計算簇間距離與簇內距離的比值

簇的凝聚度

簇內點對的平均距離反映了簇的凝聚度,一般使用組內誤差平方(SSE)表示:
640?wx_fmt=png

簇的鄰近度

簇的鄰近度用組間平方和(SSB)表示,即簇的質心640?wx_fmt=png到簇內所有數據點的總平均值640?wx_fmt=png的距離的平方和

2.2 外部質量評價標准

外部質量評價指標是基於已知分類標簽數據集進行評價的,這樣可以將原有標簽數據與聚類輸出結果進行對比。外部質量評價指標的理想聚類結果是:具有不同類標簽的數據聚合到不同的簇中,具有相同類標簽的數據聚合相同的簇中。外部質量評價准則通常使用熵,純度等指標進行度量。

熵:

簇內包含單個類對象的一種度量。對於每一個簇,首先計算數據的類分布,即對於簇640?wx_fmt=png,計算簇640?wx_fmt=png的成員屬於類640?wx_fmt=png的概率
640?wx_fmt=png
其中640?wx_fmt=png表示簇640?wx_fmt=png中所有對象的個數,而640?wx_fmt=png是簇640?wx_fmt=png中類640?wx_fmt=png的對象個數。使用類分布,用標准公式:
640?wx_fmt=png
計算每個簇640?wx_fmt=png的熵,其中K是類個數。簇集合的總熵用每個簇的熵的加權和計算即:
640?wx_fmt=png
其中640?wx_fmt=png是簇的個數,而640?wx_fmt=png是簇內數據點的總和

純度:

簇內包含單個類對象的另外一種度量。簇640?wx_fmt=png的純度為640?wx_fmt=png,而聚類總純度為:
640?wx_fmt=png

 

歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/

歡迎關注PyTorch官方中文教程站:
http://pytorch.panchuang.net/


免責聲明!

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



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