Clustering method 5

Affinity Propagation

Yuki Liu
Taiwan AI Academy
10 min readJul 19, 2019

--

這次要介紹的鄰近傳播分群法(Affinity Propagation)分群方法與最常使用的K-means是基於一樣的 Similarity matrix,也就是以定義的距離來作分群,但此種方法加入了數據間傳遞信息的想法,因此計算複雜度也較高,但能得到較好的平方誤差。常使用在生物基因的分群、文句的提取等等。

以下將會介紹鄰近傳播分群法的基本概念以及會使用到的名詞解釋,依舊以相同例子的結果來比較各種分群法的差異。

- 基本概念 -

鄰近傳播分群法(Affinity Propagation)是一種基於資料點間信息傳遞的分群算法。依據點間的相似度(Similarity)傳遞所需的消息,進而計算出各點的分群中心。過程中所傳遞的信息分別是吸引度(Responsibility)和歸屬度(Availability)。透過不斷更新此兩種訊息,產生較好的分群中心(Exemplar)得以將資料及分群。

  • 相似度(Similarity)

資料點間的相似度一般以點間的距離來計算,距離越近則表示相似度越高,意即

S(i, j) 即為資料點 x_i 及 x_j 之間的相似程度

同時相似度也表明 x_j 作為 x_i 的分群中心的適合程度(因為相似度越高,越容易分為同一群)。

  • 參考度(Preference)

指的是資料點作為分群中心的參考度,也就是可作為分群中心的適合程度。一般取相似度的中間值作為參考度並取代相似度矩陣的對角值。

因此可以解釋相似度矩陣的元素 S(i, j) 指的是 x_i 選定 x_j 為分群中心的偏好程度。

  • 吸引度(Responsibility)

若以 R(i, k) 來表示吸引度,稱資料點 x_k 吸引資料點 x_i 作為分群中心的程度。

  • 歸屬度(Availability)

若以 A(i, k) 來表示歸屬度,稱資料點 x_i 選擇資料點 x_k 作為分群中心的適合程度。

因此吸引度及歸屬度對於給定資料點與某欲作為分群中心的資料點間的關係為:

X_i(該資料點) 與 X_k(欲作為分群中心的資料點)之間的關係

此算法即是不斷更新吸引度以及歸屬度來找到對每個資料點最適合的分群中心。迭代更新的過程如下:

1. x_k 若要吸引 x_i 做為它的分群中心,必須要跟 x_i 有足夠高的相似程度(S(i, k)),並且證明比其他點更適合作為分群的中心,也就是 x_i 認可其他點 x_k' 的程度(A(i, k))以及 x_k' 作為 x_i 的分群中心的合適度(S(i, k’))要比對 x_k 的來得低。因此更新吸引度 R(i, k) 的方式為

更新吸引度(Responsibility)的方法
R(i, k)為 x_k 比其他資料點更吸引 x_i 的程度

2. 若 x_k 吸引x_i以外的資料點,x_i 也容易選擇 x_k 作為其分群中心。因此 x_k 對其他點 x_i' 的吸引度(R(i’, k))表示它成為其他點 x_i' 的分群中心有多適合。R(k, k) 則表示 x_k 自己不適合其他點的程度。最後綜合兩種考慮的想法則能表示歸屬度 A(i, k)

更新歸屬度(Availability)的方法
A(i, k) 表示 X_i 選擇 X_k 作為分群中心的適合程度(所以 X_i 會根據其他點的看法來決定是否選擇 X_k,也就是 X_k 有沒有能力作為分群中心)

可以想像吸引度(Responsibility)是比較分群中心的適合程度,則歸屬度(Availability)是找出較適合成為分群中心的資料點。

- 演算法 -

輸入:資料集 D,參考度 preference

輸出:目標分群集合 Clusters

  1. 根據資料集 D 計算相似度矩陣 S,將 S 對角線上的元素設為給定的參考度 preference,即是 S(i, i) = preference
  2. 初始化吸引度 R 以及歸屬度 A 為 0 矩陣。
  3. 更新個資料點間的吸引度。
  4. 更新個資料點間的歸屬度。
  5. 對資料點 d_i 來說分群中心 Exemplar 即為 argmax{A(i, k)+R(i, k)}
  6. 重複步驟 3. 4. 5. 直到所有資料點所屬的分群中心不再改變為止。

- 算法實作 -

使用Sklearn.cluster.AffinityPropagation套件:

左圖為原始資料集,右圖則為Affinity Propagation分群的結果(紅色點為分群中心)

用於影像分割 …

此例僅考慮顏色的因素,並不考慮密度,因此同顏色的像素都將視為同一點。
左圖僅顯示被歸為背景藍色的像素;右圖則表示被歸為白色系的像素
紅色 x 點為 Affinity Propagation 分群法最後的分群中心

- Affinity Propagation 算法總結-

優點:

  1. 不需要給定分群的個數,且最終的分群中心為原有的資料點。
  2. 此方法較不依賴初始值的選定

缺點:

  1. 此算法雖不須給定分群中心的個數,但所需的參考度(preference)即與分群中心個數有正相關的關係。
  2. 每次迭代都需要更新資料點吸引度( Responsibility)和歸屬度( Availability),因此計算複雜度較高。

- 參考資料 -

--

--