k-means ステップ実行シミュレータ
—「割り当て」と「重心移動」を1手ずつ見る
k-means法はたった2つの手順——①各点を最寄りの重心に割り当てる ②重心をクラスタの平均へ動かす——の繰り返しです。 その1手1手を、目で追えるようにしました。初期値を変えると結果が変わる「局所解」もぜひ体験してください。
クラスタ内二乗和 WCSS: —
💡 キャンバスをクリックすると点を追加できます。
●=データ点(色は割り当てられたクラスタ)/ ✦=重心(クリックで点を追加できます)
k-meansのアルゴリズム — たった2手の繰り返し
- 初期化:k個の重心(クラスタの中心)を適当に置く
- 割り当てステップ:各データ点を、最も近い重心のクラスタに割り当てる
- 更新ステップ:各重心を、自分のクラスタに属する点の平均(重心)へ移動する
- 割り当てが変わらなくなる(=収束する)まで 2〜3 を繰り返す
このアルゴリズムは、次の目的関数(クラスタ内二乗和・WCSS)を小さくしていく手続きと解釈できます。
$$J = \sum_{i=1}^{k} \sum_{x \in C_i} \lVert x - \mu_i \rVert^2$$
割り当てステップも更新ステップも、\(J\) を減らす(増やさない)ことが保証されているため、 WCSSは単調に減少して必ず収束します。シミュレータのWCSS表示が、ステップのたびに減っていくのを確認してください。 ただし収束先は大域最適とは限らず、初期値によって異なる局所解に落ちます。
おさえるべき性質(E資格の観点)
- 教師なし学習:正解ラベルを使わず、データの構造(塊)を見つける
- kは自分で決めるハイパーパラメータ。WCSSの減り方が鈍る点を探すエルボー法などで選ぶ
- 初期値依存(局所解)がある → 複数回実行して最良を選ぶ/k-means++で初期重心を離して置く
- 距離は通常ユークリッド距離 → スケールの違う特徴量は標準化してから使う
- 「塊が球状」を暗黙に仮定 → 細長い・入り組んだクラスタは苦手(「一様ランダム」でも無理やりk個に割ってしまう点にも注目)
E資格 練習問題
k-means法に関する記述として、誤っているものはどれか。
- 各データ点を最も近い重心のクラスタへ割り当てるステップと、重心をクラスタ内の平均へ更新するステップを交互に繰り返す
- クラスタ内二乗和は反復のたびに単調に減少(非増加)し、アルゴリズムは収束する
- 初期値によらず、常に大域最適なクラスタリングが得られる
- クラスタ数kはあらかじめ与える必要がある
解答と解説を見る
正解:C が誤り
k-meansは局所解に収束するアルゴリズムで、初期値によって結果が変わります(このページで体験したとおりです)。
対策として複数回の実行や k-means++ 初期化が使われます。A・B・Dはいずれも正しい記述です。
とくにBの「単調減少・収束の保証」と C の「大域最適の保証はない」の対比は、選択肢として問われやすい急所です。
理論の位置づけ(教師なし学習・クラスタリングの全体像)は E資格の試験内容解説から、 実装して動かす体験は 機械学習入門コース・レッスン10(k-means)で深められます。
\ 公式LINE・登録無料 /
友だち追加で4大特典をプレゼント中🎁
E資格ミニ模試(全15問)/覚えておくべき数式チェック49本
医療現場の生成AI安全活用ガイド/医療AI用語事典100