クラスタ分析は、教師なし学習の枠組みにおいて、多変量データの内在的構造に基づき、類似した観測同士を同一のグループ(クラスタ)に分割する手法である。クラスラベルが与えられない状況で、距離や類似度の概念を用いてデータの分割を行う点に特徴がある。
$n$ 個の観測 $\boldsymbol{x}_1, \dots, \boldsymbol{x}_n \in \mathbb{R}^p$ が与えられているとする。クラスタ分析の目的は、これらを $K$ 個のクラスタ $\mathcal{C}_1, \dots, \mathcal{C}_K$ に分割することであり、各観測がいずれか1つのクラスタに属するような分割
\[\bigcup_{k=1}^K \mathcal{C}_k = \{1, \dots, n\}, \quad \mathcal{C}_k \cap \mathcal{C}_\ell = \emptyset \ (k \neq \ell)\]を求める問題である。
クラスタリングは観測間の距離または類似度に依存する。代表的な距離としてユークリッド距離
\[d_{ij} = \|\boldsymbol{x}_i - \boldsymbol{x}_j\|^2 = \sqrt{\sum_{k=1}^p (x_{ik} - x_{jk})^2}\]が用いられるが、マンハッタン距離やマハラノビス距離なども目的に応じて選択される。
各クラスタの重心(平均)を $\boldsymbol{\mu}_k$ とすると、クラスタ内平方和
\[W = \sum_{k=1}^K \sum_{i \in \mathcal{C}_k} \|\boldsymbol{x}_i - \boldsymbol{\mu}_k\|^2\]を最小化するようにクラスタ分割を求める:
\[\min_{\mathcal{C}_1,\dots,\mathcal{C}_K} W\]反復的に以下を行う:
このアルゴリズムは単調に目的関数を減少させるが、局所最適解に収束するため初期値に依存する。
各観測を初期クラスタとし、距離の近いクラスタを逐次統合する方法である。クラスタ間距離の定義として
などがある。
全体を1つのクラスタとして出発し、逐次分割していく方法である。
階層構造は樹形図(デンドログラム)として可視化され、適切な高さで切断することでクラスタ数を決定する。
クラスタリングを確率モデルとして定式化する方法として、混合分布モデルがある。例えばガウス混合モデルでは
\[f(\boldsymbol{x}) = \sum_{k=1}^K \pi_k \mathcal{N}_p(\boldsymbol{x} \mid \boldsymbol{\mu}_k, \Sigma_k)\]と表される。潜在変数 $Z_i \in \{1,\dots,K\}$ を導入し、EMアルゴリズムによりパラメータを推定する。
反復的に以下を行う:
k-meansは分散が等しい場合の極限として解釈できる。
クラスタ数 $K$ は事前に与えられないことが多く、以下のような基準により選択される:
クラスタ分析は距離や確率モデルに基づき、データの内在構造を抽出する教師なし学習手法である。k-meansや階層的クラスタリング、混合分布モデルなど多様な方法が存在し、それぞれ異なる仮定と最適化原理に基づく。実際の応用においては、距離の選択、クラスタ数の決定、およびデータの前処理が重要な役割を果たす。
Mathematics is the language with which God has written the universe.