フィッシャー情報幾何学入門

正規分布 $N(\mu, \sigma^2)$ のパラメータ $(\mu, \sigma)$ を座標とする空間を想像してください。この「分布の空間」に幾何学的な構造を与えることはできるでしょうか。二つの分布 $N(0, 1)$ と $N(1, 1)$(平均だけが違う)の「距離」と、$N(0, 1)$ と $N(0, 2)$(分散だけが違う)の「距離」は、同じ尺度で測れるでしょうか。

情報幾何学(information geometry)は、確率分布の空間に微分幾何学の構造(リーマン計量、接続、測地線など)を導入する分野です。その出発点となるのがフィッシャー情報行列(Fisher information matrix)をリーマン計量として採用するというアイデアです。

  • 統計学: クラメール・ラオの下界を幾何学的に理解できます。推定の効率は統計多様体上の曲率と関係しています
  • 機械学習: 自然勾配法(natural gradient)はフィッシャー情報行列を使って最急降下法を改良した手法です
  • 神経科学: ニューラルコーディングの効率を情報幾何で分析します
  • 物理学: 熱力学の状態空間にフィッシャー計量を導入する研究があります

本記事では、フィッシャー情報行列の定義からKLダイバージェンスとの関係を導出し、統計多様体の幾何学的な意味をPythonで可視化します。

本記事の内容

  • フィッシャー情報行列の定義と直感的意味
  • KLダイバージェンスの二次近似としてのフィッシャー計量
  • クラメール・ラオの下界の幾何学的解釈
  • 正規分布族の情報幾何
  • 自然勾配法の基本的なアイデア
  • Pythonによる可視化

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

フィッシャー情報行列の定義

スコア関数

パラメータ $\bm{\theta} = (\theta_1, \dots, \theta_m)$ を持つ確率分布族 $\{p(x | \bm{\theta})\}$ を考えます。スコア関数(score function)は対数尤度のパラメータに関する勾配です。

$$ \begin{equation} \bm{s}(x; \bm{\theta}) = \nabla_{\bm{\theta}} \log p(x | \bm{\theta}) \end{equation} $$

スコア関数の期待値はゼロになります。

$$ E_\theta[\bm{s}(X; \bm{\theta})] = \int p(x|\bm{\theta}) \frac{\nabla p(x|\bm{\theta})}{p(x|\bm{\theta})}\,dx = \nabla \int p(x|\bm{\theta})\,dx = \nabla 1 = \bm{0} $$

フィッシャー情報行列の定義

フィッシャー情報行列 $\bm{I}(\bm{\theta})$ は、スコア関数の共分散行列として定義されます。

$$ \begin{equation} [\bm{I}(\bm{\theta})]_{ij} = E_\theta\left[\frac{\partial \log p}{\partial \theta_i} \cdot \frac{\partial \log p}{\partial \theta_j}\right] = \text{Cov}\left(\frac{\partial \log p}{\partial \theta_i}, \frac{\partial \log p}{\partial \theta_j}\right) \end{equation} $$

適切な正則条件のもとで、次の等価な表現が成り立ちます。

$$ [\bm{I}(\bm{\theta})]_{ij} = -E_\theta\left[\frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j}\right] $$

フィッシャー情報行列は正定値対称行列であり、パラメータの各方向に「どれだけの情報がデータに含まれているか」を測ります。

直感的な意味

フィッシャー情報行列の $(i, j)$ 成分が大きいとは、パラメータ $\theta_i$ と $\theta_j$ の方向にデータの対数尤度が大きく変動することを意味します。大きく変動するということは、データがパラメータの値を強く制約する、すなわち「パラメータに関する情報が多い」ということです。

逆にフィッシャー情報が小さい場合、パラメータの変化に対してデータの分布があまり変わらないため、パラメータを正確に推定することが難しくなります。

KLダイバージェンスとフィッシャー計量

KLダイバージェンスの局所二次近似

フィッシャー情報行列が統計多様体のリーマン計量として自然である理由は、KLダイバージェンスの局所的な振る舞いに由来します。

パラメータ $\bm{\theta}$ と $\bm{\theta} + d\bm{\theta}$ の間のKLダイバージェンスをテイラー展開すると、

$$ D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta} + d\bm{\theta}}) = \frac{1}{2} \sum_{i,j} I_{ij}(\bm{\theta})\,d\theta_i\,d\theta_j + O(|d\bm{\theta}|^3) $$

1次の項はスコア関数の期待値がゼロであることから消え、2次の項がフィッシャー情報行列で与えられます。

$$ \begin{equation} D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta} + d\bm{\theta}}) \approx \frac{1}{2} d\bm{\theta}^T \bm{I}(\bm{\theta})\,d\bm{\theta} \end{equation} $$

これはリーマン幾何学の計量テンソル $g_{ij} = I_{ij}(\bm{\theta})$ による線素(line element)$ds^2 = \sum_{ij} g_{ij}\,d\theta_i\,d\theta_j$ に他なりません。

つまり、フィッシャー情報行列は、確率分布の空間上のKLダイバージェンスから自然に導かれるリーマン計量なのです。この計量による二点間の距離は、分布の「統計的な違い」を測る尺度として解釈できます。

テイラー展開の詳細な導出

ここで、KLダイバージェンスの二次近似を詳しく導出しましょう。$p_{\bm{\theta}}$ と $p_{\bm{\theta}+\bm{\delta}}$ の間のKLダイバージェンスは次のように書けます。

$$ D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta}+\bm{\delta}}) = \int p(x|\bm{\theta}) \log \frac{p(x|\bm{\theta})}{p(x|\bm{\theta}+\bm{\delta})}\,dx = -\int p(x|\bm{\theta}) \log \frac{p(x|\bm{\theta}+\bm{\delta})}{p(x|\bm{\theta})}\,dx $$

$\log p(x|\bm{\theta}+\bm{\delta})$ を $\bm{\theta}$ のまわりでテイラー展開します。

$$ \log p(x|\bm{\theta}+\bm{\delta}) = \log p(x|\bm{\theta}) + \sum_i \delta_i \frac{\partial \log p}{\partial \theta_i} + \frac{1}{2}\sum_{i,j} \delta_i \delta_j \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} + O(|\bm{\delta}|^3) $$

第一項は引き算で消えます。残った二次までの項を代入すると、

$$ D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta}+\bm{\delta}}) \approx -\sum_i \delta_i \underbrace{E_\theta\!\left[\frac{\partial \log p}{\partial \theta_i}\right]}_{=0} – \frac{1}{2}\sum_{i,j}\delta_i \delta_j\, E_\theta\!\left[\frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j}\right] $$

第一項はスコア関数の期待値がゼロであることから消えます。第二項の期待値を符号を反転すると、これはまさにフィッシャー情報行列の定義式です。

$$ -E_\theta\!\left[\frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j}\right] = I_{ij}(\bm{\theta}) $$

したがって、

$$ \begin{equation} D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta}+\bm{\delta}}) = \frac{1}{2}\sum_{i,j} I_{ij}(\bm{\theta})\,\delta_i\,\delta_j + O(|\bm{\delta}|^3) = \frac{1}{2}\bm{\delta}^T \bm{I}(\bm{\theta})\,\bm{\delta} + O(|\bm{\delta}|^3) \end{equation} $$

この結果は、KLダイバージェンスが局所的には二次形式であり、その係数行列がフィッシャー情報行列であることを示しています。リーマン幾何学の言葉で言えば、$ds^2 = \sum_{ij} g_{ij}\,d\theta_i\,d\theta_j$ という線素(距離の微小版)を定義したことになり、$g_{ij} = I_{ij}$ です。

この導出から、フィッシャー情報行列がリーマン計量として「自然」である理由が明確になります。KLダイバージェンスという情報理論的な量から直接導かれるのですから、他の計量を選ぶべき理由がありません。実際、チェンツォフの定理(後述)は、マルコフ埋め込みのもとで不変なリーマン計量はフィッシャー計量しかないことを主張しています。

ここまでで、フィッシャー情報行列が統計多様体の計量を定めることがわかりました。次に、この計量が推定問題にどのような制約を課すかを見ていきましょう。

クラメール・ラオの下界

定理

不偏推定量 $\hat{\bm{\theta}}$ の共分散行列に対して、次のクラメール・ラオの不等式が成り立ちます。

$$ \begin{equation} \text{Cov}(\hat{\bm{\theta}}) \succeq \frac{1}{n} \bm{I}(\bm{\theta})^{-1} \end{equation} $$

ここで $\succeq$ は半正定値の順序を表し、$n$ はサンプルサイズです。1次元の場合は、

$$ \text{Var}(\hat{\theta}) \geq \frac{1}{n\, I(\theta)} $$

となります。

証明の概略

証明はコーシー・シュワルツの不等式に基づきます。不偏推定量 $\hat{\theta}$ に対して $E_\theta[\hat{\theta}] = \theta$ が成り立つので、両辺を $\theta$ で微分すると、

$$ \int \hat{\theta}(x)\,\frac{\partial p(x|\theta)}{\partial \theta}\,dx = 1 $$

左辺を $p(x|\theta)$ を掛けて割る変形をすると、

$$ \int \hat{\theta}(x)\cdot \frac{\partial \log p(x|\theta)}{\partial \theta}\cdot p(x|\theta)\,dx = 1 $$

これは $E_\theta[\hat{\theta}\cdot s(X;\theta)] = 1$ を意味します。$E_\theta[\hat{\theta}] = \theta$、$E_\theta[s] = 0$ から、$\text{Cov}(\hat{\theta}, s) = 1$ が得られます。

コーシー・シュワルツの不等式 $\text{Cov}(\hat{\theta}, s)^2 \leq \text{Var}(\hat{\theta})\cdot\text{Var}(s)$ を適用し、$\text{Var}(s) = I(\theta)$ であることを使えば、

$$ 1 \leq \text{Var}(\hat{\theta})\cdot I(\theta) $$

したがって $\text{Var}(\hat{\theta}) \geq 1/I(\theta)$ が導かれます。$n$ 個の独立サンプルの場合は、フィッシャー情報量が $n$ 倍になるため、下界は $1/(nI(\theta))$ です。

幾何学的解釈

クラメール・ラオの下界は、統計多様体上の測地線の長さと関連しています。フィッシャー情報が大きい方向では「分布が速く変化する」ため、少数のサンプルでもパラメータの変化を検出でき、正確に推定できます。幾何学的には、フィッシャー計量が大きい方向は統計多様体が「引き伸ばされている」方向であり、パラメータの微小変化がデータの分布に大きな変化を生みます。

逆に、フィッシャー情報が小さい方向では分布の変化が緩慢で、推定が難しくなります。クラメール・ラオの下界は、「統計多様体の曲率が推定精度を本質的に制限する」という幾何学的な真実の表現なのです。

等号が成り立つ推定量は有効推定量(efficient estimator)と呼ばれます。指数型分布族の自然パラメータに対する最尤推定量は漸近的に有効です。

ここまでで抽象的な理論を見てきましたが、具体的な分布族でこれらの概念がどのように現れるかを確認することで、理解が格段に深まります。次に、最も基本的な正規分布族の情報幾何を詳しく調べましょう。

正規分布族の情報幾何

フィッシャー情報行列の計算

正規分布 $N(\mu, \sigma^2)$ をパラメータ $\bm{\theta} = (\mu, \sigma)$ で記述します。対数尤度は、

$$ \log p(x|\mu,\sigma) = -\log(\sigma\sqrt{2\pi}) – \frac{(x-\mu)^2}{2\sigma^2} $$

各成分のスコア関数を計算します。

$$ \frac{\partial \log p}{\partial \mu} = \frac{x – \mu}{\sigma^2}, \quad \frac{\partial \log p}{\partial \sigma} = -\frac{1}{\sigma} + \frac{(x-\mu)^2}{\sigma^3} $$

フィッシャー情報行列の各成分を期待値で計算すると、

$$ I_{\mu\mu} = E\!\left[\left(\frac{x-\mu}{\sigma^2}\right)^2\right] = \frac{1}{\sigma^4} E[(x-\mu)^2] = \frac{1}{\sigma^2} $$

$$ I_{\sigma\sigma} = E\!\left[\left(-\frac{1}{\sigma} + \frac{(x-\mu)^2}{\sigma^3}\right)^2\right] = \frac{2}{\sigma^2} $$

交差項は $(x-\mu)$ の奇数次モーメントが消えることから $I_{\mu\sigma} = 0$ です。したがって、

$$ \begin{equation} \bm{I}(\mu, \sigma) = \begin{pmatrix} 1/\sigma^2 & 0 \\ 0 & 2/\sigma^2 \end{pmatrix} \end{equation} $$

この行列が対角であることは、$\mu$ と $\sigma$ の推定が統計的に独立であること——一方のパラメータの推定精度が他方の値に依存しないこと——を意味しています。

線素と距離

この計量による線素は、

$$ ds^2 = \frac{d\mu^2}{\sigma^2} + \frac{2\,d\sigma^2}{\sigma^2} $$

です。$\sigma$ が小さい(分散が小さい)領域では $d\mu$ や $d\sigma$ の同じ変化量に対して $ds^2$ が大きくなります。これは直感に合います。分散の小さい分布は「鋭い」形をしているため、パラメータのわずかな変化でも分布の形が大きく変わるからです。

変数変換 $\eta = \sqrt{2}\log\sigma$ を行うと、

$$ ds^2 = \frac{d\mu^2}{\sigma^2} + d\eta^2 $$

となります。$(\mu, \eta)$ 座標系では $\sigma$ 方向の計量が1(ユークリッド的)になりますが、$\mu$ 方向の計量は依然として $\sigma$ に依存しています。

測地線

正規分布族の統計多様体上の測地線(最短経路)を求めましょう。$\sigma$ を固定して $\mu$ だけを変化させる場合、測地線方程式は $\mu$ に関して自明で、直線です。つまり $N(\mu_1, \sigma^2)$ から $N(\mu_2, \sigma^2)$ への測地線距離(リーマン距離)は、

$$ d_{\text{geo}} = \frac{|\mu_1 – \mu_2|}{\sigma} $$

$\mu$ を固定して $\sigma$ だけを変化させる場合は、$\eta = \sqrt{2}\log\sigma$ の座標で考えると距離が計算しやすく、

$$ d_{\text{geo}} = \sqrt{2}\left|\log\frac{\sigma_2}{\sigma_1}\right| $$

となります。$\sigma_1 = 1$ から $\sigma_2 = 2$ への距離と $\sigma_1 = 10$ から $\sigma_2 = 20$ への距離は同じ $\sqrt{2}\log 2$ です。フィッシャー計量は対数スケールで等距離を与えるという、自然な性質を持っています。

一般の場合($\mu$ と $\sigma$ が同時に変化する場合)の測地線はより複雑ですが、上半平面モデル(ポアンカレ上半平面)との対応を通じて解析的に求めることができます。実際、正規分布族の統計多様体は定曲率 $-1/2$ の双曲平面と等長であることが知られています。

チェンツォフの定理 — フィッシャー計量の一意性

なぜフィッシャー計量を選ぶべきなのか、という疑問に対する決定的な答えがチェンツォフの定理(Chentsov’s theorem, 1982)です。

定理: 十分統計量への縮約(マルコフ写像)のもとで単調に減少するリーマン計量は、フィッシャー情報行列のスカラー倍に限る。

「単調に減少する」とは、データをまとめ上げたり粗視化したりすると距離が縮まる(または変わらない)という自然な要請です。たとえば、個別のデータ点から十分統計量に移行しても情報は失われないはずですが、十分でない統計量に移行すると情報が失われて分布間の「区別しやすさ」が下がるはずです。

チェンツォフの定理は、この要請を満たす計量がフィッシャー計量しかないことを保証します。これはデータ処理不等式の微分幾何学的な表現とも言えます。

指数型分布族と双対接続

指数型分布族の統計多様体

フィッシャー情報幾何の威力は、指数型分布族を考えたときに特に明確になります。指数型分布族は次の形の確率分布です。

$$ p(x|\bm{\theta}) = h(x)\exp\!\left[\sum_i \theta_i\, t_i(x) – \psi(\bm{\theta})\right] $$

ここで $\bm{\theta} = (\theta_1, \dots, \theta_m)$ は自然パラメータ、$\bm{t}(x) = (t_1(x), \dots, t_m(x))$ は十分統計量、$\psi(\bm{\theta})$ は対数分配関数(正規化定数の対数)です。

指数型分布族のフィッシャー情報行列は、対数分配関数のヘッセ行列と一致します。

$$ I_{ij}(\bm{\theta}) = \frac{\partial^2 \psi(\bm{\theta})}{\partial \theta_i \partial \theta_j} $$

$\psi$ は凸関数であるため、このヘッセ行列は半正定値であり、正則条件のもとで正定値です。

双対座標と双対接続

指数型分布族には自然パラメータ $\bm{\theta}$ と期待値パラメータ $\bm{\eta} = E_\theta[\bm{t}(X)]$ という2つの自然な座標系があります。これらはルジャンドル変換で結ばれます。

$$ \eta_i = \frac{\partial \psi(\bm{\theta})}{\partial \theta_i}, \quad \theta_i = \frac{\partial \phi(\bm{\eta})}{\partial \eta_i} $$

ここで $\phi(\bm{\eta})$ は $\psi(\bm{\theta})$ のルジャンドル変換です。

情報幾何学では、この双対構造に対応して2つのアフィン接続——e接続(指数接続)とm接続(混合接続)——が導入されます。通常のリーマン幾何学ではレヴィ・チヴィタ接続という唯一の計量適合・捩率なし接続を使いますが、情報幾何学ではe接続とm接続という一対の双対アフィン接続が自然に現れます。

自然パラメータ $\bm{\theta}$ に関してe接続は平坦(e測地線は $\bm{\theta}$ 空間の直線)であり、期待値パラメータ $\bm{\eta}$ に関してm接続は平坦(m測地線は $\bm{\eta}$ 空間の直線)です。この「双対平坦性」が指数型分布族の情報幾何学的な構造の核心です。

ブレグマンダイバージェンスとの関係

双対平坦空間上のKLダイバージェンスはブレグマンダイバージェンスとして表現されます。

$$ D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta}’}) = \psi(\bm{\theta}’) – \psi(\bm{\theta}) – \nabla\psi(\bm{\theta})^T(\bm{\theta}’ – \bm{\theta}) $$

右辺は $\psi$ のブレグマンダイバージェンス $B_\psi(\bm{\theta}’ \| \bm{\theta})$ そのものです。ブレグマンダイバージェンスは凸関数とその接超平面の差として幾何学的に解釈でき、これにより射影やクラスタリングのアルゴリズムが自然に導かれます。

この幾何学的構造は、変分推論やEMアルゴリズムの収束性の分析にも応用されます。

ここまでで情報幾何学の理論的な枠組みを見てきました。次に、この理論が機械学習の最適化問題にどのように応用されるかを見ていきましょう。

自然勾配法

パラメータ空間の非等方性

ニューラルネットワークの学習で標準的に使われる最急降下法は、ユークリッド空間を仮定しています。すなわち、損失関数 $L(\bm{\theta})$ に対して更新則は、

$$ \bm{\theta}_{t+1} = \bm{\theta}_t – \alpha \nabla_{\bm{\theta}} L(\bm{\theta}_t) $$

です。しかし、$\bm{\theta}$ が確率分布のパラメータである場合、ユークリッド距離は分布の「違い」を正しく反映しません。

たとえば、正規分布 $N(\mu, \sigma^2)$ で $\sigma = 0.1$ のとき $\mu$ を0.01動かすと分布の形は大きく変わりますが、$\sigma = 10$ のとき同じ0.01を動かしてもほとんど変わりません。ユークリッド距離ではどちらも同じ0.01ですが、統計的な「距離」は前者のほうがはるかに大きいのです。

自然勾配の定義

甘利俊一が提案した自然勾配法(natural gradient method)は、フィッシャー情報行列を使ってこの非等方性を補正します。統計多様体上の最急降下方向は、

$$ \begin{equation} \tilde{\nabla} L(\bm{\theta}) = \bm{I}(\bm{\theta})^{-1} \nabla L(\bm{\theta}) \end{equation} $$

で与えられます。更新則は、

$$ \bm{\theta}_{t+1} = \bm{\theta}_t – \alpha\, \bm{I}(\bm{\theta}_t)^{-1}\nabla L(\bm{\theta}_t) $$

です。

なぜ自然勾配が「自然」なのか

自然勾配が通常の勾配より優れている理由を、最適化の観点から説明しましょう。

通常の最急降下法は、$\|\bm{\delta}\|_2^2 \leq \epsilon$ の制約のもとで $L(\bm{\theta} + \bm{\delta})$ を最小化する方向に進みます。これはユークリッドノルムによる球の中で最も損失を減らす方向です。

自然勾配法は、代わりにKLダイバージェンスの制約 $D_{\text{KL}}(p_{\bm{\theta}} \| p_{\bm{\theta}+\bm{\delta}}) \leq \epsilon$ のもとで $L(\bm{\theta}+\bm{\delta})$ を最小化します。KLの二次近似 $D_{\text{KL}} \approx \frac{1}{2}\bm{\delta}^T\bm{I}\bm{\delta}$ を使うと、ラグランジュ乗数法から自然勾配の式が得られます。

つまり、自然勾配法は「パラメータの変化量」ではなく「分布の変化量」を一定に保ちながら最適化を行う手法なのです。パラメータの座標系の取り方に依存しない(再パラメータ化不変な)最適化が実現されます。

実用的な近似手法

フィッシャー情報行列の逆行列を直接計算することは、パラメータ数が大きい場合には現実的ではありません。そこで、いくつかの近似手法が提案されています。

  • 対角近似: フィッシャー情報行列の対角成分のみを使う。Adam最適化器は、この対角近似の一種と解釈できます
  • KFAC(Kronecker-Factored Approximate Curvature): ニューラルネットワークの各層について、フィッシャー情報行列をクロネッカー積で近似します
  • 経験フィッシャー: 期待値を訓練データの平均で近似します。これは厳密なフィッシャー情報行列とは異なりますが、計算が容易です

Pythonによる可視化

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# --- 正規分布 N(μ, σ^2) のフィッシャー情報行列 ---
# I(μ, σ) = [[1/σ^2, 0], [0, 2/σ^2]]

def fisher_normal(mu, sigma):
    """正規分布のフィッシャー情報行列"""
    return np.array([[1/sigma**2, 0], [0, 2/sigma**2]])

def kl_normal(mu1, s1, mu2, s2):
    """正規分布間のKLダイバージェンス"""
    return np.log(s2/s1) + (s1**2 + (mu1-mu2)**2)/(2*s2**2) - 0.5

fig, axes = plt.subplots(1, 3, figsize=(16, 5))

# 左: KLダイバージェンスの等高線とフィッシャー計量
ax = axes[0]
mu0, sigma0 = 0, 1
mu_range = np.linspace(-2, 2, 100)
sigma_range = np.linspace(0.3, 3, 100)
MU, SIGMA = np.meshgrid(mu_range, sigma_range)
KL = np.zeros_like(MU)
for i in range(len(sigma_range)):
    for j in range(len(mu_range)):
        KL[i, j] = kl_normal(mu0, sigma0, mu_range[j], sigma_range[i])

cs = ax.contour(MU, SIGMA, KL, levels=[0.1, 0.5, 1, 2, 5], colors='steelblue')
ax.clabel(cs, inline=True, fontsize=8)
ax.plot(mu0, sigma0, 'r*', markersize=15, label=f'$N({mu0}, {sigma0}^2)$')

# フィッシャー計量の楕円
I = fisher_normal(mu0, sigma0)
theta_ell = np.linspace(0, 2*np.pi, 100)
for r in [0.3, 0.6, 1.0]:
    # 楕円: r^2 = dθ^T I dθ
    eigvals = np.array([I[0,0], I[1,1]])
    ell_x = mu0 + r * np.cos(theta_ell) / np.sqrt(eigvals[0])
    ell_y = sigma0 + r * np.sin(theta_ell) / np.sqrt(eigvals[1])
    ax.plot(ell_x, ell_y, 'r-', linewidth=1, alpha=0.5)

ax.set_xlabel(r'$\mu$', fontsize=12)
ax.set_ylabel(r'$\sigma$', fontsize=12)
ax.set_title('KL contours & Fisher metric ellipses', fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

# 中: クラメール・ラオの下界
ax = axes[1]
n_samples = np.arange(5, 200)
true_sigma = 1.0
CR_bound = true_sigma**2 / n_samples

# シミュレーション
n_trials = 5000
var_mle = []
for n in n_samples:
    estimates = []
    for _ in range(n_trials):
        data = np.random.normal(0, true_sigma, n)
        estimates.append(np.mean(data))
    var_mle.append(np.var(estimates))

ax.plot(n_samples, var_mle, 'b-', linewidth=1.5, alpha=0.7, label='Var(MLE)')
ax.plot(n_samples, CR_bound, 'r--', linewidth=2, label='Cramer-Rao bound')
ax.set_xlabel('Sample size $n$', fontsize=12)
ax.set_ylabel('Variance', fontsize=12)
ax.set_title('Cramer-Rao lower bound', fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)
ax.set_yscale('log')

# 右: KLダイバージェンスと二次近似の比較
ax = axes[2]
delta_mu = np.linspace(-2, 2, 200)
KL_exact = np.array([kl_normal(0, 1, dm, 1) for dm in delta_mu])
KL_approx = 0.5 * delta_mu**2  # フィッシャー近似: (1/2) * I_μμ * Δμ^2

ax.plot(delta_mu, KL_exact, 'b-', linewidth=2, label='Exact KL')
ax.plot(delta_mu, KL_approx, 'r--', linewidth=2, label='Fisher approximation')
ax.set_xlabel(r'$\Delta\mu$', fontsize=12)
ax.set_ylabel(r'$D_{KL}$', fontsize=12)
ax.set_title('KL divergence vs Fisher approximation', fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('fisher_info_geometry.png', dpi=150, bbox_inches='tight')
plt.show()

情報幾何の可視化から、以下のことが確認できます。

  1. 左図: KLダイバージェンスの等高線とフィッシャー計量の楕円が局所的に一致しています。小さな範囲ではKLの等高線は楕円形であり、フィッシャー計量による楕円と重なります。これはKLダイバージェンスの二次近似がフィッシャー計量で与えられることの視覚的確認です

  2. 中図: MLEの分散がクラメール・ラオの下界に一致しています。正規分布の平均のMLEは有効推定量(efficient estimator)であるため、クラメール・ラオの下界を達成します

  3. 右図: 小さな $\Delta\mu$ ではKLの厳密値とフィッシャー近似が一致し、大きな $\Delta\mu$ では乖離しています。フィッシャー計量はあくまで局所的な近似であり、大域的な距離にはKLダイバージェンスの完全な形が必要です

まとめ

本記事では、フィッシャー情報幾何学の基礎から応用まで解説しました。

  • フィッシャー情報行列はスコア関数の共分散行列であり、パラメータ推定の精度を支配します。対数尤度のヘッセ行列の期待値の符号反転としても表現され、データが持つパラメータに関する「情報の量」を行列として定量化します
  • KLダイバージェンスの二次近似としてフィッシャー計量が自然に導かれ、確率分布の空間にリーマン計量を与えます。チェンツォフの定理により、マルコフ写像のもとで単調減少する計量はフィッシャー計量しかないことが保証されています
  • クラメール・ラオの下界はフィッシャー情報の逆行列で与えられ、不偏推定量の分散の本質的な下限を定めます。これは統計多様体の曲率が推定精度を制限するという幾何学的真実の表現です
  • 正規分布族の情報幾何では、フィッシャー計量が双曲幾何と等価になり、測地線距離は対数スケールの自然な距離を与えます
  • 指数型分布族の双対構造——自然パラメータと期待値パラメータ、e接続とm接続——は情報幾何学の核心であり、KLダイバージェンスはブレグマンダイバージェンスとして表現されます
  • 自然勾配法はフィッシャー計量を使って確率分布の空間の非等方性を補正する最適化手法であり、パラメータの座標系に依存しない更新を実現します

情報幾何学は、統計学・情報理論・機械学習を貫く深い数学的構造を提供する分野です。本記事で扱った内容は入門に過ぎませんが、フィッシャー情報行列を「単なる行列」ではなく「空間の形を決める計量」として捉えることで、推定、検定、最適化の問題に新たな視座が得られます。

次のステップとして、以下の記事も参考にしてください。