1. 程式人生 > >機器學習:利用K-均值聚類算法對未標註數據分組——筆記

機器學習:利用K-均值聚類算法對未標註數據分組——筆記

最大的 相似度計算 最小 合並 表示 所有 改變 們的 描述

聚類:

  聚類是一種無監督的學習,它將相似的對象歸到同一個簇中。有點像全自動分類。聚類方法幾乎可以應用於所有對象,簇內的對象越相似,聚類的效果越好。聚類分析試圖將相似對象歸入同一簇,將不相似對象歸到不同簇。相似這一概念取決於所選的相似度計算方法。

K-均值聚類算法:

  優點:易於實現。

  缺點:可能收斂到局部最小值,在大規模數據集上收斂較慢。

  適用於:數值型數據。

  k-均值是發現給定數據集的k個簇的算法。簇的個數k是用戶給定的,每一個簇通過其質心,即簇的所有點的中心來描述。

  工作流程:首先,隨機確定k個初始點作為質心。然後將數據集中的每個點分配到一個簇中,具體來講,為每個點找距離最近的質心,並將其分配給該質心所對應的簇。這一步完成之後,每個簇的質心更新為該簇所有點的質心。

  計算質心——分配——重新計算,反復循環,直到所有數據點的簇分配結果不再改變。

  k-均值算法收斂但是聚類效果較差的原因是:收斂到了局部最小值,而非全局最小值。

聚類度量指標:

  一種用於度量聚類效果的指標是SSE(誤差平方和)。SSE越小,表示數據點越接近它們的質心,聚類效果也越好。

  增加簇的數目肯定可以降低SSE值,但是這違背了聚類目標(在保持簇數目不變的情況下提高簇的質量)。

  另一種方法是將具有最大SSE值得簇劃分為兩個簇。在這些點上再進行k-均值算法。

  為了保持簇總數不變,可將某兩個簇合並:合並最近的質心,或者合並兩個使得SSE增幅最小的質心。

二分k-均值算法:

  為克服k-均值算法收斂於局部最小解的問題,提出二分k-均值算法。

  首先,將所有點作為一個簇,然後將該簇一分為二。之後,選擇其中一個簇繼續劃分。選擇哪一個簇取決於對其劃分是否可以最大程度降低SSE值。上述基於SSE劃分過程不斷重復,直到得到用戶指定的簇數目為止。(另一種是選擇SSE最大的簇進行劃分。)

機器學習:利用K-均值聚類算法對未標註數據分組——筆記