クラスタリングは、正解ラベルなしでデータを「似たもの同士のグループ(クラスタ)」に分ける教師なし学習の代表的なタスクです。分割型の代表であるk-meansと、併合の過程を木構造で表す階層的クラスタリングの2系統を押さえることがこの項目の目標です。

※この項目はシラバス2026では出題対象外(オプション)ですが、前提知識として重要なため解説します。

📖 概要

クラスタリングの手法は大きく2系統に分けられます。1つは、あらかじめ決めたクラスタ数kにデータを分割する非階層的(分割型)クラスタリングで、代表がk-meansです。もう1つは、データ点を1つずつのクラスタから出発して近いクラスタ同士を順に併合していく階層的クラスタリング(凝集型)で、併合の履歴をデンドログラムという樹形図で表せるのが特徴です。

階層的クラスタリングでは「クラスタ同士の近さ」の定義(連結法)によって結果が変わります。代表的な連結法として、全ペアの平均距離を使う群平均法や、併合による分散(平方和)の増加を最小にするウォード法があり、実用ではウォード法が使われることが多いです。

どちらの系統にも一長一短があります。k-meansは大規模データに高速ですがkの事前指定と初期値依存が課題で、階層的クラスタリングはクラスタ数を後から選べる柔軟さがある一方、計算量が大きく大規模データには不向きです。

🔍 キーワード解説

k-means

k-meansは、データをk個のクラスタに分割する非階層的クラスタリングの代表手法です。手順は、(1) k個のクラスタ中心(セントロイド)を初期化、(2) 各データ点を最も近い中心に割り当て、(3) 各クラスタの中心を所属点の平均に更新、(4) 割り当てが変化しなくなるまで(2)(3)を繰り返す、というものです。各点と所属クラスタ中心との距離の二乗和を目的関数として、これを単調に減少させるアルゴリズムと解釈できます。結果は初期値に依存し局所解に陥ることがあるため、初期化を工夫したk-means++や複数回実行が使われることが多いです。また、クラスタ数kは事前に与える必要があり、エルボー法やシルエット分析などが選択の目安に使われます。

階層的クラスタリング

階層的クラスタリング(凝集型)は、最初に全データ点をそれぞれ1つのクラスタとみなし、最も近い2つのクラスタを併合する操作を、全体が1つになるまで繰り返す手法です。併合の全履歴が階層構造として残るため、クラスタ数を事前に決める必要がなく、後から階層を任意の高さで切ることで好きな粒度のクラスタリングを得られます。一方、クラスタ間距離の計算を繰り返すため計算コストが高く、データ数が大きい場合には不向きとされます。

デンドログラム

デンドログラムは、階層的クラスタリングの併合過程を表す樹形図です。横軸(または縦軸)にデータ点、もう一方の軸に併合が起きたときのクラスタ間距離をとり、どの点同士がどの距離で結合したかを枝分かれ構造で示します。デンドログラムをある高さで水平に切ると、そのときの枝の本数がクラスタ数になるため、距離の飛び(枝が長い箇所)を見てクラスタ数を決める、といった使い方ができます。

群平均法

群平均法は、クラスタ間の距離を「2つのクラスタに属する全ての点のペアの距離の平均」で定義する連結法です。最も近い1ペアで測る単連結法(最短距離法)は細長い鎖状のクラスタができやすく、最も遠い1ペアで測る完全連結法(最長距離法)は外れ値に敏感、という両極端の中間的な性質を持ち、バランスの取れた結果になりやすいとされます。

ウォード法

ウォード法は、「2つのクラスタを併合したときに、クラスタ内の平方和(各点とクラスタ重心との距離の二乗和)がどれだけ増えるか」を距離とみなし、その増加量が最小になるペアから併合していく連結法です。クラスタ内のばらつきを最小に保つという明確な基準を持ち、大きさの揃ったまとまりの良いクラスタが得られやすいため、実用上よく選ばれます。k-meansと同じく平方和を基準にしている点で、両者は考え方に共通性があります。

📝 試験でのポイント

💡 ポイント
  • k-meansのアルゴリズムの手順(割り当てと中心更新の繰り返し)を並べ替え・穴埋めで問う形式が定番です
  • k-meansの弱点(kの事前指定・初期値依存・局所解)と対策(k-means++等)を押さえましょう
  • 「非階層的(k-means)vs 階層的」の対比: クラスタ数の指定の要否、計算量、デンドログラムの有無を整理しましょう
  • 連結法の対比が頻出です: 単連結・完全連結・群平均法・ウォード法それぞれの距離の定義と性質を区別できるようにしましょう
  • デンドログラムを「どの高さで切るとクラスタ数がいくつになるか」を読み取る問題に対応できるようにしましょう

📚 まとめ

クラスタリングは、kを決めて分割するk-meansと、併合の履歴をデンドログラムで表す階層的クラスタリングの2系統で整理できます。階層的手法ではクラスタ間距離の定義が結果を左右し、平均距離を使う群平均法、平方和の増加を最小にするウォード法が代表です。各手法の距離の定義と長所・短所の対比を確実に押さえましょう。