入門情報幾何を読んでいて詰まったところをまとめる。
1. 接ベクトル・接空間の定義
n次元多様体$(M,\mathcal{S})$上の点$p\in M$における接ベクトル・接空間は次のように定義される。
$v_{1},\dots,v_{n}\in\mathbb{R}$に対して
v_{p}=\sum_{i=1}^nv_{i}\left. \frac{\partial}{\partial x_{i}} \right|_{p}\tag{1}
を$p$における接ベクトルという。
さらに,$p$における接ベクトル全体の集合を$T_{p}M$と表し,接空間と呼ぶ。すなわち,
T_{p}M=\left\{\sum_{i=1}^nv_{i}\left.\frac{\partial}{\partial x_{i}} \right|_{p} \middle| v_{1},\dots,v_{n}\in\mathbb{R}\right\}
2. 矢印ではなく方向微分演算子としての接ベクトル
2.1 矢印としての接ベクトル
接ベクトルをまずは矢印としてイメージすると以下のようになる。
(参照:https://storytellphys.wordpress.com/2024/10/26/接ベクトル)
多様体$M$の中の1点$p$において$M$と接するような矢印をイメージすればよいはず。
このように矢印としてベクトルを定義すると困るのは$p$が$M$から飛び出してしまう,すなわち$M$の中だけで定義することができないということだ(後述)。
そこで多様体上ではベクトルを作用素,つまり関数に何をするかとして定義する。
とくに,微分幾何では接ベクトルを関数を方向微分する演算子として定義する。
したがって接ベクトルとはベクトルでありながら,同時に関数を入力としてその方向微分を出力する演算子であることに注意が必要である。
以降ではどのようにしてベクトルが演算子として定義できるかについて説明する。
2.2 2次元平面における方向微分
点$p=(p_{x},p_{y})\in\mathbb{R}^2$におけるベクトル$v=(a,b)$方向への関数$f(x,y)$の方向微分は以下のように定義されるのだった。
\begin{align}
D_{v}f(p)&=\nabla f(p)\cdot v \\
&=\left(\left. \frac{\partial f}{\partial x}\right|_{p}, \left. \frac{\partial f}{\partial y}\right|_{p} \right)\cdot(a,b) \\
&= a \left. \frac{\partial f}{\partial x}\right|_{p}+b\left. \frac{\partial f}{\partial y}\right|_{p}
\end{align}
この最後の式を$f$でくくると,
$$D_{v}f(p)=\left(a \frac{\partial}{\partial x}+b \frac{\partial}{\partial y}\right)f(p)$$
が得られる。この式をみると次の(1),(2)がわかる。
- (1) $\left(a \frac{\partial}{\partial x}+b \frac{\partial}{\partial y}\right)$が方向微分演算子$D_{v}$を定めている。
- (2) この演算子はベクトル$v=(a,b)$を決めると一意に定まる。
2.3 方向微分としての接ベクトル
ベクトル$v=(a,b)$に対して方向微分演算子$D_{v}=\left(a \frac{\partial}{\partial x}+b \frac{\partial}{\partial y}\right)$が一意に定まることからこの微分演算子そのものをベクトルとして定義したのが式(1)の意味である。
この視点で,もう一度接ベクトルの定義を見てみると,以下のように解釈できる。
\begin{align}
v_{p}&=\sum_{i=1}^nv_{i}\left. \frac{\partial}{\partial x_{i}} \right|_{p} \\
&=v_{1}\left. \frac{\partial}{\partial x_{1}} \right|_{p} +
v_{2}\left. \frac{\partial}{\partial x_{2}} \right|_{p}+\cdots+
v_{n}\left. \frac{\partial}{\partial x_{n}} \right|_{p}
\end{align}
\begin{align}
&v_{p}:点pにおける,v方向への微分演算子としての接ベクトル\\
&\left. \frac{\partial}{\partial x_{i}} \right|_{p}:基底ベクトル\\
&v_{i}:ベクトルの成分
\end{align}
3. 多様体上のベクトルは矢印だと不都合
なぜ矢印的なベクトルから,わざわざ微分演算子として接ベクトルを定義するか。
それは矢印的なベクトルは外在的であることが不都合であるというのが一つの理由である。
例えば多様体として地球表面を,多様体上の点として北極点を考える。北極点に接するベクトルを矢印として考えると,その矢印は地球表面をすぐに離れて3次元空間に飛び出してしまう。
これが多様体の上での矢印的なベクトルの弱点である。ベクトルを定義するために多様体が埋め込まれている,より高次元の平らな空間の存在を仮定している。
上の接ベクトルの図も,地球人の目線ではなく宇宙人の目線で地球上の接ベクトルを捉えている。これが外在的な観点。
このように,より高次の空間に埋め込まれていることを前提とすることを外在的という言葉で表現する。
これが不都合であるのは,例えば一般相対性理論において宇宙そのものを多様体として扱うとき,その外側に高次元空間があるとは限らないからである。
したがって多様体上のベクトルは多様体の内側だけで定義したい。
式(1)を見ると,微分演算子としてのベクトルは多様体上の点$p$とその点における微分という操作のみで記述できる,すなわち多様体の内側のみの概念で記述できていることが分かる。
4. なぜ接ベクトルは他でもなく方向微分演算子なのか。
4.1 線形性と局所性を満たす演算子として接ベクトルを定義したい。
これまでの議論で,多様体の上では接ベクトルを内在的に定義したいため矢印ではなく演算子として定義したいことを説明した。
では,どんな演算子が接ベクトルとしてふさわしいだろうか。
これは「線形性」と「局所性」を同時に満たす演算子である。
線形性を満たしてほしい理由:
曲がった空間である多様体は扱いにくくいため,各点の接ベクトルの集合(=接空間)が最も扱いやすい空間である線形空間になってほしいから。
復習:演算としての接ベクトルが線形性を満たすとは次の等式が成り立つことをいう。
$$v_{p}(c_{1}f_{1}+c_{2}f_{2})=c_{1}v_{p}(f_{1})+c_{2}v_{p}(f_{2})$$
局所性を満たしてほしい理由:
空間のある一点でのみ空間に接するように定義したいから。
すなわちここでの局所性とは出力が入力の1点にのみ依存し,他の点に依存しないことといえる。
ここで局所性を満たすとは次が成り立つことをいう。
$$ある\epsilon>0が存在してpの近傍の点x\in B(p,\epsilon)でf_{1}(x)=f_{2}(x)ならばv_{p}(f_{1})=v_{p}(f_{2})
$$
これは点$p$の近傍で二つの関数が同じようにふるまうなら,$p$における演算子の出力も等しいという意味である。
逆に言うと$p$における接ベクトルの値が$p$の近傍での関数の振る舞い(=関数の芽,germ of a function)にのみ依存するということを示している。
4.2 「局所性を満たす=ライプニッツ則を満たす」ということ
上の議論で線形性と局所性を満たす演算子として接ベクトルを定義したいことを述べた。
ここで「演算子が局所性を満たすことは(線形性を仮定すると)その演算子がライプニッツ則を満たすことと同値である」ということが重要である。
演算子$v_{p}$がライプニッツ則を満たすとは,二つの関数$f,g$について次の等式が成り立つことをいう。
$$v_{p}(f_{1}f_{2})=f_{1}(p)v_{p}(f_{2})+f_{2}(p)v_{p}(f_{1})$$
このとき次のようにして,演算子$v_{p}$がライプニッツ則を満たすとき$v_{p}$が局所的であることが確かめられる。
- $ある\epsilon>0が存在してpの近傍の点x\in B(p,\epsilon)でf_{1}(x)=f_{2}(x)$となる二つの関数$f_{1},f_{2}$を考える。
- 二つの関数の差を出力する関数$g(x)=f_{1}(x)-f_{2}(x)$を考えると,$x\in B(p,\epsilon)$を満たす$x$に対して$g(x)=0$である。
- さらに次の条件を満たす特別な補助関数(隆起関数, bump function)$\chi(x)$を考える。
- $\chi(p)=0$
- $g(x)\ne 0$である領域では$\chi(x)=1$
- $\chi$は滑らかな関数
- ここで重要な性質として$g(x)=\chi(x)g(x)$が成り立つ。
- ライプニッツ則とを利用して$v_{p}(g)$を計算する。$$\begin{align}
v_{p}(g) &= v_{p}(\chi \cdot g) \
&=\chi(p)v_{p}(g)+g(p)v_{p}(\chi) \
&=0
\end{align}$$ - したがって$v_{p}$の線形性より,$v_{p}(f_{1})-v_{p}(f_{2})=v_{p}(f_{1}-f_{2})=v_{p}(g)=0$であるため,$v_{p}$は局所的である。
4.3 方向微分演算子だけが線形性とライプニッツ則を満たす
ここまで線形性と局所性を満たす演算子として接ベクトルを定義したいこと,そしてライプニッツ則を満たすことと局所性を満たすことは同値であることを述べた。
すなわち,線形性とライプニッツ則を満たす演算子として,接ベクトルを定義したいのである。
線形性とライプニッツ則を両方満たす演算子は微分作用素と定義されていて,
偏微分の線形和である方向微分演算子のほかに微分作用は存在しないことが証明されている。
すなわちある演算子$v_{p}$が線形性とライプニッツ則をみたすならば,その演算子は一意に
$$v_{p}=\sum_{i=1}^nv_{i}\left. \frac{\partial}{\partial x_{i}} \right|_{p}$$
と表される。
5. 情報幾何における接ベクトルと接空間
情報幾何学は確率分布がなす空間としての多様体の上での微分幾何学である。
この多様体を統計多様体と呼ぶ。
5.1 多様体の構成要素
情報幾何と微分幾何における多様体の点と座標は次のように対応する。
概念 | 微分幾何 | 情報幾何 |
---|---|---|
多様体 | $(M,\mathcal{S})$,$\mathcal{S}={(U_{\alpha},x_{\alpha})}_{\alpha\in A}$ | $(M,\nabla,g)$ |
多様体の点 | $p\in M$ | 確率分布$p(x;\theta)\in M$ |
点の座標 | $p\in U\subset M$となる座標近傍$(U,x)\in\mathcal{S}$を用いて $\phi(p)=(x_{1},\dots,x_{n})$ |
$\theta=(\theta_{1},\dots,\theta_{n})$ |
一般に微分幾何において$n$次元多様体は$(M,\mathcal{S})$として表現される。
ここで
\mathcal{S}=\{(U_{\alpha},\phi_{\alpha})\}_{\alpha\in A}
は座標近傍系と呼ばれる。座標近傍は$M$の部分集合$U_{\alpha}\subset M$と,$U_{\alpha}$上の点を$\mathbb{R}^n$上の点に写す写像$\phi_{\alpha}:U_{\alpha}\to \mathbb{R}^n$の組の集合である。
このとき各$U_{\alpha}$を座標近傍またはチャートといい,$\mathcal{S}$を座標近傍系またはアトラスという。
この座標近傍系は多様体の位相的性質(穴がある/ない, 空間がくっついている/離れている)を表すために必要である。
一方で情報幾何においては位相的に複雑でない,1つの座標近傍で多様体全体をカバーできることが多いので,座標近傍系を用いた定義は少ない。
(例外:フォン・ミーゼス分布(単位円上の確率分布)からなる統計多様体)
その代わりにアファイン接続$\nabla$やリーマン計量$g$を含む定義となっている。これらの要素は今回重要でないので触れないことにする。
5.2 接ベクトルとスコア関数
以上の議論から,統計多様体において接ベクトルは次のように表される。
$$v_{p}=\sum_{i=1}^nv_{i}\left. \frac{\partial}{\partial \theta_{i}} \right|_{p}$$
この接ベクトルに対数尤度関数$\log p(x;\theta)$を代入すると,次のように対数尤度関数の接ベクトルが得られる。
\begin{align}
v_{p}(\log p(x;\theta))&=\sum_{i=1}^nv_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{p} \\
&= \sum_{i=1}^nv_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta}
\end{align}
この接ベクトルのなかで基底ベクトルとしてふるまう関数$$s_{i}=\frac{\partial \log p(x;\theta)}{\partial \theta_{i}}$$
はスコア関数と呼ばれる。すなわちスコア関数は$\theta_{i}$方向に対する尤度の感度であると解釈できる。
$p$におけるスコア関数の接ベクトル$v_{p}(\log p(x;\theta))$は$v$方向に対する尤度の感度であると解釈できる。
5.3 幾何的性質の統計的解釈
5.3.1 接ベクトルの内積⇔スコア関数の共分散
情報幾何において,二つの接ベクトルを
v_{\theta}=\sum_{i=1}^nv_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta},\qquad w_{\theta}=\sum_{i=1}^nw_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta}
とする。
また,上の議論から接ベクトルは対応する方向に対する尤度関数の感度であり,一種のスコア関数であると考えられるため,それぞれの接ベクトル自体をスコア関数として
S_{v}=v_{\theta}=\sum_{i=1}^nv_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta},\qquad
S_{w}=w_{\theta}=\sum_{i=1}^nw_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta}
とおきなおす。
このとき内積は次のように共分散として定義される。
\begin{align}
\langle v_{\theta},w_{\theta}\rangle_{\theta} &:= \text{Cov}[S_{v},S_{w}] \\
&\phantom{:}=\mathbb{E}[(S_{v}-\mathbb{E}[S_{v}])(S_{w}-\mathbb{E}[S_{w}])]
\end{align}
スコア関数の性質として,スコア関数の期待値は0であるので,
\begin{align}
\langle v_{\theta},w_{\theta}\rangle_{\theta} &= \mathbb{E}[S_{v}S_{w}] \\
&=\mathbb{E}[v_{\theta}w_{\theta}] \\
&=\mathbb{E}\left[\left(\sum_{i=1}^nv_{i}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta} \right)\left(\sum_{j=1}^nw_{j}\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{j}} \right|_{\theta} \right)\right] \\
&=\mathbb{E}\left[\sum_{i=1}^n\sum_{j=1}^nv_{i}w_{j}\left(\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta} \right)\left(\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{j}} \right|_{\theta} \right)\right] \\
&=\sum_{i=1}^n\sum_{j=1}^nv_{i}w_{j}\mathbb{E}\left[\left(\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{i}} \right|_{\theta} \right)\left(\left. \frac{\partial \log p(x;\theta)}{\partial \theta_{j}} \right|_{\theta} \right)\right] \\
&=\sum_{i,j=1}^nv_{i}w_{j}g_{ij}(\theta)
\end{align}
ここで$g_{ij}(\theta)$はフィッシャー情報行列の第ij成分である。この結果はベクトルと行列を用いて,
$$\langle v_{\theta},w_{\theta}\rangle_{\theta}=v_{\theta}^\top G(\theta)w_{\theta}$$
と表せる。したがってフィッシャー情報行列は統計多様体の計量である。
5.3.2 接ベクトルのノルム⇔スコア関数の標準偏差
ノルムは自分自身との内積の平方根として定義される。計算すると
\|v_{\theta}\|_{\theta}^2=\langle v_{\theta},v_{\theta} \rangle_{\theta}=\text{Var}[S_{v}]
が得られる。
したがって,接ベクトルの長さは対応するスコア関数の標準偏差と解釈できる。
すなわちスコア関数の分散が大きいことはその方向が統計的に情報量が多いことを表し,幾何学的にはノルムが長いことに対応する。
5.3.3 接ベクトルの直交⇔スコア関数の無相関
二つの接ベクトルの内積が0であるとすると,
$$\langle v_{\theta},w_{\theta}\rangle_{\theta}=0 \iff
\text{Cov}[S_{v},S_{w}]=0
$$
である。
したがってベクトルが直交しているとは,それらのスコア関数が統計的に無相関であることを意味する。