クラスタリング手法
手法の分類
大きく分けて階層的手法と非階層的手法の二つ
階層的クラスタリング
距離が近いものからくっつけていく。または逆に遠いものを別クラスタに分ける。
最終的にツリー状のデンドログラムを書ける。
様々なクラスター間距離(類似度)の測定方法がある。
NN(Nearest Neighbor)法、最短距離法
対象すべたの組み合わせに関して距離を求めて、最も近い距離をクラスタ間の距離とする
処理が終わるまで生成されるクラスタの数が不明
分類感度は低い
連鎖する
本によってしきい値があったり無かったり説明が違う気がする。。
K-NN(K Nearest Neighbor)法
ある標準パターンからの距離で小さい順にソートし、上からK番目までのクラスタに重複して属させる。
他はNN法と同様。
NN法と同様にしきい値に大きな影響を受ける。
Ward法
階層的クラスタリングの代表的な手法
クラスター内の平方和を最小にするように併合する
最長距離法
NN法と逆に、最大距離をクラスターの距離とする。
群平均法
各クラスタ内のすべての対象間の距離の平均をとったものをクラスタ間の距離とする
重心法
各クラスタの重心(平均)を求めて、重心間の距離をクラスターの距離とする
単純
非階層的クラスタリング
K-Means法、K-平均アルゴリズム
クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた
K個のクラスタ(の標準パターン)を適当に決める
あるパターンを1番近いクラスタCjに属させる
クラスタCjの標準パターンを補正する。Cjに属するパターンの平均を求めてそれを新しい標準パターンとする。
クラスタの数はK個
いくつかのKについて実行して最適なKを求める必要がある。
???
自己組織化マップ(Kohonenネットワーク)
最小平均分散法
K-平均アルゴリズムと同様にあらかじめクラスタ数Kを指定する
あるパターンPが、あるクラスタCに属するパターンの標準パターンからの距離の平均より近ければ、PをCに属させる。
重心法とK-Means法を組み合わせたっぽい
他にもたくさん提案されている。
手法の選択
まず、計算量の少ないK-Means法を用いると良い。
階層構造が必要な場合はWard法か群平均法を用いる。
その結果に不満なら最短距離法や最長距離法を用いる。
参考
参考にしたページや本
分かりやすい
階層的クラスタリング
分岐型
凝集型
最短距離(Nearest Neighbor)法
最長距離(Furthest Neighbor)法
群平均(Group Averate)法
ウォード(Ward)法
分割最適化クラスタリング(Partitional, Optimization などとも呼ぶ)
K平均(K-Means)法
これも分かりやすい
リンクがたくさん
「画像の処理と認識」
教科書っぽい
「データマイニング入門 Rで学ぶ最新データ解析」
会話風で読みやすい