クラスタリングは正解ラベルを持たないデータを、類似性に基づいて自動的にグループ化する教師なし学習手法です。
本稿では、アルゴリズムの思想ごとに分類し、それぞれの前提条件・強み・制約を明確に整理します。
目次
クラスタリング手法の体系的分類
クラスタリング手法は、概ね以下の6系統に整理できます。
- 分割型(Partitioning-based)
- 階層型(Hierarchical)
- 密度ベース(Density-based)
- モデルベース(Model-based)
- グラフ・スペクトラル系
- その他・発展的手法
以下、各カテゴリを順に解説します。
分割型クラスタリング(Partitioning-based)
基本思想
- クラスタ数を事前に指定
- データを複数のグループに直接分割
- 各クラスタは代表点(重心や実データ点)で表現される
K-means法
原理
- クラスタ数 k を指定
- 各クラスタの重心を初期化
- 各データ点を最も近い重心に割り当て
- 割り当て結果から重心を再計算
- 収束するまで反復
特性
- ユークリッド距離と平均との差を最小化
- 同程度の分散を持つ凸形状のクラスタに適合しやすい
注意点
- クラスタ数 k を事前に決める必要がある
- 初期値依存性がある
- 分散差・非凸形状・外れ値に弱い
K-medoids(PAM)
特徴
- クラスタ代表点として「実データ点」を使用
- K-meansより外れ値に対してロバスト
制約
- 計算コストが高く、大規模データには不向き
※ PAMはK-medoidsを実現する代表的アルゴリズムの一つ。
階層型クラスタリング(Hierarchical)
基本思想
- データ間の距離関係をもとに階層構造を構築
- クラスタ数は後から決定可能
- 結果はデンドログラム(樹形図)として表現される
凝集型(Agglomerative)
- 各データを1クラスタとして開始
- 距離が近いクラスタ同士を逐次統合
主なリンク法
- Single linkage(最近傍距離)
- Complete linkage(最遠距離)
- Average linkage(平均距離)
- Ward法(クラスタ内分散増加最小)
※ Ward法は通常ユークリッド距離前提であり、任意の距離尺度にそのまま適用できるわけではない点に注意。
計算特性
- 距離行列保持により メモリ計算量 O(n²) が発生
- 実装次第では時間計算量が O(n³) 方向に悪化する場合もある
- 中〜小規模データ向け
密度ベースクラスタリング(Density-based)
基本思想
- データ密度が高い領域をクラスタとして抽出
- 低密度領域はノイズとして扱う
DBSCAN
主なパラメータ
- ε(近傍半径)
- minPts(最小近傍点数)
特徴
- クラスタ数を事前指定しない
- 任意形状のクラスタを検出可能
- 外れ値を自然に分離できる
制約
- 単一の密度基準のため、密度が異なるクラスタ混在には弱い
- パラメータ調整が難しい
HDBSCAN
- DBSCANを階層的に拡張した手法
- 複数密度レベルを扱える
- クラスタの安定性に基づいて抽出
※ 単なる改良版というより、密度ベース+階層構造のハイブリッドと捉える方が正確。
モデルベースクラスタリング(Model-based)
基本思想
- データは確率分布から生成されていると仮定
- 統計モデルを用いてクラスタを推定
Gaussian Mixture Model(GMM)
原理
- 各クラスタを正規分布として仮定
- EMアルゴリズムでパラメータ推定
特徴
- 楕円形状のクラスタに対応
- 各データの所属確率が得られる(ソフトクラスタリング)
注意点
- 正規分布仮定に依存
- 外れ値により平均・共分散が影響を受けやすい
- 計算コストはやや高め
グラフ・スペクトラル系クラスタリング
基本思想
- データをグラフ構造として表現
- 類似度行列を分割することでクラスタを抽出
スペクトラルクラスタリング
特徴
- 非線形構造のクラスタに強い
- 複雑な形状を扱える
制約
- 類似度行列作成・固有値分解が必要
- 計算量・メモリ使用量が大きく、大規模データには不向き
その他・発展的クラスタリング手法
Mean Shift
- 密度のピークを探索
- クラスタ数は自動決定
- 帯域幅(bandwidth)の設定に強く依存
- 計算コストが高い
OPTICS
- DBSCANの拡張
- 密度変化に強く、クラスタ構造を連続的に捉える
BIRCH
- 大規模データ向け
- 階層型と分割型のハイブリッド
深層学習ベース手法
- AutoEncoderなどで特徴表現を学習
- 低次元空間でクラスタリングを実行
手法選択の整理
| 条件 | 適した系統 |
|---|---|
| 高速処理が必要 | 分割型 |
| 外れ値が多い | 密度ベース |
| クラスタ数が不明 | 階層型・密度ベース |
| 非線形構造 | スペクトラル |
| 確率的解釈が必要 | モデルベース |
| 大規模データ | BIRCH等 |
まとめ
- K-means:高速・単純だが形状制約あり
- 階層型:構造理解に優れるが計算量に注意
- 密度ベース:ノイズ耐性が高い
- GMM:柔軟で確率的だが仮定に依存
- スペクトラル:複雑構造向けだが計算負荷大
クラスタリングではデータの構造・分布・規模・距離尺度を踏まえた手法選択が不可欠です。
以上、クラスタリングの手法の種類についてでした。
最後までお読みいただき、ありがとうございました。
