Ch.10
K-meansクラスタリング:ラベルなしでグループ化
正解ラベルなしでデータだけを見て似たもの同士をまとめる教師なし学習の代表アルゴリズムです。Ch01で学んだ「教師なし」が実際にどう動くか、距離でK個のグループ(クラスタ)を作るK-meansで、概念→直感→数式→実践の順に学びます。Ch02のKNNで使った距離の式を再利用し、繰り返しでまとまりがはっきりする様子を視覚化とともに習得します。
チャプター別 機械学習図
チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。機械学習の流れを一覧で確認できます。
最も近い中心に割り当て、中心を属する点の平均に更新することを繰り返します。
① データ — ラベルのない点が特徴空間に散らばっている
点: データ
K-meansクラスタリング:ラベルなしでグループ化
K-meansとは? — ラベルがなくデータだけのとき、最も近いもの同士でK個のグループに分けるアルゴリズムです。「近い」はCh02と同様ユークリッド距離で測ります。各グループは代表点(セントロイド)で要約され、「各点を最も近い中心に割り当て」→「各クラスタの点の平均で中心を更新」を収束まで繰り返します。
Kは「いくつのグループに分けるか」 — K-meansではクラスタ数Kを人が事前に決めます。K=2なら2つ、K=3なら3つに分かれます。正解ラベルがないため「どのクラスタが正解か」は分からず、「似たもの同士がまとまった結果」だけが得られます。
目的:クラスタ内距離の和(SSE)の最小化 — 最小化するのは歪み(SSE)です。中心の更新式は「そのクラスタに属する点の座標の平均」で、こう動かすとそのクラスタのSSEが減ります。
数式に抵抗がある場合 — 距離の式は「1点と1つの中心の間の長さ」を測るだけです。SSE は「クラスタがどれだけまとまっているか」を1つの数にしたもので、中心の更新式は「そのクラスタの点の座標の平均」を求める式です。下の数式の読み方で記号ごとに説明しています。
なぜ重要か
Ch01教師なし学習の代表例 — K-meansは「ラベルなしで構造・クラスタを見つける」を実際に実装した代表アルゴリズムです。顧客セグメンテーション、文書・画像クラスタリング、異常検知の前処理などで最初に試す手法です。
顧客セグメンテーション — 購買履歴だけがあり顧客タイプのラベルがないとき、K-meansで似た顧客をまとめ、人が各クラスタに意味(VIP・一般・離脱リスクなど)を付けて活用します。
直感的で実装が簡単 — 割り当て(最近傍の中心)と更新(平均)だけの反復なので実装しやすく、2次元で可視化すると「まとまる」過程が確認しやすいです。
どのように使われるか
クラスタリング — 顧客セグメンテーション、トピック・文書のまとめ、画像の色・領域圧縮、遺伝子発現のグループ化など。
前処理・特徴要約 — クラスタ番号を新特徴として教師ありモデルに入れたり、クラスタ代表だけ残してデータを圧縮したりする用途で使います。
Kの選択 — Kは利用者が決めます。複数のKでSSE・シルエットなどを見て、肘の位置や解釈しやすさで選びます。