情報幾何学を嗜む ~指数型分布族の幾何学~

前回の記事では双対平坦空間について説明した。これまでの記事では具体的な確率分布族は登場せず、ひたすら抽象的な議論が続いたが、いよいよ具体的な確率分布族について考えてみる。本稿では情報幾何学的に重要である指数型分布族に着目し、その幾何学的な構造について述べる。

指数型分布族

定義

指数型分布族とは {\bf u}を確率変数、 {\boldsymbol \theta}をパラメータとして、確率密度関数が以下のように書ける確率分布の族である。

 \displaystyle{
p({\bf u}, {\boldsymbol \theta}) = \exp \left(\sum_i \theta^i k_i({\bf u}) + r({\bf u})- \psi({\boldsymbol \theta}) \right)
}

いきなりだが、ここで (情報幾何学的な議論の本筋とはあまり関係ないが) 重要なポイントがある。それは、確率密度関数積分してなんぼであり、その積分とは通常はLebesgue積分であるため、確率密度関数は測度と密接な関係にあるということである。確率密度関数と測度の両方が定まって初めて積分により確率を求める事ができる。

今、 \exp(r({\bf u}))に着目すると、これは {\boldsymbol \theta}に依存していないため、確率密度関数から測度に追いやる事ができる。そうして、積分する際には測度として \exp(r({\bf u}))を折り込み済みのものを使用するのである。

このように考えることで、指数型分布族の定義式から \exp(r({\bf u}))を省く事ができる。ここでさらに x_i = k_i({\bf u})と置き、 {\bf x} = (x_1, x_2, \cdots, x_n)とすれば、確率密度関数は以下のように表せる。

 \displaystyle{
p({\bf x}, {\boldsymbol \theta}) = \exp({\boldsymbol \theta} \cdot {\bf x} - \psi({\boldsymbol \theta}))
}

左辺は確率密度関数なので、定義域全域で積分して1にならなければならない。この条件より \psi({\boldsymbol \theta})は以下のようになる。

 \displaystyle{
\begin{eqnarray}
\int p({\bf x}, {\boldsymbol \theta}) d{\bf x} &=& \int \exp({\boldsymbol \theta} \cdot {\bf x} - \psi({\boldsymbol \theta})) d{\bf x} \\
1 &=& \int \exp({\boldsymbol \theta} \cdot {\bf x} - \psi({\boldsymbol \theta})) d{\bf x} \\
\exp(\psi({\boldsymbol \theta})) &=& \int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \\
\psi({\boldsymbol \theta}) &=& \log \int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}
\end{eqnarray}
}

念のため述べておくが、上記の計算に登場する積分では測度に \exp(r({\bf u }))が掛かる影響を考慮済みであると暗に仮定している。以降の計算でも同様である。

 \psi({\boldsymbol \theta})の凸性

前節で登場した \psi({\boldsymbol \theta})は凸関数である。それを示すためにHesse行列を求めてみよう。

 \displaystyle{
\begin{eqnarray}
\frac{\partial^2}{\partial \theta^i \partial \theta^j} \psi({\boldsymbol \theta})
&=& \frac{\partial^2}{\partial \theta^i \partial \theta^j} \log \int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \\
&=& \frac{\partial}{\partial \theta^i} \frac{\int x_j \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}}{\int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}} \\
&=& \frac{\int x_i x_j \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} - \int x_i \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \int x_j \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}}
{\left \{\int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \right \}^2} \\
&=& \frac{\int x_i x_j p({\bf x}, {\boldsymbol \theta}) d{\bf x} \int p({\bf x}, {\boldsymbol \theta}) d{\bf x} - \int x_i p({\bf x}, {\boldsymbol \theta}) d{\bf x} \int x_j p({\bf x}, {\boldsymbol \theta}) d{\bf x}}
{\left \{\int p({\bf x}, {\boldsymbol \theta}) d{\bf x} \right \}^2} \\
&=& \int x_i x_j p({\bf x}, {\boldsymbol \theta}) d{\bf x} - \int x_i p({\bf x}, {\boldsymbol \theta}) d{\bf x} \int x_j p({\bf x}, {\boldsymbol \theta}) d{\bf x} \\
&=& \mathrm{E} [x_i x_j ] - \mathrm{E} [x_i ] \mathrm{E} [x_j ] \\
&=& \mathrm{Cov}(x_i, x_j)
\end{eqnarray}
} ・・・(1)

これより、Hesse行列は共分散行列となる。共分散行列は半正定値であるため、 \psi({\boldsymbol \theta})は凸関数である[2][3]。

指数型分布族の双対平坦構造

これまでの議論により指数型分布族には自然と凸関数が備わっていることが分かった。前回、前々回の記事より、凸関数が与えられればBregmanダイバージェンスや双対平坦空間が得られることを見てきた。これらの事実より、指数型分布族にもこれらの情報幾何学的な構造を定めることができる。本章ではそれを見ていこう。

双対空間

まずは双対座標、及び双対凸関数を求めてみよう。それぞれ以下のように計算できる。

 \displaystyle{
\begin{eqnarray}
{\boldsymbol \eta} &=& \nabla \psi({\boldsymbol \theta}) \\
&=& \nabla \log \int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x} \\
&=& \frac{\int {\bf x} \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}}{\int \exp({\boldsymbol \theta} \cdot {\bf x}) d{\bf x}} \\
&=& \int {\bf x} \exp({\boldsymbol \theta} \cdot {\bf x} - \psi({\boldsymbol \theta})) d{\bf x} \\
&=& \int {\bf x} p({\bf x}, {\boldsymbol \theta}) d{\bf x}
\end{eqnarray}
}

 \displaystyle{
\begin{eqnarray}
\phi({\boldsymbol \eta}) &=& \max_{{\boldsymbol \theta}} ({\boldsymbol \theta} \cdot {\boldsymbol \eta} - \psi({\boldsymbol \theta})) \\
&=& {\boldsymbol \theta}({\boldsymbol \eta}) \cdot \int {\bf x} \exp({\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta}))) d{\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta})) \\
&=& \int {\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} \exp({\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta}))) d{\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta})) \int \exp({\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta}))) \\
&=&  \int ({\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta}))) \exp({\boldsymbol \theta}({\boldsymbol \eta}) \cdot {\bf x} - \psi({\boldsymbol \theta}({\boldsymbol \eta}))) d{\bf x} \\
&=& \int p({\bf x}, {\boldsymbol \theta}({\boldsymbol \eta})) \log p({\bf x}, {\boldsymbol \theta}({\boldsymbol \eta})) d{\bf x}
\end{eqnarray}
}

これより、 {\boldsymbol \eta} p({\bf x}, {\boldsymbol \theta})の期待値、 \phi({\boldsymbol \eta}) p({\bf x}, {\boldsymbol \theta}({\boldsymbol \eta}))エントロピーの符号を変えたものになっていることが分かる。

Bregmanダイバージェンス

次に \psi({\boldsymbol \theta})から導かれるBregmanダイバージェンスを計算してみる。

 \displaystyle{
\begin{eqnarray}
D[{\boldsymbol \theta}' : {\boldsymbol \theta} ] &=& \psi({\boldsymbol \theta}') + \phi({\boldsymbol \eta}) - {\boldsymbol \theta}' \cdot {\boldsymbol \eta} \\
&=& \psi({\boldsymbol \theta}') \int p({\bf x}, {\boldsymbol \theta}) d{\bf x} + \int p({\bf x}, {\boldsymbol \theta}) \log p({\bf x}, {\boldsymbol \theta}) d{\bf x} - \int {\boldsymbol \theta}' \cdot {\bf x} p({\bf x}, {\boldsymbol \theta}) d{\bf x} \\
&=&  \int p({\bf x}, {\boldsymbol \theta}) \log p({\bf x}, {\boldsymbol \theta}) d{\bf x} - \int ({\boldsymbol \theta}' \cdot {\bf x} - \psi({\boldsymbol \theta}')) p({\bf x}, {\boldsymbol \theta}) d{\bf x} \\
&=&  \int p({\bf x}, {\boldsymbol \theta}) \log p({\bf x}, {\boldsymbol \theta}) d{\bf x} - \int p({\bf x}, {\boldsymbol \theta}) \log p({\bf x}, {\boldsymbol \theta}') d{\bf x} \\
&=& \int p({\bf x}, {\boldsymbol \theta}) \log \frac{p({\bf x}, {\boldsymbol \theta})}{p({\bf x}, {\boldsymbol \theta}')} d{\bf x}
\end{eqnarray}
}

ただし、 {\boldsymbol \theta} {\boldsymbol \eta}、および {\boldsymbol \theta}' {\boldsymbol \eta}'がそれぞれ互いに双対であるとする。これはKLダイバージェンスに他ならない[4]。

Riemann計量

Riemann計量は以下のように求められるのだった。

 \displaystyle{
g_{ij} = \frac{\partial^2}{\partial \theta^i \partial \theta^j} \psi({\boldsymbol \theta})
}

右辺は式(1)である程度まで計算したが、それをさらに以下のように変形してみる。

 \displaystyle{
\begin{eqnarray}
g_{ij} &=& \mathrm{Cov}(x_i, x_j) \\
&=& \mathrm{E} [(x_i - \mathrm{E} [x_i ])(x_j  - \mathrm{E} [x_j ]) ] \\
&=& \mathrm{E} \left [\left(x_i - \frac{\partial}{\partial \theta^i} \psi({\boldsymbol \theta}) \right) \left( x_j  - \frac{\partial}{\partial \theta^j} \psi({\boldsymbol \theta}) \right) \right ] \\
&=& \mathrm{E} \left [\frac{\partial}{\partial \theta^i} ({\boldsymbol \theta} \cdot {\bf x} - \psi({\boldsymbol \theta})) \frac{\partial}{\partial \theta^j}({\boldsymbol \theta} \cdot {\bf x}  - \psi({\boldsymbol \theta})) \right ] \\
&=& \mathrm{E} \left [\frac{\partial}{\partial \theta^i} \log p({\bf x}, {\boldsymbol \theta}) \frac{\partial}{\partial \theta^j} \log p({\bf x}, {\boldsymbol \theta}) \right ]
\end{eqnarray}
}

これはFisher情報行列に他ならない[5]。

例:指数分布

せっかくなので例を見てみよう。指数型分布族に属する確率分布はいろいろあるが、ここでは指数分布をピックアップしてみる。指数分布の確率密度関数は以下の式で表される[6]。

 \displaystyle{
p(x, \lambda)=\left\{{\begin{array}{ll}\lambda e^{-\lambda x}&(x\geq 0)\\0&(x<0)\end{array}}\right.
}

ただし、 \lambda >0である。 x\geq 0の場合の式において \theta = -\lambdaと置いて少し変形すると以下のようにできる。

 \displaystyle{
p(x, \theta) = \exp( \theta x - (-\log (-\theta)) )
}

そのため、指数分布は指数型分布族に含まれる。

双対座標と双対凸関数

双対座標 \etaは以下のようになる。

 \displaystyle{
\begin{eqnarray}
\eta &=& \int x p(x, \theta) dx \\
&=& \int_0^{\infty} x (-\theta) e^{\theta x} dx \\
&=& -\theta \left \{\left [x \frac{e^{\theta x}}{\theta} \right ]_0^{\infty} -  \int_0^{\infty} \frac{e^{\theta x}}{\theta} dx \right \} \\
&=& \int_0^{\infty} e^{\theta x} dx \\
&=& \left [  \frac{e^{\theta x}}{\theta} \right ]_0^{\infty} \\
&=& -\frac{1}{\theta}
\end{eqnarray}
}

双対凸関数 \phiは以下のようになる。

 \displaystyle{
\begin{eqnarray}
\phi(\eta) &=& \int p(x, \theta(\eta)) \log p(x, \theta(\eta)) dx \\
&=& \int_0^{\infty} (-\theta) e^{\theta x} \log ((-\theta) e^{\theta x}) dx \\
&=& \int_0^{\infty} (-\theta) e^{\theta x} (\log (-\theta) + \theta x) dx \\
&=& \log (-\theta) \int_0^{\infty} (-\theta) e^{\theta x} dx + \theta \int_0^{\infty} x (-\theta) e^{\theta x} dx \\
&=& \log (-\theta) \left [ -e^{\theta x} \right ]_0^{\infty} - 1 \\
&=& \log (-\theta) - 1 \\
&=& -\log \eta - 1
\end{eqnarray}
}

Bregmanダイバージェンス

Bregmanダイバージェンスは以下のようになる。

 \displaystyle{
\begin{eqnarray}
D[\theta' : \theta ] &=& \int p(x, \theta) \log \frac{p(x, \theta)}{p(x, \theta')} dx \\
&=& \int_0^{\infty} (-\theta) e^{\theta x} \log \frac{(-\theta) e^{\theta x}}{(-\theta') e^{\theta' x}} dx \\
&=& (-\theta) \int_0^{\infty} e^{\theta x} (\log (-\theta) + \theta x - \log (-\theta') - \theta' x) dx \\
&=& (-\theta) \left \{ (\log (-\theta) - \log (-\theta')) \int_0^{\infty} e^{\theta x} dx + (\theta - \theta') \int_0^{\infty} x e^{\theta x}  dx \right \} \\
&=& (-\theta) \left \{ (\log (-\theta) - \log (-\theta')) \frac{-1}{\theta} + \frac{\theta - \theta'}{\theta^2} \right \} \\
&=& \log (-\theta) - \log (-\theta') - 1 + \frac{\theta'}{\theta} \\
&=& - \log (-\theta') -\log \eta - 1 - \theta' \eta
\end{eqnarray}
}

Riemann計量

指数分布はパラメータが1つしかないため、Riemann計量はスカラーとなる。具体的には以下のように計算される。

 \displaystyle{
\begin{eqnarray}
g &=& \frac{\partial^2}{\partial \theta^2} \psi(\theta) \\
&=& \frac{\partial^2}{\partial \theta^2} (-\log (-\theta)) \\
&=& \frac{\partial}{\partial \theta} \frac{-1}{\theta} \\
&=& \frac{1}{\theta^2}
\end{eqnarray}
}

Riemann計量が分かるとパラメータ空間の中での確率分布同士の距離が分かる。確率分布同士の距離とは、定性的には確率分布の形状が互いにどれくらい異なるかを表すものと考えられる。

今回の例の場合、指数分布の平均は \frac{-1}{\theta}であるため、 \thetaの絶対値が大きくなると平均は0に近づいていく。そのような領域では \thetaの値が少し違う分布同士でほとんど形状の差がなくなる。これは \thetaの絶対値が大きくなるに連れてRiemann計量の値が0に近づいていくことに対応する。

一方、 \thetaが0に近いところでは \thetaが僅かに変わるだけで平均値が大幅に変動し、分布の形状が大きく変わる。これは \thetaが0に漸近するに連れてRiemann計量が急激に大きくなることと関連している。

ただし、本当は分散による影響も加味する必要がある。指数分布の分散は \frac{1}{\theta^2}であるため、 \thetaが0に近いところでは分散が大きくなる。分散が大きくなると分布が散らばるため、 \thetaが変化しても分布が変動し辛くなる。これは先程の平均の議論と逆のことを言っていることになるが、指数分布の場合は平均の変化の方が分布の形状を決める上で支配的な要因になっているということなのだろう。

まとめ

本稿では指数型分布族が持つ情報幾何学的な構造について調べた。指数型分布族には必ず凸関数が付随し、これにより得られるBregmanダイバージェンスはKLダイバージェンスになっていることを見た。さらに、付随する凸関数から定められるRiemann計量はFisher情報行列に一致することが分かった。

実はKLダイバージェンスは情報幾何学において特別な意味を持つ。次回はそのあたりの話を書きたいと思う。

情報幾何学を嗜む ~微分幾何学的な双対平坦空間の導入~

前回の記事ではBregmanダイバージェンスから導かれる双対空間について述べた。本稿ではこれらの空間に定められる双対接続、及びそこから導かれる双対平坦空間について考えてみる。

基本的には本[1]を参考にしているのだが、この本はどうも双対平坦な空間の導出がざっくりしすぎていて、少々納得感に欠けた。そのため、本稿では双対平坦な空間の導出に関する計算を少しだけ泥臭く書いてみることにする。

なお、本稿では全体的にEinsteinの規約を用いているので注意されたい。

ダイバージェンスから導かれるRiemann計量

前回の記事でダイバージェンスの定義について説明した。その中で、Taylor展開した際の2次の項の係数が正定値対称行列になるという条件があった。この正定値対称という条件はいかにもRiemann計量を想起させる。実際、情報幾何学ではこれをRiemann計量として使うことで、確率分布のパラメータの空間をRiemann多様体と見なすのである。

Bregmanダイバージェンスの場合の例

例として、以下の2変数凸関数から導かれるBregmanダイバージェンスについて、そこから得られるRiemann計量を計算してみよう。

 \displaystyle{
f(x, y) = x^2 + 3xy + 4y^2
}

始めに f(x, y)が凸関数であることを確認する。Hesse行列は以下のようになる。

 \displaystyle{
G = \left(
\begin{array}{cc}
2 & 3 \\
3 & 8
\end{array}
\right)
}

 \mathrm{det} G = 7 \gt 0となるため、これは凸関数である。

次に、Riemann計量を求めてみる。と言っても、前回の記事でBregmanダイバージェンスをTaylor展開した際の2次の項は、元になる凸関数のHesse行列に等しいことを述べた。そのため、結局 Gがリーマン計量である。

よく見ると Gは確かに対称行列になっている。これは f(x, y) C^2級なので当然である。また、以下の計算により正定値行列であることも分かる。

 \displaystyle{
\begin{eqnarray}
\left(
\begin{array}{cc}
x & y
\end{array}
\right)
G
\left(
\begin{array}{c}
x \\
y
\end{array}
\right)
&=&
2(x^2 + 3xy + 4y^2) \\
&=& 2\left(\left(x + \frac{3}{2}y \right)^2 + \frac{7}{4}y^2 \right) \gt 0
\end{eqnarray}
}

ただし、 (x, y) \ne (0, 0)である。

Riemann計量を成分毎に書き下すと以下のようになる。

 \displaystyle{
\begin{eqnarray}
g_{1, 1} &=& 2 \\
g_{1, 2} &=& g_{2, 1} = 3 \\
g_{2, 2} &=& 8
\end{eqnarray}
}

双対接続

次に、多様体の接続について考えてみる。情報幾何学において特に重要な概念として双対接続がある。少々難しい概念なので、順を追って説明していこう。

接続とは

ざっくり言うと、接続とは多様体の異なる点における接空間の間に対応関係を与えるものである。特に、その対応関係にある種の線形性があるものをAffine接続と呼ぶ。Affine接続を説明すると長くなるので、詳細は[2]などを参照のこと。

Levi-Civita接続

Affine接続のうち、さらに以下の2つの性質を満たすものをLevi-Civita接続と呼ぶ。

  1.  \nabla_{{\bf X}} {\bf Y} - \nabla_{{\bf Y}} {\bf X} = [{\bf X}, {\bf Y}] (対称な接続) 
  2.  {\bf X} g({\bf Y}, {\bf Z}) = g(\nabla_{{\bf X}}{\bf Y}, {\bf Z}) + g({\bf Y}, \nabla_{{\bf X}}{\bf Z}) (計量との整合性) 

Levi-Civita接続はベクトルの平行移動に対して計量を保つため、Riemann計量と強い依存関係がある。実際、Levi-Civita接続の接続係数はRiemann計量から一意に定まる。詳細は[2]などを参照のこと。

ここで、 {\bf X} = \partial_i, {\bf Y} = \partial_j, {\bf Z} = \partial_kを1つ目の式に代入してみる。ただし、局所座標系を (x^1, x^2, \cdots , x^n)とし、 \partial_i = \frac{\partial}{\partial x^i}とする。

 \displaystyle{
\begin{eqnarray}
\nabla_{\partial_i} \partial_j - \nabla_{\partial_j} {\partial_i} &=& [\partial_i, \partial_j] \\
\Gamma_{ij}^l \partial_l - \Gamma_{ji}^l \partial_l &=& \partial_i \partial_j - \partial_j \partial_i \\
\Gamma_{ij}^l \partial_l &=& \Gamma_{ji}^l \partial_l
\end{eqnarray}
}

成分を比較して \Gamma_{ij}^l = \Gamma_{ji}^lとなる。

次に、 {\bf X} = \partial_i, {\bf Y} = \partial_j, {\bf Z} = \partial_kを2つ目の式に代入してみる。

 \displaystyle{
\begin{eqnarray}
\partial_i g(\partial_j, \partial_k) &=& g(\nabla_{\partial_i} \partial_j, \partial_k) + g(\partial_j, \nabla_{\partial_i} \partial_k) \\
\partial_i g_{jk} &=& g(\Gamma_{ij}^l \partial_l, \partial_k) + g(\partial_j, \Gamma_{ik}^l \partial_l) \\
\partial_i g_{jk} &=& \Gamma_{ij}^l g_{lk} + \Gamma_{ik}^l g_{jl}
\end{eqnarray}
}

最後の式の右辺で  \Gamma_{ijk} = \Gamma_{ij}^l g_{lk}などの置き換えをすると以下のようになる。

 \displaystyle{
\partial_i g_{jk} = \Gamma_{ijk} + \Gamma_{ikj}
}

双対接続

Levi-Civita接続における計量との整合性の条件を外し、代わりに2つの接続 \nabla, \nabla^{*}が以下の条件を満たすとする。

 \displaystyle{
{\bf X} g({\bf Y}, {\bf Z}) = g(\nabla_{{\bf X}}{\bf Y}, {\bf Z}) + g({\bf Y}, \nabla^{*}_{{\bf X}}{\bf Z})
}

このような接続を双対接続と呼ぶ。

Levi-Civita接続の時と同様に {\bf X} = \partial_i, {\bf Y} = \partial_j, {\bf Z} = \partial_kを代入すると以下のようになる。

 \displaystyle{
\partial_i g_{jk} = \Gamma_{ijk} + \Gamma_{ikj}^{*}
} ・・・(1)

ただし、接続係数の右肩に*が付いているものは \nabla^{*}の接続係数であることを意味する。

Bregmanダイバージェンスから導かれるRiemann空間の双対平坦性

前回の記事で、Bregmanダイバージェンスから導かれる双対空間について述べた。以下では元の空間の座標を {\boldsymbol \theta}、双対空間の座標を {\boldsymbol \eta}で表す。

今、双対接続 \nabla, \nabla^{*}として、接続 \nabla {\boldsymbol \theta}座標における接続係数が全て大域的に0になるようなものを考える。これはつまり、曲率が0の平坦な接続であることを意味する。この時、接続 \nabla^{*}がどうなるかを考えてみよう。

準備

いくつか式を準備しておこう。ここでは {\boldsymbol \theta}座標、 {\boldsymbol \eta}座標で表した接続係数をそれぞれ \Gamma_{ijk}^{({\boldsymbol \theta})}, \Gamma_{ijk}^{({\boldsymbol \eta})}などと表記する。また、Riemann計量についても同様に g^{({\boldsymbol \theta})}_{ij}, g^{({\boldsymbol \eta})}_{ij}のように表記する。

片方の接続が平坦な場合の双対接続の式

まず(1)式に接続係数0を代入すると以下の式が成立する。

 \displaystyle{
\frac{\partial}{\partial \theta^i} g^{({\boldsymbol \theta})}_{jk} = \Gamma_{ikj}^{* ({\boldsymbol \theta})}
} ・・・(2)

ここで、Riemann計量の対称性より g^{({\boldsymbol \theta})}_{jk} = g^{({\boldsymbol \theta})}_{kj}であり、さらに接続の対称性より \Gamma_{ikj}^{* ({\boldsymbol \theta})} = \Gamma_{kij}^{* ({\boldsymbol \theta})}となる。これらを組み合わせると、添字の並び替えに対して \nabla^{*}の接続係数が不変となることが分かる。特に、以下の式はのちほど利用するため明示的に述べておく。

 \displaystyle{
\Gamma_{ikj}^{* ({\boldsymbol \theta})} = \Gamma_{jki}^{* ({\boldsymbol \theta})}
} ・・・(3)

Riemann計量の別表現

元の空間に定義された凸関数を \psi、双対空間に定義された凸関数を \phiとすると、 {\boldsymbol \theta}座標と {\boldsymbol \eta}座標の変換は以下の式で表されるのだった。

 \displaystyle{
\begin{eqnarray}
\eta_i &=& \frac{\partial \psi}{\partial \theta^i} \\
\theta^i &=& \frac{\partial \phi}{\partial \eta_i}
\end{eqnarray}
}

これらの両辺をそれぞれ \theta^j, \eta_j偏微分すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
\frac{\partial \eta_i}{\partial \theta^j} &=& \frac{\partial^2 \psi}{\partial \theta^i \partial \theta^j} \\
&=& g_{ij}^{({\boldsymbol \theta})}
\end{eqnarray}
} ・・・(4)

 \displaystyle{
\begin{eqnarray}
\frac{\partial \theta^i}{\partial \eta_j} &=& \frac{\partial^2 \phi}{\partial \eta_i \partial \eta_j} \\
&=& g_{ij}^{({\boldsymbol \eta})}
\end{eqnarray}
} ・・・(5)

以上により、 {\boldsymbol \theta}座標、 {\boldsymbol \eta}座標におけるRiemann計量を凸関数を用いずに表すことが出来た。

接続係数の座標変換

最後に、接続係数の座標変換について述べる。 {\bf x}座標系から {\bf x}'座標系への接続係数の変換式は以下のようになる[2]。

 \displaystyle{
\Gamma{'}_{k'm'}^{i'} = \frac{\partial x^k}{\partial x{'}^{k'}} \frac{\partial x^m}{\partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^i} \Gamma_{km}^i + \frac{\partial^2 x^r}{\partial x{'}^{k'} \partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^r}
}

この変換式は有名なので調べればすぐに出てくるが、添字を下げた版の \Gamma_{ijk}の座標変換式に関してはほとんど情報がない。幸いEMANさんのサイト[3]がヒントになったので、それを参考に変換式を導出してみる。

まず、上で示した変換式の両辺に g'_{i'l'}をかけて i'について和を取る。和の記号はEinsteinの規約により省略する。

 \displaystyle{
g'_{i'l'} \Gamma{'}_{k'm'}^{i'} = g'_{i'l'} \frac{\partial x^k}{\partial x{'}^{k'}} \frac{\partial x^m}{\partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^i} \Gamma_{km}^i + g'_{i'l'} \frac{\partial^2 x^r}{\partial x{'}^{k'} \partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^r}
}

ここで、Riemann計量の座標変換式を利用する。これもEMANの物理学[4]から式を引用する。

 \displaystyle{
g'_{i'j'}  = \frac{\partial x^k}{\partial x'^{i'}} \frac{\partial x^l}{\partial x'^{j'}} g_{kl}
}

これを代入し、さらに左辺を添え字を下げた記号に置き換えると以下のようになる。

 \displaystyle{
\begin{eqnarray}
\Gamma{'}_{k'm'l'} &=& \frac{\partial x^i}{\partial x{'}^{i'}} \frac{\partial x^l}{\partial x{'}^{l'}} g_{il} \frac{\partial x^k}{\partial x{'}^{k'}} \frac{\partial x^m}{\partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^i} \Gamma_{km}^i + \frac{\partial x^s}{\partial x{'}^{i'}} \frac{\partial x^t}{\partial x{'}^{l'}} g_{st} \frac{\partial^2 x^r}{\partial x{'}^{k'} \partial x{'}^{m'}} \frac{\partial x{'}^{i'}}{\partial x^r} \\
&=& \frac{\partial x^k}{\partial x{'}^{k'}} \frac{\partial x^m}{\partial x{'}^{m'}} \frac{\partial x^l}{\partial x{'}^{l'}} \Gamma_{kml} + g_{st} \frac{\partial^2 x^s}{\partial x{'}^{k'} \partial x{'}^{m'}} \frac{\partial x^t}{\partial x{'}^{l'}}
\end{eqnarray}
} ・・・(6)

双対平坦性の導出

準備が整ったので本題に入る。少々天下り的だが、 \Gamma_{ikj}^{* ({\boldsymbol \eta})} \Gamma_{ikj}^{* ({\boldsymbol \theta})}に変換する式を考えてみる。

 \displaystyle{
\begin{eqnarray}
\Gamma_{ikj}^{* ({\boldsymbol \theta})}
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + g_{st}^{({\boldsymbol \eta})} \frac{\partial^2 \eta^s}{\partial \theta_i \partial \theta_k} \frac{\partial \eta^t}{\partial \theta_j} \\
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \frac{\partial \theta_s}{\partial \eta^t} \frac{\partial^2 \eta^s}{\partial \theta_i \partial \theta_k} \frac{\partial \eta^t}{\partial \theta_j} \\
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \frac{\partial^2 \eta^s}{\partial \theta_i \partial \theta_k} \frac{\partial \theta_s}{\partial \theta_j} \\
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \frac{\partial^2 \eta^j}{\partial \theta_i \partial \theta_k} \\
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \Gamma_{jki}^{* ({\boldsymbol \theta})} \\
&=& \frac{\partial \eta^{i'}}{\partial \theta_i} \frac{\partial \eta^{k'}}{\partial \theta_k} \frac{\partial \eta^{j'}}{\partial \theta_j} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \Gamma_{ikj}^{* ({\boldsymbol \theta})}
\end{eqnarray}
}

1つ目の等号は式(6)から、2つ目の等号は式(5)から、3つ目の等号は偏微分の連鎖律から、5つ目の等号は式(2)(4)から、6つ目の等号は式(3)からそれぞれ得られる。

右辺第2項と左辺が一致するため、任意の点において右辺第1項は0でなければならない。右辺第1項に式(4)を適用すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
\Gamma_{ikj}^{* ({\boldsymbol \theta})}
&=& g_{i'i}^{({\boldsymbol \theta})} g_{k'k}^{({\boldsymbol \theta})} g_{j'j}^{({\boldsymbol \theta})} \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})}
 + \Gamma_{ikj}^{* ({\boldsymbol \theta})}
\end{eqnarray}
}

今考えている状況においてRiemann計量はgivenであるため、右辺第1項が0になるためには \Gamma_{i'k'j'}^{* ({\boldsymbol \eta})} = 0になる他ない。つまり、双対座標系において接続 \nabla^{*}は平坦となるのである。

以上の議論をまとめてみる。多様体上にBregmanダイバージェンスから定まるRiemann計量が与えられ、更に双対接続 \nabla, \nabla^{*}が与えられたとする。接続 \nabla {\boldsymbol \theta}座標系で平坦となるとき、接続 \nabla^{*} {\boldsymbol \eta}座標系において平坦となる。このような接続の組が与えられた空間を双対平坦空間と呼ぶ。

蛇足

双対平坦空間の説明として、本稿のように接続係数の座標変換から直接的に平坦性を示す方法を採っている記事が全く見つからなかったため、本稿の計算は完全に私が考えたものである。先人がいないということもあり、正直あまり自信がない。本[1]から結論だけは分かっていたため、やや結論ありきで論理展開してしまっているような気がする。もし不備にお気づきの際はご指摘頂けるとありがたい。

まとめ

本稿ではBregmanダイバージェンスからRiemann計量が得られ、さらにそこから双対平坦な空間が導かれることを述べた。双対平坦性の導出には少々複雑な計算を行ったが、おかげでこれまでのもやもやが少しだけ晴れたような気がする。

情報幾何学関連の記事はまだまだ書きたい事が多いが、なんとか今年中には書き終えたい。

情報幾何学を嗜む ~Bregmanダイバージェンスとその双対~

最近、情報幾何学の勉強をしている。情報幾何学は日本の甘利先生という方が切り開いてきた分野で、主には確率分布のパラメータが成す空間をリーマン多様体と捉えることで、確率分布族に対して幾何学的な解釈を与えるものである。

情報幾何学情報科学の一分野でありながら、微分幾何学の理解を要する難解なものである。はっきり言って、情報系の人間で可微分多様体やらリーマン計量やら接続やらを理解している人は一握りであろう。私も情報系、それも工学部の出身であるから、甘利先生の本を初めて手に取った修士2年のときは、あまりの難しさに一瞬で心が折れたのを覚えている。

しかし時は流れ、私も今ではわずかばかり数学の心が分かるようになってきた。そこで、いよいよこの難攻不落の要塞に攻めいってみようというわけである。

というわけで、本稿から始まるいくつかの記事の中で、情報幾何学における主要なトピックについて私が理解したところを書き連ねてみようと思う。本稿ではその第一歩として、Bregmanダイバージェンスとその双対ダイバージェンスについて考えてみる。

ダイバージェンス

情報幾何学を語る上でダイバージェンスの存在は外せない。ダイバージェンスの定義を[1]から引用する*1*2

次の3条件を満たす2点関数 D[P : Q]ダイバージェンスと呼ぶ.
1)  D[P : Q] \ge 0.
2)  P = Qのとき, このときに限り,  D[P : Q] = 0.
3)  P点と Q点が近いとし, それぞれの座標を,  {\boldsymbol \xi},\ {\boldsymbol \xi} + d{\boldsymbol \xi}とする. このとき,  D[{\boldsymbol \xi} : {\boldsymbol \xi} + d{\boldsymbol \xi}]テイラー展開すると,
 \displaystyle{
D[{\boldsymbol \xi} : {\boldsymbol \xi} + d{\boldsymbol \xi}] = \frac{1}{2} \sum g_{ij}({\boldsymbol \xi}) d\xi_i d\xi_j
}
と2次の項が最初に出るが, 行列
 \displaystyle{
G({\boldsymbol \xi}) = (g_{ij}({\boldsymbol \xi}))
}
は正定値対称である.

ただし、 {\boldsymbol \xi}は有限次元ベクトルである。

ダイバージェンスは距離の公理を満たしていない。すなわち、一般には D[P : Q] = D[Q : P]とならない。この醜い非対称性が後に華麗な蝶へと変貌を遂げるのであるが、それは双対ダイバージェンスのところで説明する。

Bregmanダイバージェンス

ダイバージェンスの中でも特に重要なものの1つにBregmanダイバージェンスがある。これは滑らかな狭義凸関数 \psi({\boldsymbol \xi})*3を用いて以下のように定義される[1]。

まず、点 {\boldsymbol \xi}'における接超平面の方程式は以下のようになる。

 \displaystyle{
z = \psi({\boldsymbol \xi}') + \nabla \psi({\boldsymbol \xi}') ({\boldsymbol \xi} - {\boldsymbol \xi}')
}

 {\boldsymbol \xi}において、この接超平面と元の関数 \psi({\boldsymbol \xi})の差は以下のようになる。

 \displaystyle{
D[{\boldsymbol \xi} : {\boldsymbol \xi}'] = \psi({\boldsymbol \xi}) - \psi({\boldsymbol \xi}') - \nabla \psi({\boldsymbol \xi}') ({\boldsymbol \xi} - {\boldsymbol \xi}')
}

これを凸関数 \psiから導かれる {\boldsymbol \xi}から {\boldsymbol \xi}'へのBregmanダイバージェンスと呼ぶ。

Bregmanダイバージェンスダイバージェンスの定義を満たすことは自明ではないため、本来であれば証明すべきである。実際、ノートで計算して確かめることは出来たのだが、それをブログに書き起こす気力と時間がなくなってしまったため、ここでは割愛する。

参考までに計算の指針だけ述べておく。まず、 D[ {\boldsymbol a} : {\boldsymbol \xi} ]について {\boldsymbol \xi} = {\boldsymbol a}における多変数のTaylor展開を計算する。0次の項は D[{\boldsymbol a} : {\boldsymbol a}] = 0である。1次の項も計算すると0になる。2次の項は計算すると \psiのHesse行列に等しくなる。 \psiは滑らかな凸関数と仮定しているため、これは正定値対称となる。

Legendre変換による双対空間

Bregmanダイバージェンスを定義するために凸関数が登場した。凸関数といえば皆さん何を思い浮かべるだろうか?いろいろあると思うが、凸関数にまつわる重要な概念としてLegendre変換が挙げられる。Legendre変換を行うことで、凸関数が定義された空間の双対空間、及び双対凸関数を得ることができる。

最終的には多変数の場合を考える必要があるが、まずは1変数の場合から考えてみよう。

1変数凸関数のLegendre変換

1変数の滑らかな凸関数 \psi(x)を考える。滑らかな凸関数の導関数は異なる xに対して必ず異なる値を取る。逆に適当な実数 pを与えると、それを導関数の値とするような点 xが一意に決まる。

すなわち、 \psi'(x)の定義域を S、値域を Dとすると、 \psi' : S \ni x \mapsto p \in D全単射となる。 Dのことを双対空間と呼ぶ。

ここで、 \psi(x)に以下のような変換を施すことで双対空間に対して新たな関数 \psi^{*}(p)を定める事ができる。

 \displaystyle{
\psi^{*}(p) = \max_{x}(px - \psi(x))
}

これをLegendre変換と呼ぶ。

右辺の px - \psi(x)を最大にする xについて考えてみよう。最大値を与える xにおいては、この式を x微分したものが0となる必要がある。すなわち、以下が成立する。

 \displaystyle{
\begin{eqnarray}
\frac{d}{dx}(px - \psi(x)) &=& 0 \\
p - \psi'(x) &=& 0 \\
p &=& \psi'(x)
\end{eqnarray}
}

すなわち、 \psi'(x)の値が pとなるような xにおいて px - \psi(x)は最大となる。これはつまり、 Dの元と一対一に対応する Sの元を選べば良いということを意味する。

詳細は後述するが、実は \psi^{*}(p)も凸関数であり、これを双対凸関数と呼ぶ。そのため、 \psi^{*}(p)に対して再度Legendre変換を施すことができるが、その結果は元の関数 \psi(x)と一致する[2]。つまり、Legendre変換の逆変換はLegendre変換そのものである。これより、双対性というのはあくまで相対的な概念に過ぎないことが分かる。

双対凸関数が凸関数であることの証明

双対凸関数が凸関数であることは自明ではないので、以下で証明してみよう。 \psi^{*}(p)の定義式において x pの関数であると考えると、2階導関数は以下のようになる。

 \displaystyle{
\begin{eqnarray}
\frac{\partial^2 \psi^{*}}{\partial p^2} &=& \frac{\partial^2}{\partial p^2} (px - \psi(x)) \\
&=& \frac{\partial}{\partial p} (x + px' - \psi'(x) x') \\
&=& 2x' - \psi''(x){x'}^2 + x''(p - \psi'(x))
\end{eqnarray}
}

 p = \psi'(x)を代入すると以下のようになる。

 \displaystyle{
\frac{\partial^2 \psi^{*}}{\partial p^2} = 2x' - \psi''(x){x'}^2
}

 p = \psi'(x)の両辺をpで微分して整理すると x' = \frac{1}{\psi''(x)}となる。これを代入すると以下のようになる。

 \displaystyle{
\frac{\partial^2 \psi^{*}}{\partial p^2} = \frac{1}{\psi''(x)}
}

2階導関数が瞬間的にでも0になることがあるような関数は面倒なので除外して考えると、 \psi''(x)は上に凸なら常に負、下に凸なら常に正となる。よって \psi^{*}{''}(p)の符号も一定となるため、 \psi^{*}(p)は凸関数である。

多変数凸関数のLegendre変換

少々くどいかもしれないが、1変数のときと同じ議論を多変数についても行ってみよう。

2つ以上の変数を持つ滑らかな凸関数 \psi({\boldsymbol \xi})を考える。滑らかな凸関数の勾配ベクトルは異なる {\boldsymbol \xi}に対して必ず異なるベクトルとなる。逆に適当な実数値ベクトル {\boldsymbol \xi}^{*}を与えると、それを勾配ベクトルとするような点 {\boldsymbol \xi}が一意に決まる。

この対応関係により、定義域と \psi({\boldsymbol \xi})の勾配ベクトルが取り得る値の間に一対一の対応関係が得られる。 {\boldsymbol \xi}^{*}が成す空間のことを双対空間と呼ぶ。

すなわち、 \nabla \psi({\boldsymbol \xi})の定義域を S、値域を Dとすると、 \nabla \psi : S \ni {\boldsymbol \xi} \mapsto {\boldsymbol \xi}^{*} \in D全単射となる。 Dのことを双対空間と呼ぶ。

ここで、 \psi({\boldsymbol \xi})に以下のような変換を施すことで双対空間に対して新たな関数 \psi^{*}({\boldsymbol \xi}^{*})を定める事ができる。

 \displaystyle{
\psi^{*}({\boldsymbol \xi}^{*}) = \max_{{\boldsymbol \xi}}({\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi}))
}

これをLegendre変換と呼ぶ。

右辺の {\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi})を最大にする {\boldsymbol \xi}について考えてみよう。最大値を与える {\boldsymbol \xi}においては、勾配ベクトルが零ベクトルとなる必要がある。すなわち、以下が成立する。

 \displaystyle{
\begin{eqnarray}
\nabla ({\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi})) &=& 0 \\
{\boldsymbol \xi}^{*} - \nabla \psi({\boldsymbol \xi}) &=& 0 \\
{\boldsymbol \xi}^{*} &=& \nabla \psi({\boldsymbol \xi})
\end{eqnarray}
}

すなわち、 \nabla \psi({\boldsymbol \xi})の値が {\boldsymbol \xi}^{*}となるような {\boldsymbol \xi}において {\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi})は最大となる。これはつまり、 Dの元と一対一に対応する Sの元を選べば良いということを意味する。

証明は大変そうなので諦めるが、1変数の場合と同じく \psi^{*}({\boldsymbol \xi}^{*})も凸関数であり、これを双対凸関数と呼ぶ。そのため、 \psi^{*}({\boldsymbol \xi}^{*})に対して再度Legendre変換を施すことができるが、その結果が元の関数 \psi({\boldsymbol \xi})と一致するというのも1変数の場合と同様である。

双対ダイバージェンス

双対凸関数は凸関数なので、これを用いると双対空間にもBregmanダイバージェンスを定義できる。

 \displaystyle{
D^{*}[{\boldsymbol \xi}^{*} : {\boldsymbol \xi}'^{*}] = \psi^{*}({\boldsymbol \xi}^{*}) - \psi^{*}({\boldsymbol \xi}'^{*}) - \nabla \psi^{*}({\boldsymbol \xi}'^{*}) ({\boldsymbol \xi}^{*} - {\boldsymbol \xi}'^{*})
}

これを双対ダイバージェンスと呼ぶ。

元のダイバージェンスとの関係

双対ダイバージェンスと元のダイバージェンスとの間には重要な関係がある。以下でそれを導いてみよう。

 {\boldsymbol \xi}, {\boldsymbol \xi}'について、双対空間において対応する点がそれぞれ {\boldsymbol \xi}^{*}, {\boldsymbol \xi}'^{*}であるとする。このとき以下の式が成り立つ。

 \displaystyle{
\begin{eqnarray}
\psi^{*}({\boldsymbol \xi}^{*}) &=& {\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi}) \\
\psi^{*}({\boldsymbol \xi}'^{*}) &=& {\boldsymbol \xi}' \cdot {\boldsymbol \xi}'^{*} - \psi({\boldsymbol \xi}') \\
\nabla \psi^{*}({\boldsymbol \xi}'^{*}) &=& {\boldsymbol \xi}'
\end{eqnarray}
}

これらを双対ダイバージェンスの式に代入すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
D^{*}[{\boldsymbol \xi}^{*} : {\boldsymbol \xi}'^{*}] &=& ({\boldsymbol \xi} \cdot {\boldsymbol \xi}^{*} - \psi({\boldsymbol \xi})) - ({\boldsymbol \xi}' \cdot {\boldsymbol \xi}'^{*} - \psi({\boldsymbol \xi}')) - {\boldsymbol \xi}' ({\boldsymbol \xi}^{*} - {\boldsymbol \xi}'^{*}) \\
&=& \psi({\boldsymbol \xi}') - \psi({\boldsymbol \xi}) - {\boldsymbol \xi}^{*}({\boldsymbol \xi}' - {\boldsymbol \xi})
\end{eqnarray}
}

これに  {\boldsymbol \xi}^{*} = \nabla \psi({\boldsymbol \xi})を代入すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
&& \psi({\boldsymbol \xi}') - \psi({\boldsymbol \xi}) - \nabla \psi({\boldsymbol \xi}) ({\boldsymbol \xi}' - {\boldsymbol \xi}) \\
&=& D[{\boldsymbol \xi}' : {\boldsymbol \xi}]
\end{eqnarray}
}

結局、以下の式が得られた。

 \displaystyle{
D^{*}[{\boldsymbol \xi}^{*} : {\boldsymbol \xi}'^{*}] = D[{\boldsymbol \xi}' : {\boldsymbol \xi}]
}

ダイバージェンスの定義を説明した際、ダイバージェンスは対称性を満たさないということを述べた。しかし、上式が示す通りBregmanダイバージェンスについては2つの引数を入れ替えたものは双対ダイバージェンスに一致するのである。元の空間だけでは対称性がないように見えるが、双対空間まで広げて考えるとこのように美しい対称性が現れるというのは非常に面白い。

ナブラを使わない表現方法

Bregmanダイバージェンスの定義式にはナブラ ( \nabla) が含まれており少々複雑である。実はこれはちょっとした式変形で回避できる。

これまでの議論が追えていれば簡単なので、以下に式変形だけ示す。

 \displaystyle{
\begin{eqnarray}
D[{\boldsymbol \xi} : {\boldsymbol \xi}'] &=& \psi({\boldsymbol \xi}) - \psi({\boldsymbol \xi}') - \nabla \psi({\boldsymbol \xi}') ({\boldsymbol \xi} - {\boldsymbol \xi}') \\
&=& \psi({\boldsymbol \xi}) - \psi({\boldsymbol \xi}') - {\boldsymbol \xi}'^{*} ({\boldsymbol \xi} - {\boldsymbol \xi}') \\
&=& \psi({\boldsymbol \xi}) + ({\boldsymbol \xi}' \cdot {\boldsymbol \xi}'^{*} - \psi({\boldsymbol \xi}')) - {\boldsymbol \xi}'^{*} \cdot {\boldsymbol \xi} \\
&=& \psi({\boldsymbol \xi}) + \psi^{*}({\boldsymbol \xi}'^{*}) - {\boldsymbol \xi}'^{*} \cdot {\boldsymbol \xi}
\end{eqnarray}
}

まとめ

本稿では情報幾何学のトピックのうち、Bregmanダイバージェンスとその双対ダイバージェンスに関する事柄について述べた。ダイバージェンスは対称性を持たないが、BregmanダイバージェンスについてはLegendre変換による双対空間まで考えることで美しい対称構造が得られることを確認した。

本稿ではまだ微分幾何学らしい概念は登場しなかった。つまり、ここで述べたことは情報幾何学の中ではまだまだ序の口ということである。次回以降、少しずつ幾何学的な内容に踏み込んでいきたいと思う。

*1:甘利先生の本[1]ではダイバージェンス微分可能性などに触れられないままいきなりTaylor展開しているところがもやもやする。あまり細かい数学的議論に重きを置いた本ではないので、これについては滑らかな関数であり、かつ剰余項は収束すると仮定を置いてしまうしかないのだろう。

*2:ダイバージェンスの引数に点を入れたり点の座標を入れたりと記号がぶれているが、本[1]に合わせた結果なので好意的に解釈して頂けるとありがたい。

*3:本[1]ではBregmanダイバージェンスの定義に用いる凸関数の性質について厳密な条件が記載されていない。議論を簡単にするために、ここでは滑らかな狭義凸関数であるとした。

クーポンコレクター問題の確率分布を解き明かす

クーポンコレクター問題というものをご存知だろうか?これは、例えば6種類のおもちゃが出るガシャポン*1があったとして、何回くらい引けば全種類引き当てる事ができるか?というようなことを考える問題である。

この問題に対して、平均や分散がどうなるかということは非常によく語られることである[1]。また、時として不等式による評価について議論している記事を見かけることもある[2]。

しかし、肝心の確率分布については議論される事が非常に少ない。あまりにも記事を見かけないので、私は当初クーポンコレクター問題の確率分布を求めることは不可能なのではないかとさえ思っていた。

それでもめげずに調べ続けた結果、私はついに確率分布について結論を出しているページを見つけた。本稿ではそれを紹介し、喜びを分かち合いたいと思う。

第2種スターリング数

クーポンコレクター問題の確率分布を求めるためには、第2種スターリング数について理解しておく必要がある。少し長いが、定義をWikipediaから引用する[3]。

第2種スターリング数
第2種スターリング数 (Stirling number of the second kind)  \{{\textstyle {n \atop k}}\}は、 x^{n}を下降階乗冪 x^{\underline {k}}\equiv x\,(x-1)(x-2)\cdots (x-k+1)級数:

 \displaystyle{
x^{n}=\sum _{k=0}^{n}\left\{{n \atop k}\right\}\,x^{\underline {k}}
}

で展開したときの展開係数として定義される。この定義では、 0\leq k\leq nである。便宜上、 \{{\textstyle {0 \atop 0}}\}=1と定義する。第2種スターリング数は

 \displaystyle{
\left\{{n \atop k}\right\}=\left\{{n-1 \atop k-1}\right\}+k\,\left\{{n-1 \atop k}\right\}
}

なる漸化式で計算できる。

定義も大切なのだが、第2種スターリング数は以下のように特徴付けられるということが重要である[3]。

第2種スターリング数の特徴付け
第2種スターリング数 \{{\textstyle{n \atop k}}\}は、組合せ数学において、番号づけされた n個の要素をグループ k個に分割する組み合わせの数を与える。分割する要素は番号付けされているので個別に区別できるが、グループは順序を特に区別しないものとする。

クーポンコレクター問題の確率分布

準備が整ったので、確率分布を求めてみよう。以下の議論は全て[4][5]を参考にした。

集めるクーポンの種類を k種類とし、初めて全種類のクーポンを取得できるまでの試行回数を表す確率変数を Nとする。この時、 n回目の試行で初めて全種類のクーポンを取得できる確率 P(N = n)を求める。

 n回の試行により出現し得るクーポンの出方の総数は k^nである。もし n回目の試行で初めて全種類のクーポンが出るパターンの総数が分かれば、それを k^nで割ったものが求める確率である。

 n回目の試行で初めて全種類のクーポンが出揃うということは、 n-1回目の時点で k-1種類のクーポンがすでに出ている必要がある。このパターンの総数を求めるために、 n-1回目までの試行に対して1から順に番号を割り振る。そして、これらの番号付けられた試行を k-1個のグループに分ける。同じグループに分けられた試行については同じクーポンが得られたと考える。この分け方のパターンの総数は第2種スターリング数 \{\textstyle{n-1 \atop k-1}\}となる。

第2種スターリング数は分けられたグループの間の順序は区別しないが、今はクーポンの種類は区別されるので、 (k-1)!を掛ける。さらに、 n-1回目までに出る k-1種類のクーポンは k種類のうちどれであるかは問わないので、全てのパターンをカウントする必要がある。そのため、 \left(\textstyle{k \atop k-1}\right) = kを掛ける。結局、 n-1回目の時点で k-1種類のクーポンが出現するパターンの総数は k! \{\textstyle{n-1 \atop k-1}\}となる。

 n回目の試行でまだ出ていない最後のクーポンが出るパターンの総数は1なので、 n回目の試行で初めて全種類のクーポンが出るパターンの総数は k! \{\textstyle{n-1 \atop k-1}\}となる。以上の議論により次の式を得る。

 \displaystyle{
P(N = n) = \frac{k!}{k^n} \{\textstyle{n-1 \atop k-1}\}
}

計算してみよう

 n, kにいくつか具体的な数値を入れて P(N = n)を計算してみよう。手計算ではやっていられないので、pythonを利用する。第2種スターリング数はsympyのstirling関数を用いて計算することが出来るので、それを利用する[6]。数値だけ示しても分かり辛いので、結果をmatplotlibでグラフ化した。Python自体はpydroid3を使って実行した[7]。なお、sympyなどの必要なパッケージはあらかじめpipでインストールしておく必要がある。

計算に用いたソースコードを以下に示す。

from sympy.functions.combinatorial.numbers import stirling
import matplotlib.pyplot as plt
import math

startCouponKind = 2
numCouponKind = 6
numTrial = 30
for k in range(startCouponKind, numCouponKind+1):
  x = []
  y = []
  for n in range(1, numTrial+1):
    stir = stirling(n-1, k-1, kind = 2)
    prob = math.factorial(k) * stir / (k**n)
    x.append(n)
    y.append(prob)
  plt.plot(x, y, label='k = {}'.format(k))
plt.legend()
plt.savefig('/storage/emulated/0/coupon.png')

得られたグラフを以下に示す。

f:id:peng225:20190314084353j:plain

途中でピークを持ち、右側に裾野が広がっている様子が見て取れる。 nが小さいときに確率が0となる領域があるが、これはクーポンの種類よりも試行回数が少ないときの様子が表れているものである。

また、 kの増え方に対して、ピークの位置が右に移動していく速度の方がやや速いように見える。実際、全種類コンプリートするまでの試行回数の期待値は O(k \mathrm{log} k)なので、これは理論的にも辻褄が合っている[1]。

まとめ

本稿ではクーポンコレクター問題の確率分布を明らかにし、実際に計算を行った結果を示した。クーポンコレクター問題ではパターンを数え上げる事が難しかったが、その難しさを既知の概念である第2種スターリング数に押し込めることで、理論的にスッキリとした結論を得ることができた。

これまで組み合わせ数学には興味がなかったが、本稿を書き上げるうちにその面白さを垣間見る事ができた。またいずれ体系的に勉強しよう。

*1:これの呼び方は地方によって差があるような気がするが、自分の流儀で呼ばせて頂く。

いくつかのLie群がLie群であることを定義に戻って確かめる

Lie 群は難しい。この理由の1つは、議論の前提となる領域が広いことにあると思われる。Lie群とは群であり多様体であるような数学的対象である。そのため、定義を理解するだけで群論多様体の知識が求められる。また、Lie群の教科書で最初に扱われるような基本的なLie群は行列群である。しかも、そのコンパクト性に着目した議論も多い。そのため、線形代数位相空間の基礎的な事項も理解しておくことが望ましい。

繰り返すが、Lie群は難しい。私はここ最近Lie群を勉強し始めて、この事実を痛感している。こういう時は足元を一歩ずつ踏み固めて行くしかない。その一環として、本稿ではいくつかの基本的なLie群について、それらが本当にLie群になっていることを定義に照らし合わせて確認してみる。

本稿では私の独断で以下の2つのLie群を扱う。

準備

Lie群の定義

Lie群の定義を[1]より引用する。

多様体 Gが群構造を持ち、その群演算
 \displaystyle{
G \times G \to G;\ (x, y) \mapsto xy,
\ \ G \to G;\ x \mapsto x^{-1}
}
 C^{\infty}写像になるとき、 GLie群と呼ぶ。

多様体上の写像 C^{\infty}級であるということ

Lie群の定義の中で C^{\infty}写像という言葉が出てきた。この定義を[2]より引用する。

1点においてCs
連続写像 f: M \to Nが, 1点 p \in Mにおいて C^s級であるとは,  pを含む M C^r級座標近傍 (U; x_1, \cdots , x_m) f(p)を含む N C^r級座標近傍 (V; y_1, \cdots , y_n)が存在して,
(1)  f(U) \subset Vかつ
(2)  (U; x_1, \cdots , x_m) (V; y_1, \cdots , y_n)に関する fの局所座標表示が C^s級である,
この2つの条件がなりたつことである. ただし,  1 \le s \le r.
Cs写像
 f: M \to N C^s写像 (mapping of class  C^s) であるとは,  Mの各点 pにおいて f C^s級であることである.

上記定義において s = \inftyとすれば C^{\infty}写像の定義となる。

部分多様体に関する定理

後で使う定理について説明するために、正則点・臨界点、及び正則値・臨界値の定義を述べておく[2]。

正則点・臨界点
 Mの点 pにおける f微分
 \displaystyle{
(df)_p : T_p (M) \to T_{f(p)} (N)
}
が‘上へ’の線形写像であるとき,  p fの正則点 (regular point) とよぶ.  (df)_pが‘上へ’の線形写像でないとき,  p fの臨界点 (critical point) という.
正則値・臨界値
 f : M \to Nの臨界点全部の集合 (臨界点集合) を C_fで表す ( C_f Mの部分集合である) .
 C_fの像 f(C_f)に属する Nの点 q fの臨界値 (critical value) とよぶ. 臨界値でない Nの点を fの正則値 (regular value) という.

以下の定理を後の議論で使用する[2]。

部分多様体に関する定理
 q \in N C^r写像 f: M \to Nの正則値で,  f^{-1}(q) \neq \phiであるとすると, 逆像 f^{-1}(q) M (m-n)次元 C^r級部分多様体である.

Lie群であることの確認

以上で準備が整ったので、Lie群であることの確認に移る。本稿では群であることの確認はサボり、それぞれのLie群について以下の3点を確認した。

  •  C^{\infty}多様体であること
  • 群演算が C^{\infty}写像であること
  • 逆元を取る操作が C^{\infty}写像であること

一般線形群 \mathrm{GL}(n, \mathbb{R})

 C^{\infty}多様体であること

 \mathbb{R} n次正方行列全体の集合を  \mathrm{M}(n, \mathbb{R})と書く。 \mathrm{GL}(n, \mathbb{R}) \mathrm{M}(n, \mathbb{R})の部分集合のうち、以下のように表されるものである。

 \displaystyle{
\{A \in \mathrm{M}(n, \mathbb{R}) | \mathrm{det} (A) \neq 0\}
}

実は、 \mathrm{GL}(n, \mathbb{R}) \mathrm{M}(n, \mathbb{R})の開部分集合となる。詳細は[3]の命題1.17に譲り、ここでは概要だけ説明する。まず、 \mathrm{det} :  \mathrm{M}(n, \mathbb{R}) \to \mathbb{R}連続写像である。このとき、 \mathrm{GL}(n, \mathbb{R}) = \mathrm{det}^{-1}\left(\{x \in \mathbb{R} | x \ne 0\}\right)と書ける。 \{x \in \mathbb{R} | x \ne 0\} \mathbb{R}の開集合なので、連続写像 \mathrm{det}による逆像も開集合となる。

ここで、 \mathrm{M}(n, \mathbb{R})に属する行列の各成分を座標と見なすと、これは \mathbb{R}^{n^2}と同一視できる。そのため、
 \mathrm{M}(n, \mathbb{R}) C^{\infty}多様体となる。その開部分集合も C^{\infty}多様体となるので、 \mathrm{GL}(n, \mathbb{R}) C^{\infty}多様体となる。このような多様体を開部分多様体と呼ぶ[2]。

群演算が C^{\infty}写像であること

 \mathrm{GL}(n, \mathbb{R})の群演算は通常の行列の掛け算である。この写像 \mathrm{mul} : \mathrm{GL}(n, \mathbb{R}) \times  \mathrm{GL}(n, \mathbb{R}) \to \mathrm{GL}(n, \mathbb{R})と表す。以下で \mathrm{mul} C^{\infty}級であることを示す。

 \mathrm{GL}(n, \mathbb{R})はそれ自身 \mathbb{R}^{n^2}の開集合と見なせるため、そのアトラスとして自分自身だけを座標近傍として含む、要素数1の集合族を取れる。  \mathrm{GL}(n, \mathbb{R}) \times  \mathrm{GL}(n, \mathbb{R})についても、積多様体のアトラスの定義を考えると、やはりアトラスとして自分自身だけを要素として含む集合族を取れる。よって \mathrm{GL}(n, \mathbb{R})  \mathrm{GL}(n, \mathbb{R}) \times  \mathrm{GL}(n, \mathbb{R})は共に C^{\infty}多様体である。

任意の点 (A, B) \in \mathrm{GL}(n, \mathbb{R}) \times  \mathrm{GL}(n, \mathbb{R})について、 \mathrm{mul}( (A, B) ) = ABの各成分は A, Bの成分の多項式となる。よって \mathrm{mul} (A, B)において C^{\infty}級である。 (A, B)は任意なので、 \mathrm{mul} C^{\infty}写像である。

逆元を取る操作が C^{\infty}写像であること

 \mathrm{GL}(n, \mathbb{R})の元の逆元を取る操作とは、逆行列を求める操作を意味する。この写像 \mathrm{inv} : \mathrm{GL}(n, \mathbb{R}) \to \mathrm{GL}(n, \mathbb{R})と表す。以下で \mathrm{inv} C^{\infty}級であることを示す。

任意の点 A \in \mathrm{GL}(n, \mathbb{R})について、 \mathrm{inv}(A) = A^{-1}である。逆行列は余因子行列を行列式で割ることによって得られるため、 A^{-1}の各成分は Aの成分の有理式となる。よって \mathrm{inv} Aにおいて C^{\infty}級である。 Aは任意なので、 \mathrm{inv} C^{\infty}写像である。

 \mathrm{inv}の定義域は \mathrm{GL}(n, \mathbb{R})なので、行列式は常に0ではないことに注意されたい。

直交群 \mathrm{O}(n)

 C^{\infty}多様体であること

これを示すのは思いのほか難しいため、証明のアウトラインだけ述べることにする。詳細は[4]を参照されたい。

 n次実対称行列全体の集合を \mathrm{S}(n)とする。 \mathrm{S}(n) \mathbb{R}^{n(n+1)/2}と同一視できるため、 n(n+1)/2 C^{\infty}多様体である。

この時、以下のような写像を考える。

 \displaystyle{
f : \mathrm{M}(n, \mathbb{R}) \to \mathrm{S}(n), A \mapsto AA^T
}

 f C^{\infty}写像である。 Aが直交行列のとき、その逆行列 A^Tとなる。そのため、 \mathrm{O}(n) = f^{-1}(I)となる。ここで、 I単位行列である。

もし I fの正則値であれば、先ほど提示した定理により \mathrm{O}(n) n(n-1)/2 C^{\infty}多様体となる。そのためには、 \mathrm{O}(n)の全ての点における微分全射になれば良い。具体的に微分計算を行い、それが全射であることを確かめるアプローチになるが、体力の限界なのでこれ以降は[4]にお任せする。

群演算が C^{\infty}写像であること

 \mathrm{O}(n)の群演算は  \mathrm{GL}(n, \mathbb{R})における群演算を  \mathrm{O}(n) \times  \mathrm{O}(n)に制限した写像 \mathrm{mul} |_{\mathrm{O}(n) \times \mathrm{O}(n)}によって与えられる。これは包含写像 i : \mathrm{O}(n) \times \mathrm{O}(n) \to \mathrm{GL}(n, \mathbb{R}) \times  \mathrm{GL}(n, \mathbb{R}) \mathrm{mul}によって以下のように書ける。

 \displaystyle{
\mathrm{mul} |_{\mathrm{O}(n) \times \mathrm{O}(n)} = \mathrm{mul} \circ i
}

 i \mathrm{mul}はどちらも C^{\infty}級であるため、それらの合成写像 C^{\infty}級となる。よって \mathrm{O}(n)の群演算は C^{\infty}写像である。

逆元を取る操作が C^{\infty}写像であること

群演算とほぼ同じように制限写像を考えれば良い。詳細は割愛する。

まとめ

本稿では一般線形群と直交群が共にLie群であることを確認した。どちらも非常に有名なLie群でありながら、それを示すのは意外と大変だった。Lie群を理解するまでの道のりは険しい。

今こそJordan標準形と向き合う

線形代数を勉強して、Jordan標準形という言葉を耳にしたことがない人はいないだろう。Jordan標準形とは、ざっくり言えば行列の対角化を一般化したようなものである。行列の対角化はいつでもできるとは限らず、報われない行列たちが存在する。一方、Jordan標準形は常に存在することが知られており、まさに行列界の救世主と言える。

私もかつて大学院入試の際にJordan標準形について勉強したことはある。しかし、専攻が情報系というのもあって、当時勉強したのは主にJordan標準形への変形方法だけで、その背後にある数学的な面白さについては理解していなかった。

そこで、本稿ではJordan標準形とは何なのか、その理論的な詳細について考えてみる。

行列は線形写像の映し鏡

始めに、本稿を読み進めるにあたって重要となる考え方について述べておく。

ベクトル空間上の線形写像は行列によって表現することができる。特に、線形変換は線形写像であるから、これも行列によって表現可能である。対角化やJordan標準形を考える上では、この逆を考えることが重要である。すなわち、ある行列に対して、それが何らかの線形変換の表現行列なのだと捉えるのである。

行列というのは線形変換をある基底に対して表現したものに過ぎず、基底の取り方によって姿を変え得る。唯一不変なのはその背後にある線形変換であり、線形変換を通して行列の振る舞いを考えることがJordan標準形の理解へと繋がる。

線形変換を通したベクトル空間の分解

固有空間への分解

 n次元ベクトル空間 Vに対して、ある線形変換 Tが定められており、 m個の固有値 \lambda_1, \lambda_2, \cdots ,  \lambda_mを持つとする。この時、各固有値について、それに対応する固有空間 W_1, W_2, \cdots, W_nが存在する。ここでは線形変換の固有値、及び固有空間について述べているのであって、行列については一切触れていないことに注意されたい。

固有空間の基底は固有ベクトルであるから、固有空間に属する任意のベクトルに Tを作用させると、それらは単に元のベクトルの固有値倍となる。ゆえに、固有空間は T不変な部分空間となる。

全ての固有空間の次元の和が nに等しい場合、以下の式が成立する。

 \displaystyle{
\begin{eqnarray}
&& V = W_1 \oplus W_2 \oplus \cdots \oplus W_n \\
&& T(W_i) \subseteq W_i
\end{eqnarray}
}

広義固有空間への分解

さて、いつもこのようになっていれば良いのだが、残念ながらそうはならないケースが存在する。すなわち、全ての固有空間の次元の和が nを下回るような場合である。このような場合でも、何とかうまく Vを直和分解出来ないだろうか?

実は、これは可能である。 W_iが固有空間であるという条件を緩和して、 T不変性と直和分解されるという性質だけを担保することで、 Vを先ほどと全く同じような直和分解の形に持ち込むことができる。

では、具体的にどのような部分空間に分解してやれば良いだろうか?それを考えるために、まずは固有ベクトル {\bf x} \in W_iについて、以下のような式変形を行う。

 \displaystyle{
\begin{eqnarray}
T{\bf x} &=& \lambda_i {\bf x} \\
(T - \lambda_i I){\bf x} &=& {\bf 0}
\end{eqnarray}
}

これより、固有ベクトルというのは T - \lambda_i Iを作用させると零ベクトルになるようなベクトルであると言える。または、簡潔に W_i = \mathrm{Ker} (T - \lambda_i I)である。

ここから着想を得て、 T - \lambda_i Iだけでなく、 (T - \lambda_i I)^k ( kは任意の自然数) を作用させて零ベクトルになるようなベクトルの集合を考えてみる。これが実は Vの部分空間となっており、さらに T不変性と直和分解されるという性質を満たしている。このようにして得られる空間を広義固有空間と呼ぶ。これを W_i'と表記すると、やはり簡潔に W_i' =  \mathrm{Ker} \{(T - \lambda_i I)^k\}と書ける。

少し確認してみよう。まず T不変性について、以下の式を考える。

 \displaystyle{
\begin{eqnarray}
(T - \lambda_i I)^k (T{\bf x}) &=& (T - \lambda_i I)^{k-1}(T^2 - \lambda_i T) {\bf x} \\
&=& (T - \lambda_i I)^{k-1}T(T - \lambda_i) {\bf x} \\
&=& \cdots \\
&=& T(T - \lambda_i I)^k {\bf x} \\
&=& {\bf 0}
\end{eqnarray}
}

 (T - \lambda_i I)^kを作用させて零ベクトルになったので、 T{\bf x} \in W_i'が言える。

続いて Vが各 W_i'の直和になることについてだが、これは思ったより証明が大変なので、ここではサボって[1]に譲ることにする。

直和分解について一点だけ注意事項を述べておく。ここまで広義固有空間への直和分解について説明したが、実は広義固有空間はさらに直和分解できる場合がある。具体的には、後述するJordan鎖の数だけさらに直和分解可能である。詳細はここでは述べないが、[2]などが参考になるだろう。

広義固有空間の基底

次に、 W_i'の基底について考えてみよう。 W_i'の次元を m_iとする。固有ベクトル {\bf x}_1 \in W_i'について、 (T - \lambda_i I) {\bf x}_2 = {\bf x}_1を満たすベクトル {\bf x}_2を考える。このような {\bf x}_2は存在するかもしれないし、しないかもしれない。もし存在すれば、 (T - \lambda_i I)^2 {\bf x}_2 = {\bf 0}となるため、 {\bf x}_2 \in W_i'が言える。しかも、これは {\bf x}_1スカラー倍でもない。そのため、 \{{\bf x}_1, {\bf x}_2\}は一次独立である。

帰納的に、 (T - \lambda_i I) {\bf x}_{j+1} = {\bf x}_jとなるベクトル {\bf x}_{j+1}を考える。すると、 (T - \lambda_i I)^{j+1} {\bf x}_{j+1} = {\bf 0}となるため {\bf x}_{j+1} \in W_i'が言える。しかも、 \{{\bf x}_1, {\bf x}_2\, \cdots , {\bf x}_{j+1}\}は一次独立になる。

基底は最大で m_i個しか取れないので、この操作はどこかで頭打ちとなる。このようにして得られるベクトルの列をJordan鎖という。Jordan鎖は1つ以上存在し、全てのJordan鎖を構成する全ベクトルを寄せ集めると、これは W_i'の基底となる。これを広義固有ベクトルと呼ぶ。

広義固有空間の構造を完全に明らかにするためには、Jordan鎖は長さいくつのものが何本存在するのかを知る必要がある。これは \mathrm{Ker} \{(T - \lambda_i I)\}, \mathrm{Ker} \{(T - \lambda_i I)^2\}, \cdotsの次元を順に計算し、それらがどのように増えていくかを調べれば分かる。が、込み入った話になるので詳細は[3]を参照されたい。

広義固有ベクトルを基底とした場合の表現行列

以上、線形変換の性質についていろいろと述べたが、ここからいよいよJordan標準形の話に入っていく。

いきなり天下り的だが、線形変換 Tについて、全ての固有値に対する広義固有ベクトルを全て集め、それらを基底とした場合の表現行列について考えてみよう。同じ広義固有空間から抽出した広義固有ベクトルは隣り合うように並べて、その中でさらに同じJordan鎖に属するベクトルも順に並べて添字をつけたものを \{{\bf x}_1, {\bf x}_2\, \cdots , {\bf x}_{n}\}とする。ここで、以下のような写像 \phi : V \to \mathbb{R}^nを定義する。

 \displaystyle{
\phi({\bf x}_i) = {\bf e}_i\ (i=1, 2, \cdots , n)
}

ここで、 {\bf e}_i \mathbb{R}^nの標準基底である。これによって Tの表現行列 Aが定まる。 Aによって実現される \mathbb{R}^n上の線形変換を T_Aとすると、以下のような可換図式が得られる。

 \displaystyle{
\xymatrix{
    V \ar[r]^{T} \ar[d]^{\phi} & V \ar[d]^{\phi} \\
    \mathbb{R} \ar[r]^{T_A} & \mathbb{R}
}
}

これを成立させるためには、 Aはどのような行列であれば良いだろうか?これを一般的な状況で説明するのは非常に煩雑なので、ここでは以下のような具体的な設定の元で議論を進める。

  •  n = 6
  • 固有値 \lambda_1, \lambda_2の2つであり、それぞれの代数的重複度は5, 1である。
  •  \lambda_1について、以下の2つのJordan鎖がある。
    •  {\bf x}_1, {\bf x}_2, {\bf x}_3
      •  (T - \lambda_1 I){\bf x}_1 = 0
      •  (T - \lambda_1 I){\bf x}_2 = {\bf x}_1
      •  (T - \lambda_1 I){\bf x}_3 = {\bf x}_2
    •  {\bf x}_4, {\bf x}_5
      •  (T - \lambda_1 I) {\bf x}_4 = 0
      •  (T - \lambda_1 I){\bf x}_5 = {\bf x}_4
  •  \lambda_2に対応する固有値ベクトルは {\bf x}_6とする。
    •  (T - \lambda_2 I) {\bf x}_6 = 0

まず、上で示した可換図式により T_A = \phi \circ T \circ \phi^{-1}となる。また、具体的な設定の中で示した式を変形すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
&&T{\bf x}_1 = \lambda_1 {\bf x}_1 \\
&&T{\bf x}_2 = {\bf x}_1 + \lambda_1 {\bf x}_2 \\
&&T{\bf x}_3 = {\bf x}_2 + \lambda_1 {\bf x}_3 \\
&&T{\bf x}_4 = \lambda_1 {\bf x}_4 \\
&&T{\bf x}_5 = {\bf x}_4 + \lambda_1 {\bf x}_5 \\
&&T{\bf x}_6 = \lambda_2 {\bf x}_6
\end{eqnarray}
}

さらに、これらに \phiを作用させると以下のようになる。

 \displaystyle{
\begin{eqnarray}
&&(\phi \circ T){\bf x}_1 = \lambda_1 {\bf e}_1 \\
&&(\phi \circ T){\bf x}_2 = {\bf e}_1 + \lambda_1 {\bf e}_2 \\
&&(\phi \circ T){\bf x}_3 = {\bf e}_2 + \lambda_1 {\bf e}_3 \\
&&(\phi \circ T){\bf x}_4 = \lambda_1 {\bf e}_4 \\
&&(\phi \circ T){\bf x}_5 = {\bf e}_4 + \lambda_1 {\bf e}_5 \\
&&(\phi \circ T){\bf x}_6 = \lambda_2 {\bf e}_6
\end{eqnarray}
}

上式に {\bf x}_i = \phi^{-1}({\bf e}_i)を代入することで、 T_Aは以下のような変換であることが分かる。

 \displaystyle{
\begin{eqnarray}
&&T_A{\bf e}_1 = \lambda_1 {\bf e}_1 \\
&&T_A{\bf e}_2 = {\bf e}_1 + \lambda_1 {\bf e}_2 \\
&&T_A{\bf e}_3 = {\bf e}_2 + \lambda_1 {\bf e}_3 \\
&&T_A{\bf e}_4 = \lambda_1 {\bf e}_4 \\
&&T_A{\bf e}_5 = {\bf e}_4 + \lambda_1 {\bf e}_5 \\
&&T_A{\bf e}_6 = \lambda_2 {\bf e}_6
\end{eqnarray}
}

よって、 Aは以下のような行列であることが分かる。

 \displaystyle{
A = 
\left(
\begin{array}{cccccc}
\lambda_1 & 1 & 0 & 0 & 0 & 0  \\
0 & \lambda_1 & 1 & 0 & 0 & 0  \\
0 & 0 & \lambda_1 & 0 & 0 & 0  \\
0 & 0 & 0 & \lambda_1 & 1 & 0  \\
0 & 0 & 0 & 0 & \lambda_1 & 0  \\
0 & 0 & 0 & 0 & 0 & \lambda_2
\end{array}
\right)
}

これはJordan標準形そのものである。結局、線形変換の基底として広義固有ベクトルを選んだ場合の表現行列こそが、Jordan標準形の正体なのである。

広義固有ベクトルへの座標変換

最後に、適当な行列をJordan標準形に変形するとはどういうことなのか、その意味を考えてみよう。

Jordan標準形になっていない n次正方行列 Bを考える。 Bをあるベクトル空間 V上の線形変換 Tの表現行列であると考えると、これは基底として広義固有ベクトル以外のものを選んだ場合であると解釈できる。これをJordan標準形に変形する事は、基底を広義固有ベクトルに取り替えることを意味する。

 Bが表現行列となるような Vの基底を {\bf y}_1, {\bf y}_2, \cdots, {\bf y}_nとし、写像 \psi: V \to \mathbb{R}^nを以下のように定める。

 \displaystyle{
\psi({\bf y}_i) = {\bf e}_i\ (i=1, 2, \cdots , n)
}

すると、以下の可換図式が得られる。

 \displaystyle{
\xymatrix{
    \mathbb{R} \ar[r]^{T_B} & \mathbb{R} \\
    V \ar[r]^{T} \ar[d]^{\phi} \ar[u]_{\psi} & V \ar[d]^{\phi} \ar[u]_{\psi} \\
    \mathbb{R} \ar[r]^{T_A} & \mathbb{R}
}
}

これより、広義固有ベクトルを基底とした場合の変換 T_Aは以下のようにして得られる。

 \displaystyle{
\begin{eqnarray}
T_A &=& \phi \circ \psi^{-1} \circ T_B \circ \psi \circ \phi^{-1} \\
&=& (\psi \circ \phi^{-1})^{-1} \circ T_B \circ (\psi \circ \phi^{-1})
\end{eqnarray}
}

 \psi \circ \phi^{-1}は基底の取り替えを表す写像である。この写像の表現行列を Pとすると、よく見慣れたJordan標準形への変換式 A = P^{-1}BPが得られる。

ちなみに、 Pを具体的に求めると、これは広義固有ベクトルを列ベクトルとして順に並べた行列になっている。そのようになる理由は説明すると長くなるので、私の体力の都合により割愛する。

まとめ

本稿ではJordan標準形の理論的側面について述べた。結論として、Jordan標準形とは広義固有ベクトルを基底としたときの線形変換の表現行列であることが分かった。また、Jordan標準形への変換とは、基底を広義固有ベクトルに取り替える操作であることが分かった。

本稿ではJordan標準形の応用面について触れることが出来なかった。これについてはまた機会があれば調べてみたい。