基礎・機械学習

k-means法とは?k-means・重心とクラスタ数

読み:けいみーんずほう / 英:k-means

更新日: 読了目安:約6分

k-means法(k-means/k平均法)は、クラスタ数 k を事前に指定し、各データを最も近い重心に割り当てながら重心を更新する教師なし学習の代表的手法です。本記事は収束証明の数学ではなく、試験で問われる手順・k の意味・他手法との違いに焦点を当てます。

試験で問われる見方

○:k-meansはあらかじめ指定した数のクラスタにデータを分ける(TF-032)。割り当てと重心更新を繰り返す教師なし学習

演習で確認する

G検定:TF-032G-068機械学習の要素技術

アルゴリズムの流れ

  1. k 個の重心を初期化(ランダムなど)
  2. 各点を最も近い重心のクラスタへ割り当て
  3. 各クラスタの重心を再計算(平均位置)
  4. 収束するまで 2–3 を繰り返す

クラスタ数k

k は人が事前に決めるハイパーパラメータです。k が小さすぎると粗い分類、大きすぎると過分割になります。エルボー法やシルエット係数などで探索することがあります。

限界

クラスタが球状・サイズが近いときに向きます。細長いクラスタや密度差が大きいデータでは DBSCAN など別手法が選ばれることもあります。

よくある質問

k-meansは教師あり?

いいえ。正解ラベルは使いません。教師なし学習のクラスタリングです。

分類とクラスタリングの違いは?

分類は教師ありで既知のクラス名に割り当て、クラスタリングはラベルなしでグループを発見します。