寺野 寿郎 他(編) : 応用ファジィシステム入門

作成日: 2013-01-03
最終更新日:

概要

ファジィシステムの基礎と応用を全6章にわたってのべる。

感想

クラスタリングについて考えよう。 クラスタリングとは、あるデータ群を何らかの尺度に基づいて いくつかのグル―プ(クラスタ)に分割する方法である。 グループの分割基準としては、同じグループに所属するデータは類似した性質をもち、 かつ異なるグループに所属するデータは異なる性質をもつ、というのが基本的な考え方だ。 以下は、同書の pp.136-138 に基づく。

いま、データ群が `n` 個からなるとし、個別のデータを、`mathbbx_1, mathbbx_2, ..., mathbbx_n` とする。 `mathbbx_j (1 <= j <= n ) ` は `d` 次元のベクトルである。 これを `c (2 <= c < n) ` 個 に分割することを考える。いま、 `mathbbx_j` が `k` 番めのクラスタに属する確からしさを `u_(kj)` とする。以下、これを帰属度と呼ぶ。 通常のクラスタリング(これをハードクラスタリングという)は、 `u_(kj)` は 0 か 1 の 2 値である`(u_(kj) in {0, 1})`が、ファジィ・クラスタリングでは 0 から 1 までの任意の値をとる`(u_(kj) in [0, 1])`ものとする。ただし、いずれの場合も k 番めのクラスタの帰属度は、 どれかのデータは 0 を超えること、 それから、一つのデータの各クラスタへの帰属度の合計は 1 になることが要請される。 式にすると次の通りだ。

`sum_j u_(kj) > 0 , sum_k u_(kj) = 1`

私が気になったのは、ファジィ c-means クラスタリングである。pp.136-140 にわたって解説されている。 ファジィ c-means 法は次の通りである。ここで、目的関数のほか、条件1と条件2は次の通りである。 `mathbbv_k` は、クラスタ `k` の中心となる `n` 次元ベクトルである。また、`U` は、 クラスタの帰属度`u_(kj)` を成分とする行列である。

目的関数: `J_m(U, mathbbv) = sum_(j=1)^n sum_(k=1)^c (u_(kj))^m ||mathbbx_j - mathbbv_k||^2, 1 <= m < oo`
条件 1: `hat u_(kj) = (sum_(g=1)^c ((||mathbbx_j-hat mathbbv_k||)/(||mathbbx_j - hat mathbbv_g||))^(2/(m-1)))^(-1), AA j, k`
条件 2: `hat mathbbv_k = (sum_(j=1)^n (hat u_(kj))^m mathbbx_j) / (sum_(j=1)^n (hat u_(kj))^m ), AA k`

条件1, 2 のもとで目的関数の極値を満たす `u_(kj), mathbbv_k` は、次のように求めることができる。 なお、各変数の右肩にある()内の数字は、反復の回数を表す。 また、収束を判断するための正の微小しきい値 `epsilon` が定義されているとする。

  1. `m`とクラスタ数`c`を仮定し,条件 1 でノルムを適当に定義する。 また,U の初期値 `U^((0))`を適当に与える。`U^((0))` は `u_(kj)` とは無関係かつランダムに選んでよい。反復の回数を `p` とし、`p = 0` とする。
  2. `U^((p))` と条件 2 を用いてクラスタ`k`の中心 `{mathbbv_k^((p))}` を計算する。
  3. `{mathbbv_k^((p))}` と条件 1 を用いて `U^((p + 1))` を求める。
  4. `||U^((p)) - U^((p-1))|| <= epsilon ` であれば終了する。上記が満たされなければ `p := p + 1` とし、 上記 2. 3. の手順を繰り返す。

一方で、ハード・クラスタリングでは次のようになる。 これは、一般に k-means 法と呼ばれるクラスタリングで、 上記で、m = 2 かつ `u_(kj)` は 0 か 1 の 2 値である`(u_(kj) in {0, 1})` 場合に相当する。

目的関数: `J(U, mathbbv) = sum_(j=1)^n sum_(k=1)^c u_(kj) ||mathbbx_j - mathbbv_k||^2`
条件 1: `hat u_(kj) = {(1, if k = argmin_(g) sum_(j = 1)^(n)(||mathbbx_j - hat mathbbv_g||)^2 ), (0, otherwise):}`
条件 2: `hat mathbbv_k = sum_(j=1)^n (hat u_(kj)) mathbbx_j , AA k`

こちらの手順は次の通り。

条件1, 2 のもとで目的関数を最小化する `u_(kj), mathbbv_k` は、次のように求めることができる。 なお、各変数の右肩にある()内の数字は、反復の回数を表すことは同じ。 収束を判断するための微小定数は必要ない。

  1. クラスタ数`c`を仮定し、 また U の初期値 `U^((0))` を適当に与える。`U^((0))` は `u_(kj)` とは無関係かつランダムに選んでよい。反復の回数を `p` とし、`p = 0` とする。
  2. `U^((p))` と条件 2 を用いてクラスタ`k`の中心 `{mathbbv_k^((p))}` を計算する。
  3. `{mathbbv_k^((p))}` と条件 1 を用いて `U^((p + 1))` を求める。
  4. クラスタの割り当てが変化しない(`U^((p))` と `U^((p+1))` が同じ) 場合は終了。それ以外の場合は `p := p + 1` とし、 上記 2. 3. の手順を繰り返す。

以上は理論的な話である。実際には初期値 `U` は既知の情報が生かしてもっともらしいグループにとるのがよい。 そうすれば収束もうまく進むだろう。

誤植

誤植表
ページ参考
56炉熱を関節的に示す炉熱を間接的に示す下から7行目
80フィジィモデルファジィモデル表3・5
142手首関接のX線写真手首関節のX線写真下から3行目

かんせつが鬼門のようだ。

表記方法

数式は、ASCIIMathMLを用いて表記している。

書誌情報

書 名応用ファジィシステム入門
著 者寺野 寿郎 他(編)
発行日
発行元オーム社
定 価円(本体)
サイズ
ISBN4274074811
NDC 501
その他??

まりんきょ学問所読んだ本の記録 > 応用ファジィシステム入門


MARUYAMA Satosi