隠れた構造を見つける問題

この三つの関係は分かったようで、すぐ忘れてしまう。また混乱するであろう未来の自分のためにまとめておく。(Claudeの助けを借りて作成した。)

データがある。ラベルはない。しかし目で見ると何かしらの「塊」が見える。

この塊を自動的に見つけ出すのがクラスタリングだ。ここには根本的な問いが隠れている。

「各データがどの塊に属するのか」——この隠れた情報をどう推定するか?

この問いに答える三つの手法がある。K-means、GMM、EMアルゴリズム。驚くべきことに、この三つは独立した手法ではなく、マトリョーシカのように互いに入れ子になっている構造だ。


graph LR
    subgraph EM["EMアルゴリズム"]
        subgraph GMM["GMM"]
            K["K-means"]
        end
    end
    style EM stroke:#2196F3,stroke-width:2px
    style GMM stroke:#FF9800,stroke-width:2px
    style K stroke:#E91E63,stroke-width:2px


K-means:ハサミで切る

K-meansは最も直感的なクラスタリングだ。アルゴリズムは二つのステップを繰り返す。

  1. 各データを最も近い中心に割り当てる(Assign)
  2. 各グループの平均に中心を移動する(Update)

graph TD
    A["中心点を初期化"] --> B["各データを
最も近い中心に割り当て"] B --> C["中心をグループ平均に
移動"] C --> D{"変化あり?"} D -->|"はい"| B D -->|"いいえ"| E["完了"]

核心的な特性はhard assignmentだ。各データは必ず一つのクラスタにのみ属する。「70%はA、30%はB」のようなことは許されない。

K-meansが最小化するのは結局これだ:

$$J = \sum_{k=1}^{K} \sum_{x_i \in C_k} |x_i - \mu_k|^2$$

各データと所属クラスタ中心の間の距離の総和。単純で速い。しかし仮定が強い。

  • 全てのクラスタが球形である
  • 全てのクラスタのサイズが似ている
  • 境界がナイフで切ったように明確である

現実のデータは普通こんなに綺麗ではない。


GMM:雲で包む

Gaussian Mixture ModelはK-meansの仮定を緩和する。各クラスタを「点」ではなく「雲」(ガウス分布)としてモデル化する。

$$p(x) = \sum_{k=1}^{K} \pi_k \cdot \mathcal{N}(x | \mu_k, \Sigma_k)$$

  • $\pi_k$:クラスタ$k$の割合(混合重み)
  • $\mu_k$:クラスタ$k$の中心
  • $\Sigma_k$:クラスタ$k$の形と大きさ(共分散行列)

K-meansとの決定的な違いはsoft assignmentだ。各データに対して「このデータがクラスタ$k$から生成された確率」を計算する。

$$r_{ik} = \frac{\pi_k \cdot \mathcal{N}(x_i | \mu_k, \Sigma_k)}{\sum_j \pi_j \cdot \mathcal{N}(x_i | \mu_j, \Sigma_j)}$$

この$r_{ik}$をresponsibility(責任度)と呼ぶ。「クラスタ$k$がデータ$x_i$に対してどれだけ責任があるか」という意味だ。

K-meansGMM
クラスタ形状球形のみ楕円形、様々なサイズ
割り当て方式hard(0か1)soft(確率値)
パラメータ中心点のみ中心、共分散、混合比
結果の解釈「このデータはAだ」「このデータはAである確率80%」

EMアルゴリズム:隠れたものを見つける一般原理

GMMのパラメータをどう学習するか?データがどのクラスタから来たか分かれば簡単だ。しかしそれこそが知りたい情報だ。鶏が先か卵が先かの状況である。

クラスタ所属が分かればパラメータを求められるし、パラメータが分かれば所属を求められる。

EM(Expectation-Maximization)アルゴリズムはこの膠着状態を「交互に」解いていく。

  • E-step(Expectation):現在のパラメータで潜在変数の期待値を計算する
  • M-step(Maximization):その期待値を使ってパラメータを更新する

graph TD
    A["パラメータ初期化 θ⁰"] --> B["E-step
現在のθで潜在変数の
事後確率を計算"] B --> C["M-step
事後確率を使って
パラメータ更新"] C --> D{"収束?"} D -->|"いいえ"| B D -->|"はい"| E["最終パラメータ θ*"]

GMMに適用すると:

  • E-step:responsibility $r_{ik}$を計算(各データが各クラスタに属する確率)
  • M-step:$r_{ik}$を重みとして$\mu_k$、$\Sigma_k$、$\pi_k$を更新

EMはGMMだけに使われるものではない。潜在変数がある全ての確率モデルに適用可能な一般フレームワークだ。Hidden Markov Model、トピックモデルなどにも全てEMを使う。


核心的洞察:K-meansはGMMの極限である

ここで最も興味深い繋がりが明らかになる。GMMに以下の条件を課すと:

  1. 全クラスタの共分散を$\sigma^2 I$に固定(球形、同一サイズ)
  2. $\sigma \to 0$とする

するとresponsibility $r_{ik}$はどうなるか?

$$\lim_{\sigma \to 0} r_{ik} = \begin{cases} 1 & \text{if } k = \arg\min_j |x_i - \mu_j|^2 \ 0 & \text{otherwise} \end{cases}$$

soft assignmentがhard assignmentに変わる。最も近いクラスタに確率1、それ以外に確率0。これはK-meansのassignステップと正確に同じだ。

直感的に理解すると:分散$\sigma^2$は「クラスタの雲の広がり具合」だ。雲が極端に鋭くなると(分散→0)、各雲は点になり、softな境界はナイフで切ったような境界になる。


graph LR
    A["GMM
σ²大きい
広がった雲"] --> B["GMM
σ²小さい
鋭い雲"] B --> C["K-means
σ² → 0
点"] A -.- D["soft assignment
確率的境界"] C -.- E["hard assignment
明確な境界"] style A stroke:#2196F3,stroke-width:2px style B stroke:#FF9800,stroke-width:2px style C stroke:#E91E63,stroke-width:2px

EMの保証:毎反復ごとに改善する

EMアルゴリズムが機能する理由は何か?核心はELBO(Evidence Lower Bound)にある。

最大化したいのはlog-likelihood $\log p(X|\theta)$だ。直接最大化が困難な時、EMはこの下界(lower bound)を反復的に引き上げる。

$$\log p(X|\theta) \geq \underbrace{E_{q(Z)}[\log p(X,Z|\theta)] + H[q(Z)]}_{\text{ELBO}}$$

  • E-stepはELBOを$\log p(X|\theta)$に密着させる(下界を最大限引き上げる)
  • M-stepは密着したELBOをさらに上げる(パラメータ改善)

この過程でlog-likelihoodは絶対に減少しない。毎反復ごとに単調増加が保証される。ただし大域最適(global optimum)に到達する保証はなく、局所最適(local optimum)に陥ることがある。


情報幾何学の視点

ここからもう一歩踏み込むと、EMアルゴリズムの動作原理が情報幾何学の言葉で綺麗に説明できる。

EM = KLダイバージェンスを反復的に減らす過程

E-stepとM-stepはそれぞれ異なるKLダイバージェンスを最小化する過程として見ることができる。

  • E-step:$q(Z)$と$p(Z|X,\theta)$の間のKLダイバージェンスを0にする。

$$q^*(Z) = \arg\min_q D_{KL}(q(Z) | p(Z|X,\theta)) = p(Z|X,\theta)$$

  • M-step:モデル分布とデータ分布の間のKLダイバージェンスを減らす。

$$\theta^* = \arg\min_\theta D_{KL}(p_{\text{data}} | p_\theta)$$

つまりEMは「二種類の距離を交互に縮めていく過程」だ。一回は潜在変数空間で、一回はパラメータ空間で。


graph TD
    A["現在の状態"] --> B["E-step
q(Z)とp(Z|X,θ)の間の
KL divergence → 0"] B --> C["M-step
モデルとデータの間の
KL divergence ↓"] C --> D["より良い状態"] D --> B style B stroke:#4CAF50,stroke-width:2px style C stroke:#FF9800,stroke-width:2px

パラメータ空間は平坦ではない

通常のgradient descentはパラメータ空間をユークリッド空間(平坦な空間)として扱う。しかし確率分布のパラメータ空間は曲がっている。

例えば、ガウス分布の平均を$\mu=0$から$\mu=1$に変えることと、$\mu=100$から$\mu=101$に変えることは「パラメータの数値上」同じ大きさの変化だ。しかし分布の形が変わる程度は分散($\sigma^2$)によって全く異なる。分散が小さければ分布は大きく変わり、分散が大きければほとんど変わらない。

この「実際に分布がどれだけ変わるか」を測定するのがFisher informationだ。

$$F_{ij}(\theta) = E_{p_\theta}\left[\frac{\partial \log p_\theta(x)}{\partial \theta_i} \cdot \frac{\partial \log p_\theta(x)}{\partial \theta_j}\right]$$

Fisher informationはパラメータ空間の曲率を教えてくれる「計量テンソル(metric tensor)」だ。これを使ってgradientを補正するとnatural gradientになる。

$$\Delta\theta = -F(\theta)^{-1} \nabla_\theta \ell(\theta)$$

EM ≈ Natural Gradient

Amari(1998)の結果によれば、EMアルゴリズムの更新はnatural gradient descentと等価であることが知られている。つまりEMは自動的にパラメータ空間の曲率を考慮して、「情報的に最も効率的な方向」にパラメータを更新する。

これがEMが単純なgradient descentより収束が速い場合が多い理由だ。平坦な座標系での最短経路ではなく、確率分布空間での最短経路に沿って移動するからだ。

K-means → GMM → EMの情報幾何学的階層

手法情報幾何学的解釈
K-means各データをδ-分布(点分布)に割り当て。分布間KLダイバージェンスが無限大か0のみ許容
GMM-EMガウス分布たちの多様体(manifold)上で最適な混合を求める射影(projection)
EM(一般)潜在変数モデルが定義する確率多様体上でのnatural gradient降下

GMMにおけるFisher Informationと「慣性」

GMM観点でFisher informationの直感をもう一つ付け加えると:

  • あるクラスタのresponsibilityが高いデータが多い → そのクラスタのパラメータに対するFisher informationが大きい → パラメータが簡単には変わらない(「慣性」が大きい)
  • 逆にresponsibilityが曖昧な(複数クラスタにまたがる)データが多い領域ではFisher informationが小さい → パラメータが容易に変わる(「柔軟」)

確信のある割り当てほど安定的で、不確実な領域ほど敏感に反応するのだ。物理的な比喩に戻れば、質量の大きい物体(確固たるクラスタ)は押されにくく、質量の小さい物体(不確実なクラスタ)は少しの力でも大きく動く。


まとめ:一つの根から三つの枝へ


graph TD
    EM["EMアルゴリズム
潜在変数がある全モデルの
MLEのための一般フレームワーク"] GMM["GMM
潜在変数 = クラスタ所属
観測モデル = ガウシアン"] KM["K-means
GMMでσ→0
soft → hard assignment"] IG["情報幾何学的解釈
EM = natural gradient
パラメータ空間の曲率を
自動的に考慮"] EM --> GMM GMM --> KM EM -.- IG style EM stroke:#2196F3,stroke-width:2px style GMM stroke:#FF9800,stroke-width:2px style KM stroke:#E91E63,stroke-width:2px style IG stroke:#9C27B0,stroke-width:2px
  • K-meansは「最も近い中心に割り当てる」という直感的な方法だ
  • GMMは「確率的に割り当てる」ことで柔軟性を得る
  • EMはこのような「隠れた変数を推定する問題」一般を解くためのフレームワークだ
  • 情報幾何学はEMがなぜ効率的か、三つの手法の関係がなぜそうなるかを「確率空間の幾何学」で説明する

結局この三つの手法は同じ問い——「見えない構造をどう見つけるか」——に対して、異なるレベルの一般性で答えるものなのだ。


参考文献

  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. Chapter 9.
  • Amari, S. (1998). Natural Gradient Works Efficiently in Learning. Neural Computation, 10(2), 251-276.
  • Dempster, A. P., Laird, N. M., & Rubin, D. B. (1977). Maximum Likelihood from Incomplete Data via the EM Algorithm. JRSS-B, 39(1), 1-38.