LoginSignup
5
6

More than 5 years have passed since last update.

Affinity Propagation

Last updated at Posted at 2018-05-19

Affinity Propagation(AP)とは

あらかじめクラスタ数を決めることなくクラスタリングできる方法。

Affinity Propagationの概要

オブジェクトのペア(i, j)について以下の2つのメッセージを計算する。

  • responsibility $r_{i,j}$
  • availability $a_{i,j}$

収束するか、資源が尽きるまで、イテレーションごとに
$r_{i,j}$と$a_{i,j}$は更新される。

収束したら、オブジェクトiのexempler:$c_{i}$は、
$$c_{i} = arg\max_{j}\left( a_{i,j} + r{i,j} \right)$$
で得られる。

responsibility

オブジェクトiがオブジェクトjをどれくらいexamplerとしたいか、という指標。
以下のように計算される。
$$ r_{i,j} = \boldsymbol{L_{i,j}} \left( \sum_{k:k \neq j}{a_{i,k}\boldsymbol{L_{i,k}}} \right)^{-1}$$

ここで、$\boldsymbol{L}$は尤度行列。つまり$\boldsymbol{L_{i,j}}$はオブジェクトi,j間の類似度を表す。$\boldsymbol{L_{i,j}}$が大きくなると、i,jは似ている、ということになる。$\boldsymbol{L}$の対角成分は自分で決定する。対角成分の大小はクラスタ数の大小に影響を与える。経験的には、$\boldsymbol{L}$の非対角成分の平均値か中央値にすると良いらしい。

availability

オブジェクトjが、どれくらいオブジェクトiのexamplerでいたいか、という指標。
初期値は1にセットされ、以下のように計算される。

$$ a_{j,j} = -1 + \prod_{k:k \neq j}{(1+r_{k,j})} $$
$$ a_{i,j} = [ {1 + (\frac{1}{r_{i,i}} - 1) \prod_{k:k \neq i, k \neq j}{(1+r_{k,j})^{-1}}}]^{-1} $$

参考文献

[Alejando et al.] Clustering-Based Anomaly Detection in Multi-View Data

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6