k-means法

k-Means Clustering

k-means法(k-Means Clustering)とは、データをk個のクラスタに分割するクラスタリングアルゴリズムです。シンプルで高速なため、最も広く使われているクラスタリング手法の一つです。

アルゴリズムの手順

①k個の初期中心点をランダムに配置→②各データ点を最も近い中心点のクラスタに割り当て→③各クラスタの平均値を新しい中心点とする→②③を中心点が収束するまで繰り返す、という手順で動作します。

表:k-means法の要点まとめ
ひとことで言うとデータをk個のグループに分ける、最も基本的なクラスタリング手法。
どこで使う顧客セグメンテーション、店舗の類型化、商品のグループ分け。
注意点グループ数kは人が決める。初期値で結果が変わるので複数回試す。

初期値の影響とk-means++

k-meansは初期中心点の選び方に結果が左右されます。k-means++は初期中心点を互いに離れた位置に配置する改良手法で、より良いクラスタリング結果を得やすくします。

図:k-means法の手順
1k個の中心を置く最初はランダム
▶
2近い中心に割当各データを所属させる
▶
3中心を計算し直す各グループの平均位置へ
▶
4変化しなくなるグループが確定
↺ 2〜3を、割り当てが変わらなくなるまでくり返す

k-meansの限界

球状のクラスタを仮定しているため、不規則な形状のクラスタには不向きです。また、外れ値に敏感で、クラスタ数kを事前に指定する必要があります。これらの限界を補うDBSCANやGMMなどの手法もあります。