k-means法のように,各事例 \(\mathbf{x}_i\) をクラスタ \(k\) のいずれか一つに割り当てるのではなく,\(c\)個のクラスタに係数 \(u_{ki}\) に応じて割り当てる.
ベクトルで表現されたデータ \(\mathbf{x}_i\) の集合である入力に対し,次の目的関数を最小化する分割最適化クラスタリング
\[\mathrm{Err}\Bigl(\{u_{ki}\},\{\boldsymbol{\mu}_{k}\}\Bigr)=\sum_{k=1}^c\;\sum_{i=1}^N\;(u_{ki})^m{\|\mathbf{x}_i - \boldsymbol{\mu}_k\|}^2\]
ただし,\(\boldsymbol{\mu}_k\) はクラスタ \(k\) の中心を表し,\(\|\cdot\|\) はユークリッドノルム,\(m\gt1\) は割り当てのファジィさを決めるパラメータで,\(c\) はクラスタ数のパラメータ.
- 初期化:\(\{u_{ki}\}\) をランダムに初期化
- 現在の \(\{u_{ki}\}\) を用いて,各クラスタの中心 \(\boldsymbol{\mu}_k\) を次式で計算
\[\boldsymbol{\mu}_k=\frac{\sum_i^N (u_{ki})^m \mathbf{x}_i}{\sum_i^N (u_{ki})^m}\]
- 前ステップで計算した中心 \(\{\boldsymbol{\mu}_k\}\) を用いて,事例 \(\mathbf{x}_i\) のクラスタ \(k\) への割り当てを次式で更新
\[u_{ki}=\Biggl[\sum_j^c \biggl(\frac{\|\mathbf{x}_i-\boldsymbol{\mu}_k\|}{\|\mathbf{x}_i-\boldsymbol{\mu}_j\|}\biggr)^{\frac{2}{m-1}}\Biggr]^{-1}\]
- 前の反復と比べて \(\{u_{ki}\}\) や \(\{\boldsymbol{\mu}_k\}\) の変化が十分に小さくなれば停止.そうでなければステップ2に戻る.
-- しましま
関連項目†
リンク集†
関連文献†