カテゴリー:
統計
閲覧数:397 配信日:2016-08-25 09:32
一般的な流れ
データ数
・n
クラスタ数
・k
・まず事前に分割したいクラスター数を指定
1.シードをランダム選出
・サンプルの中から、予め設定した「分割したいクラスター数と同じ数のサンプル」をランダムに選出
・選出したサンプルをシード(seed = 種)と言う
2.各サンプルと各シードに対する距離を計算。各サンプルに最も近いシードを求める
・各サンプルを、「最も近いシードと同じクラスターに属する」と仮決定
3.クラスターの重心という架空の点をそれぞれ求める
・重心は、各クラスターの平均値をもとに算出
4.2度目のクラスター分け
・この重心を新しいシードとして、最初と同様に、それぞれのサンプルを「最も近いシード」と「同じクラスター」に属するよう「仮クラスター分け」
5.2度目の各クラスター重心を求める
・クラスター構成が変わったため、そのクラスターの平均値を表わす重心も移動
6.以下、「重心を求め、クラスタリングをしなおすという手法」を繰り返せなくなるまで継続
・全ての クラスタ割り当てが変化しなかった場合、あるいは変化量が事前に設定した一定の閾値を下回った場合に、収束したと判断して処理を終了する
・そうでない場合は新しく割り振られたクラスタから 重心 を再計算して上記の処理を繰り返す
結果
最初のクラスタのランダムな割り振りに大きく依存する
・1回の結果で最良のものが得られるとは限らない
対策案
1.何度か繰り返して行って最良の結果を選択する手法
2.k-means++法のように最初のクラスタ中心点の振り方を工夫する手法