2.5.2
k-means++
まとめ
- k-means++ はセントロイド同士の距離が離れるように初期化し、k-means が局所解に陥るリスクを下げます。
- 新しいセントロイドは既存のセントロイドからの距離二乗に比例する確率で選ばれるため、代表点が偏りにくくなります。
scikit-learnではKMeans(init="k-means++")を指定するだけで利用でき、ランダム初期化との違いを容易に比較できます。- 大規模データやオンライン処理では、k-means++ を土台にした mini-batch k-means などの派生手法が広く使われています。
直感 #
k-means++ | スマートな初期重心でk-meansを安定化するの要点は、データの性質に合わせて前提を確認し、適切な評価指標で挙動を検証することにあります。