基礎・機械学習

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

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

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

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

試験で問われる見方

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

○:誤差逆伝播法はニューラルネットの勾配計算であり、クラスタ中心の更新はk-meansの話TF-073のすり替え)。

×:k-means=分類、 k-means=ロジスティック回帰、など他手法の説明(G-032、G-117の誤答パターン)。

演習で確認する

G検定:TF-032TF-073G-068

アルゴリズムの流れ

  1. k 個の重心を初期化(ランダムにデータ点を選ぶなど)
  2. 各点を最も近い重心のクラスタへ割り当て
  3. 各クラスタの重心を再計算(メンバーの平均位置)
  4. 割り当てが変わらなくなるまで 2–3 を繰り返す

各ステップでクラスタ内の二乗誤差和が単調減少するため、局所最適解に収束します。初期値によって結果が変わるため、複数回実行して最良を選ぶこともあります。

最小化する量

k-meansは、各データ点と所属クラスタ重心との距離の二乗和(クラスタ内誤差)を小さくするようにクラスタを形成します。

正解ラベルは使いません。教師あり学習の分類が「既知のクラス名に割り当てる」ことに対し、k-meansはラベルなしでグループを発見します。

クラスタ数k

k は人が事前に決めるハイパーパラメータです(TF-032)。k が小さすぎると粗い分類、大きすぎると過分割になります。

手法概要
エルボー法クラスタ内誤差の曲線が折れ曲がる点を探す
シルエット係数クラスタの分離度と凝集度を評価
ドメイン知識「顧客を3セグメントに分けたい」など業務要件

他手法との違い

手法学習の種類特徴
k-means教師なしk を指定、重心ベース、高速
階層的クラスタリング教師なしデンドログラム、ウォード法など(G-069)
DBSCAN教師なし密度ベース、k不要、任意形状
ロジスティック回帰教師あり分類。k-meansとは別(G-032)

限界

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

外れ値に敏感で、スケールの異なる特徴量では正規化が必要です。試験では「万能のクラスタリング手法」ではない点を押さえておきましょう。

すり替えに注意

誤った説明正しい理解
k-meansは教師あり学習正解ラベル不要の教師なし
k-means=誤差逆伝播で中心更新誤差逆伝播はNN用(TF-073)
k-means=分類手法分類は教師あり。クラスタリングはラベルなし
クラスタ数は自動決定k は事前指定が基本(TF-032)

よくある質問

k-meansは教師あり?

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

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

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

k-means++とは?

初期重心の選び方を改善する手法です。ランダム初期化より安定しやすいことが多いです。G検定では基本手順が中心です。

発見したクラスタに名前を付けられる?

アルゴリズムは名前を付けません。分析者がクラスタの特徴を見て「若年層」「高頻度購入」などと解釈します。