K-means とクラスタ形状
K-meansが球状クラスタに強く、非球状クラスタでは失敗しやすい理由を可視化で解説します。
ClusteringKMeansUnsupervised Learning
はじめに
K-means は代表的なクラスタリング手法ですが、クラスタが丸い(等方的)形であることを暗黙に仮定しています。
そのため、
- 球状クラスタにはうまく働く
- 細長い・曲がった・密度が不均一なクラスタには弱い
という性質があります。
1. K-means の目的関数
K-means は次を最小化します。
各点を「最も近い重心」に割り当てるので、境界は線形(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 は高速で実装しやすいが、仮定が強い。
- 「クラスタ形状が球状か」を先に確認することが重要。
- データの形に応じて手法を選ぶと、クラスタリング結果は大きく改善する。