K-means とクラスタ形状

K-meansが球状クラスタに強く、非球状クラスタでは失敗しやすい理由を可視化で解説します。

ClusteringKMeansUnsupervised Learning

はじめに

K-means は代表的なクラスタリング手法ですが、クラスタが丸い(等方的)形であることを暗黙に仮定しています。

そのため、

  • 球状クラスタにはうまく働く
  • 細長い・曲がった・密度が不均一なクラスタには弱い

という性質があります。

1. K-means の目的関数

K-means は次を最小化します。

k=1KxiCkxiμk2\sum_{k=1}^{K}\sum_{x_i\in C_k}\|x_i-\mu_k\|^2

各点を「最も近い重心」に割り当てるので、境界は線形(Voronoi分割)になります。

2. うまくいくケース

  • クラスタが同程度の大きさ
  • ほぼ球状
  • 分散が似ている

この条件では、重心ベースの分割が自然です。

3. 失敗しやすいケース

  • 三日月型やリング状
  • 分散やサイズが大きく異なる
  • 外れ値が多い

このようなとき、距離最小化だけでは本来の構造を捉えにくくなります。

4. 代替手法

非球状データには、次の手法が有効な場合があります。

  • DBSCAN(密度ベース)
  • GMM(楕円形クラスタを許容)
  • スペクトラルクラスタリング

インタラクティブデモ

下のデモでは、球状クラスタと非球状クラスタで K-means の挙動を比較できます。

K-means Clustering Comparison Demo

Compare k-means performance on circular vs. non-circular data side by side

Circular Data

Iteration: 0
SSE: 0.0
Status:Running

Non-circular Data

Iteration: 0
SSE: 0.0
Status:Running

Key Learning Points

Left (Circular Data):

Spherical clusters that k-means handles well. Clean separation achieved in few steps.

Right (Non-circular Data):

Non-spherical clusters that k-means struggles with. Forces linear boundaries on curved structures.

まとめ

  • K-means は高速で実装しやすいが、仮定が強い。
  • 「クラスタ形状が球状か」を先に確認することが重要。
  • データの形に応じて手法を選ぶと、クラスタリング結果は大きく改善する。
← 図鑑に戻る