Clustering

標準和球形 k 均值算法之間的區別

  • July 7, 2013

我想了解,標準和球形 k 均值聚類算法之間的主要實現區別是什麼。

在每一步中,k-means 計算元素向量和集群質心之間的距離,並將文檔重新分配給這個質心最近的集群。然後,重新計算所有質心。

在球面 k-means 中,所有向量都被歸一化,距離度量是餘弦相異度。

僅此而已,還是還有別的?

問題是:

經典k-means和球形k-means有什麼區別?

經典 K 均值:

在經典的 k-means 中,我們尋求最小化集群中心和集群成員之間的歐幾里得距離。這背後的直覺是,從集群中心到元素位置的徑向距離對於該集群的所有元素應該“具有相同性”或“相似性”。

算法是:

  • 設置集群數量(又名集群計數)

  • 通過將空間中的點隨機分配給集群索引來初始化

  • 重複直到收斂

    • 對於每個點,找到最近的集群並將點分配給集群
    • 對於每個聚類,求成員點的均值並更新中心均值
    • 誤差是聚類距離的範數

球形 K 均值:

在球面 k-means 中,想法是設置每個集群的中心,以使組件之間的角度既均勻又最小。直覺就像看星星 - 點之間應該有一致的間距。這種間距更容易量化為“餘弦相似度”,但這意味著沒有“銀河系”星系在數據的天空中形成大片明亮的條紋。(是的,我正試圖在描述的這一部分中與奶奶交談。)

更多技術版本:

想想向量,你用帶有方向和固定長度的箭頭繪製的東西。它可以在任何地方翻譯並且是相同的向量。參考

在此處輸入圖像描述

空間中點的方向(它與參考線的角度)可以使用線性代數計算,尤其是點積。

如果我們移動所有數據,使其尾部在同一點,我們可以通過角度比較“向量”,並將相似的向量分組到一個集群中。

在此處輸入圖像描述

為清楚起見,向量的長度被縮放,以便它們更容易“眼球”比較。

在此處輸入圖像描述

你可以把它想像成一個星座。單個星團中的恆星在某種意義上彼此接近。這些是我眼中的星座。

在此處輸入圖像描述

一般方法的價值在於它允許我們設計沒有幾何維度的向量,例如在 tf-idf 方法中,其中向量是文檔中的詞頻。添加的兩個“and”字不等於一個“the”。單詞是不連續的和非數字的。它們在幾何意義上是非物理的,但我們可以幾何地設計它們,然後使用幾何方法來處理它們。球形 k-means 可用於基於單詞進行聚類。

所以(2d 隨機,連續)數據是這樣的:

幾點:

  • 它們投影到一個單位球體以解釋文檔長度的差異。

讓我們通過一個實際的過程,看看我的“目測”有多(糟糕)。

程序是:

  1. (隱含在問題中)在原點連接向量尾部
  2. 投影到單位球體上(考慮文檔長度的差異)
  3. 使用聚類來最小化“餘弦相異

在哪裡

(更多編輯即將推出)

鏈接:

  1. http://epub.wu.ac.at/4000/1/paper.pdf
  2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8125&rep=rep1&type=pdf
  3. http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf
  4. https://www.jstatsoft.org/article/view/v050i10
  5. http://www.mathworks.com/matlabcentral/fileexchange/32987-the-spherical-k-means-algorithm
  6. https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/projects/MIT15_097S12_proj1.pdf

引用自:https://stats.stackexchange.com/questions/63558

comments powered by Disqus