ryamadaの遺伝学・遺伝統計学メモ このページをアンテナに追加 RSSフィード

数学・コンピュータ関連の姉妹ブログ『ryamadaのコンピュータ・数学メモ』
京都大学大学院医学研究科ゲノム医学センター統計遺伝学分野のWiki
講義・スライド
医学生物学と数学とプログラミングの三重学習を狙う学習ツール
駆け足で読む○○シリーズ
ぱらぱらめくるシリーズ
カシオの計算機
オンライン整数列大辞典

2016-11-30 わたしのための情報幾何〜双対平坦

[][][][][]わたしのための情報幾何〜双対平坦

  • 暫定Rmdファイル(ただし、更新されない可能性が大)
---
title: "私のための情報幾何 InformationGeometry4Me"
author: "ryamada"
date: "2016年12月2日"
output: 
  html_document:
    toc: true
    toc_depth: 6
    number_section: true
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

# 結論 Conclusion

尤度関数 $p(w,\xi)$ (ただし、$w$は事象、$\xi$はパラメタ(取り方に寄らず、一般的な意味での))には、2つのよいパラメタの取り方$\theta$ と $\eta$がある。

$$
\log{p(w)} = C(w) + F \theta - \phi(\theta)
$$
$$
p(w) = F^{-1}(w) \eta
$$

この二つのパラメタの取り方はには2つの特徴がある。

一つ目の特徴は$\theta$, $\eta$のそれぞれに備わったものであり、もう一つの特徴は、$\theta$と$\eta$との相互関係に関するものである。2つのパラメタの取り方が相互にしていることは、上の2つの式が同一の行列$F$を持っていることから解る。

+ $\theta$, $\eta$のパラメタの取り方をすると、どちらも「平坦」という性質を持つ。「平坦」である、とは、直線が、パラメタの一次線形式で表せるという性質のことである。

+ $\theta$, $\eta$ 座標系は相互に「直交」するという性質を持つ。「直交」するというのは角度が90度である、というよりは、距離を測るときにピタゴラスの定理のようなものを使える、という意味である。その具体的な意味は後述する。

# どのように役に立てるか How it works for me

尤度関数が空間に置かれている(多様体をなしている)。

その多様体上で、個々の尤度関数同士がどれくらい離れているかを測る(尤度比を知るために、最尤推定をするために)りたい。

そのときに、まっすぐな道を通ることが最短距離である性質(平坦)と、ピタゴラスの定理を使えるという性質が便利である。

実際には、$\eta$座標の一部を固定し、残りを自由にすると、すべての$eta$座標が自由な空間から、一部が制約された部分空間への垂線を取るという作業が発生する。

このとき、$\eta$,$\theta$座標系が相互に直交しているので、$\theta$座標の軸に沿った直線が垂線になるという性質があり、垂線とその足を見出すことが容易になる。

# 一目で見る基本概念 Basic concepts @ a glance

尤度関数と情報幾何では、平坦・直線・距離・ピタゴラスの定理を扱うが、ユークリッド幾何的なそれを拡張した上で使っているので、拡張された意味を理解することが必要である。

## 平坦

直線が座標系によって一次関数で表されることを言う。

### 接続
平坦か平坦でないかを定量化したものに「接続」と呼ばれる係数がある。
接ベクトルがある接ベクトル方向に動いたときにまったく変わらなければ、平坦だが、少し変わるとすると、その変わり具合を表現する必要がある。

その変わり具合は色々な方向に起きた変わり具合を併せたものとなる。

結局、$n$個のパラメタで表されている場合には、$n$個の接ベクトルが、$n$個の接ベクトル方向についてどのように変化するかが必要であるから$n^2$ペアの評価が必要となる。

そして、$n^2$のそれぞれは$n$方向成分に分解されるので、$n^2 \times n = n^3$の値の組が、接ベクトルの変化府愛を説明する。

平坦というのは、この$n^3$の係数がすべて0であるような状態のこと、そのようなパラメタの取り方のことである。

### 直線と測地線

平坦な座標系でパラメタの一次線形式で表されるものが直線である。

座標系の取り方を変えると、直線が曲がって見える。

この曲がって見える線が、「最短距離」を表しているときには、「直線」的な意味を持つので、そのような曲線を「測地線」と呼ぶ。


## 距離

### 内積と距離

ユークリッド空間における、2点x=(x_i) と y=(y_i)との距離は

$$
d_{xy}=\sqrt{\sum (x_i-y_i)^2}
$$

と計算される。

$$
d_{xy}^2 = \sum (x_i-y_i)^2 = \sum x_i^2 + \sum y_i^2 - 2 \sum x_i y_i
$$

と書き直し、さらに$\sum x_i y_i$を$x$と$y$との普通の意味での内積であると読めば

$$
d_{xy}^2 = ||x||^2 + ||y||2 - 2 (x,y)
$$

と書ける。さらに$||x||^2$も$x$と$x$自身の内積だと考えれば

$$
d_{xy}^2 = (x,x) + (y,y) - 2(x,y)
$$
となる。

そしてこれを「距離」の定義だと考えることもできる。

普通の意味での内積というのは、ベクトルのペアに関して

$$
(x,y) = x^T G y
$$
と言うベクトルと行列の演算をしているとみなした場合、$G$が単位行列になっていることに相当する。

ユークリッド空間では内積が単位行列で定義されている、と言い換えて、ユークリッド空間でない場合には、内積が単位行列とは異なる正方行列$G$で定義されている、と見ることができる。

この$G$を多様体のリーマン計量と呼ぶ。
また、情報幾何ではフィッシャー情報行列がこのリーマン計量と同じである。

### 距離の拡張としてのKL divergence

距離は内積を使って
$$
d_{xy}^2 = (x,x) + (y,y) - 2(x,y)
$$
と表された。

実際には

ここでの$x$と$y$とは同じ座標系で表されていたのだが、情報幾何では、相互によい関係にある2つの座標系を用いる。

$x$を一つ目の座標系で表し、$y$をもう一つの座標系で表したものとしたときに、一つ目の座標系での$x$と$x$との内積があり、もう一つの座標系で$y$と$y$との内積があり、異なる座標系で表された$x$,$y$とについても$(x,y)$が定義されていれば、上式は計算できる。

実際、

$$
\frac{1}{2} d_{xy}^2 = \frac{1}{2} (x,x) + \frac{1}{2} (y,y) - (x,y) = KLd(x||y)
$$
がKL divergenceと呼ばれる量である。

$(x,x)$,$(y,y)$ は平坦な座標系でのそれなので、「まっすぐ」に測ることができる。

ユークリッド空間で$x$と$y$とが直交していれば、内積$(x,y)$は0になって、

$$
\frac{1}{2} d_{xy}^2 = \frac{1}{2} (x,x) + \frac{1}{2} (y,y)
$$
となるが、これは「ピタゴラスの定理」の性質である。

$\theta$,$\eta$座標系において、両者が直交しているとき、$\theta$座標系での直線$x$と$\eta$座標系での直線$y$とは相互に直交しているから、この式が成り立つ。

それを
$$
KLd(p||r) = KLd(p||q) + KLd(q||r)
$$
と書く。ただし、p-qは$\theta$座標系での直線、q-rは$\eta$座標系での直線である。

## 曲がっていることとリーマン計量と接続

ユークリッド空間では、リーマン計量が単位行列であって、接続係数がすべて0であった。

曲がっている多様体ではリーマン計量が単位行列ではないし、接続係数も0ではない。

逆に言うと、座標系を入れて多様体を考えたり、多様体上の「距離」を測ったりするときには、リーマン計量と接続との両方を考える必要がある。

パラメタの数が$n$個のとき、リーマン計量は$n \times n$行列の形をしているし、接続係数は$n^3$個の値の組になっている。

## 双対

二つの座標系$\theta$,$\eta$が相互にうまい関係になっている話をしている。

この2つは双対とよばれる関係である。お互い様、である。

そのお互い様がどうして、$\log{p(w)}$と$p(w)$と関係するのか、と言ったことを確認するのが、以降の「解説」の記述である。

$$
\log{p(w)} = C(w) + F \theta - \phi(\theta)
$$
$$
p(w) = F^{-1}(w) \eta
$$

# 解説 Details

## 確率密度関数と尤度関数

確率密度関数(確率質量関数)は、パラメタを確率変数の値との関数で

$$
p(w,\xi)
$$
と書ける。

これは尤度関数でもある。

以降は「尤度関数」とよぶことにする。

## 対数尤度関数

$$
L(w,\xi) = \log{p(w,\xi)}
$$
をよく使う。
理由もあるが、それは後述する。

## 尤度関数・対数尤度関数の微分

以下の変換を多用するので、列挙しておく。

$$
L(w,\xi) = \log{p(w,\xi)}
$$
$$
\frac{\partial}{\partial \xi_i} L(w,\xi) = \frac{1}{p(w,\xi)} \frac{\partial}{\partial \xi_i} p(w,\xi)
$$

$$
p(w,\xi) = \frac{\frac{\partial p(w,\xi)}{\partial \xi_i}}{\frac{\partial L(w,\xi)}{\partial \xi_i}}
$$
$$
\frac{\partial}{\partial \xi_i} p(w,\xi) = \frac{\partial L(w,\xi)}{\partial \xi_i} p(w,\xi)
$$


## 対数尤度関数とスコア関数

パラメタ$\xi$の最尤推定は、$\frac{\partial p(w,\xi)}{\partial \xi_i}=0$ を満足する$\xi_i$であるが、$\frac{\partial L(w,\xi)}{\partial \xi_i}=0$ でもよい。

対数尤度関数の方が有益なのは、

$$
E[\frac{\partial L(w,\xi)}{\partial \xi_i}] = 0
$$

であるから。
期待値が0というのは、多数回行ったときに、標本平均を取ることが適切であることを意味するから。

ちなみに$E[\frac{\partial p(w,\xi)}{\partial \xi_i} \ne 0]$ 。

念のため$E[\frac{\partial L(w,\xi)}{\partial \xi_i}] = 0$を確かめる。

$$
E[\frac{\partial L(w,\xi)}{\partial \xi_i}] = \int_\Omega \frac{\partial L(w,\xi)}{\partial \xi_i} p(w,\xi) d\mu = \int_\Omega \frac{1}{p(w,\xi)} \frac{\partial p(w,\xi)}{\partial \xi_i} p(w,\xi) d\mu = \int_\Omega \frac{\partial p(w,\xi)}{\partial \xi_i} d\mu = 0
$$
### スコア関数

このように対数尤度関数の方が尤度関数そのものよりよい性質を持っているので、対数尤度関数の微分には名前がついている。

それがスコア関数である。

$$
\frac{\partial L(w,\xi)}{\partial \xi_i}
$$

## フィッシャー情報量

スコア関数が0のところが最尤推定値である。

最尤推定値が効率よく見つかる条件というのは、スコア関数の値が0の値の周辺で大きく変化していることである。

期待値が0の周りで変化が大きいことは分散が大きいことに相当するので。スコア関数の分散が、0回りで大きいか小さいかを値にすることは有用であると解る。

偏微分をしているので、「2乗」というよりは、分散・共分散成分を知ることが大事であるから、
その期待値としては

$$
E[\frac{\partial L(w,\xi)}{\partial \xi_i} \frac{\partial L(w,\xi)}{\partial \xi_j}]
$$

となる。

これを
$$
g_{ij} = E[\frac{\partial L(w,\xi)}{\partial \xi_i} \frac{\partial L(w,\xi)}{\partial \xi_j}]
$$
と表す。



## フィッシャー情報量とリーマン計量の一致

前節で示したようにフィッシャー情報量は正方行列で

$$
g_{ij}=E[\frac{\partial L(w,\xi)}{\partial \xi_i} \frac{\partial L(w,\xi)}{\partial \xi_j}] = \int_\Omega \frac{\partial L(w,\xi)}{\partial \xi_i} \frac{\partial L(w,\xi)}{\partial \xi_j} p(w,\xi)d \mu
$$

一方、

$$
E[\frac{\partial}{\partial \xi_i} \frac{\partial}{\partial \xi_j} L(w,\xi)] = E[\frac{\partial}{\partial \xi_i}(\frac{1}{p(w,\xi)}\frac{\partial p(w,\xi)}{\partial \xi_j})]

$$
さらに変形して

$$
= E[-\frac{1}{p(w,\xi)^2}\frac{\partial p(w,\xi)}{\partial \xi_i})\frac{\partial p(w,\xi)}{\partial \xi_j})] + E[\frac{1}{p(w,\xi)}\frac{\partial}{\partial \xi_i}\frac{\partial p(w,\xi)}{\partial \xi_j}]
$$
第1項は
$$

- \int_\Omega (\frac{1}{p(w,\xi)} \frac{\partial p(w,\xi)}{\partial \xi_i}) (\frac{1}{p(w,\xi)} \frac{\partial p(w,\xi)}{\partial \xi_j}) d \mu
= - \int_\Omega \frac{\partial L(w,\xi)}{\partial \xi_i}\frac{\partial L(w,\xi)}{\partial \xi_j} d \mu
$$

第2項は
$$
\int_\Omega \frac{1}{p(w,\xi)}\frac{\partial}{\partial \xi_i}\frac{\partial p(w,\xi)}{\partial \xi_j} p(w,\xi) d \mu = \int_\Omega \frac{\partial}{\partial \xi_i}\frac{\partial p(w,\xi)}{\partial \xi_j} d\mu = 0
$$

なので、結局、

$$
E[\frac{\partial}{\partial \xi_i} \frac{\partial}{\partial \xi_j} L(w,\xi)] = - \int_\Omega \frac{\partial L(w,\xi)}{\partial \xi_i}\frac{\partial L(w,\xi)}{\partial \xi_j} d \mu
$$
つまり、フィッシャー情報量は、対数尤度関数の2階の微分に(-1)を掛けたものになっていることが解る。

2階の微分というのは、曲がり具合〜曲率であるから、この行列は多様体の曲率に相当する量であり、リーマン計量のことである。

ここで、推定のよさであるフィッシャー情報行列がリーマン計量であることがわかった。

### リーマン計量と「内積」

リーマン計量というのは、局所にベクトルがあったときに、それが作る内積をどのくらいの大きさにするかを決める行列である。

いわゆる内積を返すようなリーマン計量が単位行列であり、曲がっていれば、単位行列ではなくなることや、曲がっているところの「長さ」を測るときに用いられた行列$G$がこのリーマン計量である。


## $p(w,\xi)$ と $\log{p(w,\xi)}$ との一般化

関数とその対数とを「一般化」する必要などあるとも感じられないが、この2つを取ることの意味・意義について腑に落ちるためには、この「一般化」について知っておくことは有用である。

フィッシャー情報量を別の形で表現する、ということをとっかかりに、この「一般化」を眺めてみることにする。

### フィッシャー情報量と球面と自然な計量

フィッシャー情報量は以下のようにも表せる。

$$
g_{ij}= \int_\Omega \frac{\partial L(w,\xi)}{\partial \xi_i} \frac{\partial L(w,\xi)}{\partial \xi_j} p(w,\xi)d \mu = \int_\Omega \frac{1}{p(w,\xi)}\frac{\partial p(w,\xi)}{\partial \xi_i}\frac{\partial p(w,\xi)}{\partial \xi_j} d \mu
$$ 

この式では

$\farc{\partial L(w,\xi)}{\partial \xi_i} p(w,\xi) = \frac{1} {p(w,\xi)}\frac{\partial p(w,\xi)}{\partial \xi_i}} p(w,\xi)$ とすることで、分母分子に現れる$p(w,\xi)$をキャンセル・アウトできる。

今、二つの$\frac{\partial L(w,\xi)}{\partial \xi_i}$ $\frac{\partial L(w,\xi)}{\partial \xi_j}$を不平等に扱って$p(w,\xi)$をキャンセルアウトする代わりに、2つを平等に使ってキャンセル・アウトすることを考える。


そのように考えると、以下も成り立つことが示せる。


$$
g_{ij} = \int_\Omega \frac{\partial 2\sqrt{p(w,\xi)}}{\partial \xi_i}\frac{\partial 2\sqrt{p(w,\xi)}}{\partial \xi_j} d \mu= \int_\Omega \frac{1}{p(w,\xi)}\frac{\partial p(w,\xi)}{\partial \xi_i}\frac{\partial p(w,\xi)}{\partial \xi_j} d \mu
$$
 
これは、$2\sqrt{p(w,\xi)}$という変換をすると、半径2の球面になって、そこでの計量は一定になる、ということに相当する。

$\Omega$が有限個の状態であるときには、その個数次元の球面を考えればよい。

### 不均等なペアに分解する

均等に分解することも可能だが、$p(w,\xi)$をキャンセル・アウトするだけであれば、色々な不均等分解が可能である。

次のような不均等分解が可能である。

$$
f^{(k)}(w,\xi)= k p(w,\xi)^\frac{1}{k}
$$

とおけば

$$
g_{ij} = \int_\Omega \frac{\partial f^{(k)}(w,\xi)}{\partial \xi_i}\frac{\partial f^{(\frac{1}{k})}(w,\xi)}{\partial \xi_i} d \mu
$$

が、そのような不均等分解であることが確かめられる。

ちなみに、このような$k$を用いた関数ではなく

$$
f^{(\alpha)}(w,\xi)= \frac{2}{1-\alpha} p(w,\xi)^\frac{1-\alpha}{2}
$$
と表現するのが通例である。

このような$\alpha$での表現にすることで、

$\alpha=0$のときに

$$
f^{(\alpha=0)}(w,\xi) = 2 p(w,\xi)^{\frac{1}{2}}
$$

となり、これは、「均等分解」のときの表現となる。


そして、
$$
f^{\alpha=-1}(w,\xi) = p(w,\xi)
$$

なわけであるが、このときのペアはもともと$\log(p(w,\xi))$であったが、
$$
f^{(\alpha=1)}(w,\xi) =\frac{2}{1-1} p(w,\xi)^{\frac{1-1}{2}}
$$
となって、計算できない式になる。
逆に
$$
f^{(\alpha=1)} = \log{p(w,\xi)}
$$
と定義することで、首尾一貫する。

この$f^{(\alpha)}(w,\xi)$と$f^{(-\alpha)}(w,xi)$とは、お互いに補い合って、フィッシャー情報量(リーマン計量)を分解する関係であり、双対になっているという。

### 平坦と直交と$\alpha= \pm 1$

$f^{(\alpha = \pm 1)}(w,\xi)$は、ある特別なパラメタの取り方をすると、「平坦」になることが知られている。

そのパラメタの取り方が

$$
\log{p(w)} = C(w) + F \theta - \phi(\theta)
$$
$$
p(w) = H(w) \eta
$$
という取り方である。

すべての$p(w)$がこのようにパラメタを取れるわけではないが、非常に多くの、そして確率モデルとして大事な場合にこのようなパラメタを取ることができることは知られており、そのような分布を、指数型分布族と呼ぶ。

そして、ここでは$F,H$という二つの行列を使って表していることからわかるように、$\theta$,$\eta$はそれぞれ「平坦」であるけれども、それを実現するための行列$F,H$はお互いに関係がない。

このようなときには、$\theta$,$\eta$座標系は直交していない。ただ、相互に平坦なだけである。

$H=F^{-1}$とすると、平坦であり、かつ、直交した2つの座標系にすることができる。

ちなみに、$F,H$などを使って、線形変換しても、平坦なままであることを、これらの接続が「アフィン接続」である、と呼ぶ理由である。


アフィン変換は、いわゆる行列による一次線形な変換に平行移動を加えたものであるが、ここで考えている$\alpha$を用いた関数が定義する接続は、アフィン接続であることが解っている。

$\alpha=\pm 1$の場合というのは、その中で特殊なものであって、「うまくパラメタを取れば平坦になる」ものである。

そして、アフィン接続なので、うまく変換することで、相互に直交なパラメタの取り方も存在することから、いつでも、平坦かつ直交な$\theta$,$\eta$の座標系のペアが取れる。

そして平坦ではないが、$\alpha=0$の場合というのは、2つの双対な座標系を取る、というこの仕組みの中で、「自己双対」である、という特殊な場合であること。

# 結論2

結局、尤度関数として我々が普通に使うものは、指数型分布族なので、必ず$\theta$,$\eta$座標系がとれて、それらは両方とも平坦で相互に直交している。ということが解った。

その背景には、異なる座標系での直線があり、異なる座標系にある二つの直線の長さ(KLd)をピタゴラスの定理的に計算できること、片方の座標系の部分空間へ、もう片方の座標系の垂線を引くことが簡単になること、などがあることもわかった。

そして、また、そこには、ユークリッド空間では、2つの座標系が、自己双対なために、1つの座標系で出来ていると見えること

2013-08-12 指数型分布族

[][][][][][][][][]指数型分布族

[][][][][][][][][]指数型分布族のイントロ

  • 指数型分布族のイントロ
    • 確率変数の中には、分布をある形式で表せるものが多数あって、そのような形式を「指数型」と呼び、そのような形式で表される一群を「指数型分布族」と言う
  • 指数型で表すことのメリットには次のようなものがある
    • さまざまな分布を同じ枠組みで捉えることができる
    • 指数分布族の確率密度関数を掛けあわせることは簡単で、掛けてできるものも指数分布族
    • 確率変数とパラメタとが入り乱れる式を、「確率変数とパラメタとの絡みで決まる部分」と「パラメタが決めるバリエーションの部分」と「確率分布の核となる本体」とに分けることができる
    • 線形な部分とそれ以外の部分に分けられることから、一般化線形回帰という手法につながる(線形でない関数形であっても、線形な部分とそうでない部分に分けることで、回帰処理を線形処理にする)
    • 確率分布を(ある場合には)決定するモーメント・積率母関数・キュムラント母関数に関連付けて分布を表現できる
    • 尤度関数・最尤推定との関連がわかる
    • 情報幾何的な考え方につながる
  • アプローチ
    • 具体的な確率分布からスタートして、一般化する方法と、一般型から入って具体例で確かめるという手順を踏む方法があると思うが、後者でやってみる

[][][][][][][][][]式を確かめる:指数型分布族

  • 一般式
    • f(¥mathbf{x}|¥mathbf{¥theta}) = h(¥mathbf{x}) e^{¥mathbf{¥theta} ¥cdot T(¥mathbf{x}) - A(¥mathbf{¥theta})
  • 表記の説明
    • 関数に用いる変数があっちこっちで違うのでページ横断的に式を追いかけるのが大変→Wikiのページのそれで行く(こちら)
    • 何を使うか
      • 確率変数¥mathbf{x}は1変数かもしれないし多変数かもしれない
      • パラメタのセットを2組(『パラメタ(のセット)¥mathbf{¥lambda}=(¥lambda_i)』と『自然パラメタ(のセット)¥mathbf{¥theta}=(¥eta_i)』)を使う。上記の式では¥mathbf{¥theta}で表現されている
      • Base measure(carrier)と呼ばれる、『確率分布の核となる本体』関数h(¥mathbf{x})
      • 十分統計量と呼ばれる¥mathbf{x}(確率変数)の関数(のセット)T(¥mathbf{x})
      • Log-partitionと呼ばれるパラメタの関数A(¥mathbf{¥theta})。パラメタセットを変えてA(¥mathbf{¥lambda})とも
  • 少し詳しく説明を足す
    • パラメタ・変数に2セットある
      • 通常の表現のパラメタ
        • 『パラメタ』と呼ぶ
        • 正規分布なら¥mu,¥sigmaとか分布によって異なる
        • 便宜的に¥mathbf{¥lambda} = (¥lambda_i)とする(¥mu = ¥lambda_1,¥sigma=¥lambda_2ということ)
      • 指数型表現のパラメタ
        • 『自然パラメタ(Natural parameters)』と呼ぶ
        • ¥mathbf{¥theta} =(¥eta_i)とする
        • パラメタの数は通常表現の数ともちろん同じ
    • パラメタセット間の関係
      • 『パラメタ』を『自然パラメタ』の関数で表し
        • ¥lambda_i = ¥Lambda(¥mathbf{¥theta}=(¥eta_j))
      • また、『自然パラメタ』を『パラメタ』の関数でも表す
        • ¥eta_i = ¥Theta(¥mathbf{¥lambda}=(¥lambda_j))
    • Base measure
      • h(¥mathbf{x})は確率変数の関数であって、パラメタを含まない(含んでいるように見える場合には、それは固定値を表している)
    • 十分統計量
      • T(¥mathbf{x})はパラメタの数の関数のセット
      • パラメタ数が1のときはT(¥mathbf{x})=xであることも多く、また、パラメタ数がT(¥mathbf{x})=¥begin{pmatrix}x¥¥x^2¥end{pmatrix}であることも多いが、そうでない場合もある
    • Log-partition
      • 2セットのパラメタセットのそれぞれを用いて書くことができる
      • A(¥mathbf{¥lambda}),A(¥mathbf{¥theta})
      • 確率変数xと関係のない成分
      • T(x)¥eta_iで微分するとT(x)の期待値となるのだが、T(x)=xT(x)=x^2のときには、それが平均・分散の期待値であることから、キュムラント母関数となっている
      • 確率密度分布の台全体の積分が1となるように調整しているようにも見えることからnormalizerとも言う
  • もう一度、一般式を見直す
    • f(¥mathbf{x}|¥mathbf{¥theta}) = h(¥mathbf{x}) e^{¥mathbf{¥theta} ¥cdot T(¥mathbf{x}) - A(¥mathbf{¥theta})
    • 左辺は「1個以上の確率変数¥mathbf{x}の確率分布・密度分布は¥mathbf{¥theta}というパラメタで定まる」と書いてある
    • 右辺は大きく2要素からなる
      • h(¥mathbf{x}という¥mathbf{x}のみからなり、¥mathbf{¥theta}と無縁の部分
      • e^{*}と指数関数の形をしている部分
        • ここはさらに2つのパートに分かれる
        • ¥mathbf{¥theta}¥mathbf{x}のみからなるT(¥mathbf{x})との積…ここが唯一、¥mathbf{¥theta}¥mathbf{x}とが共存する成分
        • A(¥mathbf{¥theta})という¥mathbf{x}と無縁の要素

[][][][][][][][][]正規分布を例に取る〜指数型分布族

  • 実例で確認する
    • 変数・式を正規分布について確認する(このページの表の"normal distribution"...(known varianceではない方)を参照
    • 確率変数は1変数¥mathbf{x}= (x)
    • 『パラメタ』での関数表現(見慣れた式)
      • f(¥mathbf{x}=(x)|¥mathbf{¥lambda}=(¥lambda_1=¥mu,¥lambda_2=¥sigma))
      • =¥frac{1}{¥sqrt{2¥pi ¥sigma^2}} e^{¥frac{-(x-¥mu)^2}{2¥sigma^2}}
    • パラメタと自然パラメタの関係
      • ¥begin{pmatrix}¥eta_1¥¥ ¥eta_2¥end{pmatrix} = ¥begin{pmatrix} ¥frac{¥mu}{¥sigma^2}¥¥ -¥frac{1}{2¥sigma^2} ¥end{pmatrix}
    • 逆の関係
      • ¥begin{pmatrix}¥mu¥¥ ¥sigma¥end{pmatrix} = ¥begin{pmatrix} -¥frac{¥eta_1}{2¥eta_2}¥¥ -¥frac{1}{2¥eta_2} ¥end{pmatrix}
    • h(¥mathbf{x}=(x))=¥frac{1}{¥sqrt{2¥pi}
      • なんとxすら入っていないただの『値』
    • T(¥mathbf{x}=(x))=¥begin{pmatrix}x¥¥ x^2¥end{pmatrix}
      • xに関するシンプルな式が2つ
    • A(¥mathbf{¥theta})A(¥mathbf{¥lambda}=(¥mu,¥sigma))
      • A(¥mathbf{¥theta})=-¥frac{¥eta_1^2}{4¥eta_2} -¥frac{1}{2}¥ln{(-2¥eta_2)}
      • A(¥mathbf{¥lambda})=¥frac{¥mu^2}{2¥sigma^2} + ¥ln{¥sigma}

[][][][][][][][][]指数型表現の利点の確認(1)指数分布族の掛け合わせは指数分布族

  • 掛け合わせが指数分布族の関数の形の変化だけで処理できることはハンドリングを楽にする
  • 以下、その確認
  • x_1,x_2の同時分布は
  • f_1(x_1|¥theta_1) = h_1(x)e^{¥theta_1 ¥cdot T_1(x_1) -A_1(¥theta_1)}
  • f_2(x_2|¥theta_1) = h_2(x)e^{¥theta_2 ¥cdot T_2(x_2) -A_2(¥theta_2)}
  • f_1(x|¥theta_1) f_2(x|¥theta_2)
  •  =(h_1(x_1)h_2(x_2)) e^{(¥theta_1¥cdot T_1(x_1)+¥theta_2¥cdot T_2(x_2)) - (A_1(¥theta_1)+A_2(¥theta_2)}
  • ここで次のようにする
    • x_0 = (x_1,x_2)とタンデムにつなぐ
    • h_0(x)=h_1(x_1)h_2(x_2)
    • ¥theta_0 = (¥theta_1,¥theta_2)とタンデムにつなぐ
    • A_0(¥theta_0) = A_1(¥theta_1)+A_2(¥theta_2)
  • =f_0(x_0|¥theta_0) = (h_0(x_0)e^{¥theta_0 ¥cdot x_0 - A_0(¥theta_0)}
  • x_1=x_2=xならば、x_1,x_2をタンデムにつながずに
  • f_0(x|¥theta_0) = h_0(x)e^{(¥theta_1+¥theta_2)¥cdot x - A_0(¥theta_0)}

[][][][][][][][][]指数型表現の利点の確認(2)A(¥theta)とモーメント

  • A(¥mathbf{¥theta})とモーメントの関係
  • ¥frac{dA(¥theta)}{d¥theta}T(x)の期待値であることを以下に示す
    • A(¥mathbf{¥theta})f(x|¥theta)=¥frac{h(x)e^{¥theta ¥cdot T(x)}}{e^{A(¥theta)}}と表されることからもわかるように(確率分布の台全体の積分が1であることより)
    • e^{A(¥theta)}=¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)} dxであるから
    • A(¥theta) = ¥ln{¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)} dx} という関係にある
      • ¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)} dx = Q(¥theta)とおいて微分してやると…
    • ¥frac{dA(¥theta)}{d¥theta} = ¥frac{1}{Q(¥theta)}¥frac{dQ(¥theta)}{d¥theta}
    • =¥frac{¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)} T(x)dx}{¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)} dx}となって、さらに、分母分子にxの関数ではないe^{-A(¥theta)}をかけてもよいから
    • =¥frac{¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)-A(¥theta)} T(x)dx}{¥int_{x ¥in ¥mathcal{X}} h(x)e^{¥theta ¥cdot T(x)-A(¥theta)} dx}となる
    • この分母は、確率密度分布の台全体の積分だから1で、分子は、「T(x)の値をxの確率で重みづけをして足し合わせたもの」なので、T(x)の期待値の定義そのもの
  • 同様に¥frac{d^2 A(¥theta)}{d¥theta^2}E(T^2(x)) - (E(T(x))^2となって、T(x)の分散(xが単変数の場合)
  • 今、T(x)=xであるなら、xの平均と分散が出ることになる
  • たとえば、二項分布のA(¥theta) = n ¥ln{(1+e^{¥eta})}であるが(こちらを参照)
    • ¥frac{d A(¥theta=(¥eta))}{d¥theta=(¥eta)} = n¥frac{e^¥eta}{1+¥eta}であって、¥eta = ¥ln{¥frac{p}{1-p}}を代入すれば、平均npが確かに得られる。分散も同様
  • 分散を定めない正規分布の場合、T(x)=¥begin{pmatrix}x¥¥ x^2¥end{pmatrix}であり、A(¥theta)= -¥frac{¥eta_1^2}{4¥eta_2}-¥frac{1}{2}¥ln{(-2¥eta_2)}であるが、これを¥eta_1,¥eta_2でそれぞれ微分すると、-¥frac{¥eta_1}{2¥eta_2},¥frac{1}{4}¥frac{¥eta_1^2}{¥eta_2^2} -¥frac{1}{2¥eta_2}となって、これを¥mu,¥sigmaで表せば、¥mu,¥mu^2+¥sigma^2となって、それぞれx,x^2の期待値になっている

[][][][][][][][][]指数型表現の利点の確認(3)A(¥theta)の2次微分と分散共分散行列/Hessianと半正定置と凸関数

  • 上の例では、¥thetaを単変数っぽく扱っていたが、多変数の場合も
    • ¥frac{¥partial A(¥mathbf{¥theta})}{¥partial ¥eta_i} = E(T_i(x))であるし
    • ¥frac{¥partial^2 A(¥mathbf{¥theta})}{¥partial ¥eta_i ¥partial ¥eta_j}は分散共分散行列の成分になる
    • この2次の微分が作る行列はHessianだが、それが半正定値なので、A(¥mathbf{¥theta})は凸関数となる

[][][][][][][][][]指数型表現の利点の確認(4)Kullback-Leibler divergence

  • KL divergence はD_{KL}(¥theta_1||¥theta_2) = ¥int_{x¥in ¥mathcal{X}} ¥ln{¥frac{f_{¥theta_1}(x)}{f_{¥theta_2}(x)}}f_{¥theta_1}(x) dx
  • この式も指数型表現で扱うとハンドリングが楽であり、この差を残差と捉えて残差の最小化などの扱いが楽になる

[][][][][][][][][]指数型表現の利点の確認(5)尤度関数、スコア関数と最尤推定とフィッシャー情報行列

  • ある事象が何件起きて・・・という観察データに関して尤度関数が指数型分布族で表される
  • 一般に、確率密度分布がf(¥mathbf{x}|¥mathbf{¥theta})と表されている時、ある観察のもとでの¥mathbf{¥theta}の尤度L(¥mathbf{¥theta}|¥mathbf{x}) = f(¥mathbf{x}|¥mathbf{¥theta})であって、形が変わらない(気にするのは、どちらを動かすか、だけ)
  • 一般に、指数型分布族の場合f(¥mathbf{x}|¥mathbf{¥theta}) = h(¥mathbf{x})e^{¥theta¥cdot T(¥mathbf{x}) - A(¥mathbf{¥theta})の対数を取って、¥mathbf{¥theta}で微分してみる。それはスコア関数(対数尤度関数の微分)
  • ¥frac{¥partial (¥ln{h(¥mathbf{x})}+¥theta ¥cdot T(¥mathbf{x})-A(¥mathbf{¥theta}))}{¥partial ¥mathbf{¥theta}
  • (...,¥eta_i T(x_i) - ¥frac{¥partial A(¥mathbf{¥theta})}{¥partial ¥eta_i},...)となるが¥frac{¥partial A(¥mathbf{¥theta})}{¥partial ¥eta_i}T(x_i)の期待値であって、また、多項分布のT(¥mathbf{x})は各項そのまま(T(¥mathbf{x}) = (x_1,x_2,...)なので結局
  • ¥frac{¥partial ¥ln{f(¥mathbf{x}|¥mathbf{¥theta})}}{¥partial ¥mathbf{¥theta}}=¥mathbf{x}-¥mathbf{¥mu}となる
  • これは、尤度関数が最大になるのは¥mathbf{x}=¥mathbf{¥mu}のとき、と言っている
  • また、前記事で分散共分散行列〜Hessianが半正定値であること、指数型分布族の関数が凸関数であることを書いたが、凸関数で微分して0の点が求まってしまえば、そこが頂上である、ということとも繋がっている
  • このように凸であるので、解析的に最尤推定値が出せなくても、山登り法で解が得られることを意味している
  • さらにフィッシャー情報行列はスコア関数の2次微分
  • 指数型分布族では、パラメタと確率変数との1次の関係が指数関数の肩に乗っている。パラメタと確率変数の1次の関係を1次の関係として取り扱うためには、対数を取ればよいから、スコア関数は対数をとったものを微分している
  • フィッシャーの情報行列も、その一環として、指数の肩にあるパラメタと確率変数との1次の関係を表に出して、それの2次微分を問題にして曲面の特性を捉えようとしたものであることがわかる

[][][][][][][][][]指数型表現の利点の確認(6)情報幾何

  • 情報幾何では分布をパラメタを使って空間の点に対応づける
  • そしてその空間にどういう座標系を置くかがパラメタセットの取り方になる
  • また情報幾何では、「計量」と「接続」の2つが大事
  • (ちょっと怪しいのだが)フィッシャー情報行列は「計量」であるので、それがどういうパラメタセットで作られたとしても、それが測っている量は変わらない(見え方は違うけれど)
  • またフィッシャー情報行列はリーマン測度と同じこと
  • 他方、情報幾何で大事なもう1つである「接続」は、まさにパラメタセットをどう取るか、ということ(どっちの方向にパラメタの同じ値部分が続いているかと言うこと)
  • うまくパラメタセットをとると、「平坦〜場所を変わってもその座標系では接空間がずれずに続く」ようにできる
  • そのような接続の仕方はある変数¥alphaで表すことにしているのだが、逆に言えば¥alphaの値だけ接続の仕方がある
  • 指数型分布族での¥mathbf{¥theta}の取り方というのは、¥alpha=1であって、かつ、そのような接続をとると「平坦」になる、という意味で、指数型分布族の情報幾何的意味での「あるべきパラメタの取り方」になっている
  • ¥alpha=-1での接続が、もう1つの大事な接続の取り方でもある
  • また、「平坦」の考え方と並んで、「測地線」という考え方もある。まっすぐで「(最短)距離」を示す線というイメージ
  • 今、平坦な座標系では測地線として距離を出すことができる
  • 測地線は¥alpha=¥pm 1の平坦な系でそれぞれ出すことができる。それを使うと、「片方の測地線のみでは距離がうまく測れなかったような2地点(2つの分布)間の距離がうまく測れたりする…」というような話にもなるらしいが、消化不良…
  • 情報幾何・微分幾何・多様体の話にこちらで戻る

[][][][][][][][][]指数型表現の利点の確認(7)共役事前分布

  • ¥mathbf{x}は観察したり推定したりする確率変数
  • ¥mathbf{¥theta}は確率分布のパラメタ
  • 確率と尤度を行ったり来たりするときに便利なのが共役事前分布
  • 指数型分布族表現を使うと、これを簡単に理解できる
  • 確率の式を確認するf(¥mathbf{x}|¥mathbf{¥theta}) = h(¥mathbf{x})e^{¥mathbf{¥theta} ¥cdot T(¥mathbf{x}) - A(¥mathbf{¥theta})}
  • 共役事前分布うんぬん、では尤度も必要で、それは、f(¥mathbf{x}|¥mathbf{¥theta})=L(¥mathbf{¥theta}|¥mathbf{x})を問題にする。¥mathbf{x},¥mathbf{¥theta}の立場を入れ替えるわけであるからf(x|¥theta)の式をなるべくx,¥thetaに関して対称にするのがよい
  • f(¥mathbf{x}|¥mathbf{¥theta}) = e^{-H(¥mathbf{x})-A(¥mathbf{¥theta}) + ¥mathbf{¥theta}¥cdot T(¥mathbf{x})}
  • 指数関数が邪魔くさいので対数にし、さらにT(x)=xだったりすることもあるからそこも対称性を持たせて書き換えると
    • F(¥mathbf{x},¥mathbf{¥theta})=¥ln{(f(¥mathbf{x}|¥mathbf{¥theta}))} = -H(¥mathbf{x})-A(¥mathbf{¥theta}) + S(¥mathbf{¥theta})¥cdot T(¥mathbf{x})
      • ただし上の定義式の場合はS(¥mathbf{¥theta}) = (¥eta_i)と決め打ち
  • この目で多項分布とディリクレ分布の指数型表記を見よう。対応する関数が互い違いになっていることがわかる(こちら)
    • 多項分布
      • H(¥mathbf{x}) = ¥ln{¥frac{n!}{¥pi n_i!}}
      • A(¥mathbf{¥theta}) = 0
      • S(¥mathbf{¥theta}) = (¥ln{¥eta_1}+C,..,¥ln{¥eta_k}+C)
      • T(¥mathbf{x}) = (x_1,..,x_k)
    • ディリクレ分布
      • H(¥mathbf{x}) = ¥ln{1} = 0
      • A(¥mathbf{¥theta}) = ¥sum_{i=1}^k ¥ln{¥Gamma(¥eta_i+1)} - ¥ln{¥Gamma(¥sum_{i=1}^k ¥eta_i)}
      • S(¥mathbf{¥theta}) = (¥eta_1,..,¥eta_k)
      • T(¥mathbf{x}) = (¥ln{x_1},...,¥ln{x_k})

2013-05-09 ぱらぱらめくる『情報幾何の基礎概念』

[][][][][][][][][][][]ぱらぱらめくる『情報幾何の基礎概念』

  • わかりやすいオーバービューをまず読んでからにしよう
  • こちらこれから始める
  • イントロ
    • 情報幾何はある程度幅のある概念
    • 個々の確率分布(あるいは確率構造)を点とする空間を考えること、そこで微分幾何を用いること、という緩いくくりはある
    • その空間に何があるかというと(何が置けてもそれは情報幾何の対象になるわけだが、もっとも基本的かつ重要なのは)、『フィッシャー計量〜リーマン計量』と『α-接続』の2つ
      • 『計量』は「長さ・大きさを量としてあらわすこと」
      • 『接続』は「うまいこと動かす方法(動かしたら入れ替わったり交叉したりすると大変なので、そうならないような意味での『平行移動』)のこと」。そんなものなので、その『動き方』について『まっすぐ』とか『曲がっている』とかが重要になる。(接続を「表す」必要があってそこにテンソルとかが出てくる。大きさと向き(ベクトル)的なものなので、(計量が内積的であるのに対して)接続は外積的、かな?→クリストッフェル記号
    • 統計学〜情報幾何〜情報理論〜確率論という結びつき
  • 統計多様体と指数分布族
    • 確率分布・確率密度分布(の多く)は指数関数で表せる
    • 指数関数で表したものは対数をとると便利
    • Fisher情報行列
      • まず、導入された
      • その後いろいろ考えると、よくできたものであることがわかった
      • (本質的な性質を持つので)定義の仕方もいろいろにな(りう)る
      • 基本的には、パラメタのペアワイズな関係の行列表現であり、
      • 期待値として定まっている
      • あっちこっちでいろいろな式が出るけれど、¥frac{d ¥log(f(x))}{dx}f(x) = ¥frac{d f(x)}{dx}とか(の偏微分版)、E¥[f(x)¥] = ¥int f(x) p(x) dxに注意して式変形すると導出できる
      • 確率分布p_{¥theta}を点とみなすのが情報幾何だけれど、その平方根を取って2¥sqrt{p_{¥theta}}を座標とする点とみなすようなことをすると、これは、¥{p_{¥theta}¥}を半径2の球面に配置することで、フィッシャー情報行列の成分がg_{ij} = 4¥int ¥frac{¥partial}{¥partial ¥theta^i} ¥sqrt{p_{¥theta}} ¥frac{¥partial}{¥partial ¥theta^j} ¥sqrt{p_{¥theta}} d¥muとなって、『球面』上の分布に関して、軸ペアに関して積分したもの、というきれいな値になっていることもわかる
      • こんなにシンプルなものなので、変数の取り方によらなかったりするのは当然に見える
        • ここに『半径2の球面』と『2』が出てくるのが、尤度比検定で対数尤度比に2をかける理由、かな?と思う
    • α-接続
      • アフィン接続⇔共変微分⇔接続係数⇔接続係数とフィッシャー計量とを組み合わせたもの
      • アフィン接続
      • 多様体上の点に接空間をとる。別の点にも接空間を取る。その接空間に滑らかな移行関係がある。すると接空間をすぐ近くの接空間に移すこともできて接空間を定めるベクトル(接ベクトル)の間で微分ができることになる。そんな移行関係を「アフィン接続」という
      • リーマン計量があると自然な(自明な?)アフィン接続があるのだが、リーマン計量とフィッシャー計量は同じだから、フィッシャー計量のある統計多様体にもアフィン接続がある
      • アフィン接続は接ベクトルを平行移動してくれる
      • α-接続
        • アフィン接続をある式表現で表し、そのときにαという定数を持ち込む。この式で表される接続をα-接続と言う
        • α-接続はαの値で分類することができて、αが0のときはリーマン接続、αが1のときがe-接続。αに対して (-α)で対応づけられる接続が双対接続で、α=1に対する双対接続であるα=(-1)の接続がm-接続
        • e-接続は指数分布族と関係し、m-接続は混合分布属と関係する
  • さて、確率分布・確率密度分布と情報幾何、再び
    • 確率分布・確率密度分布は空間の点
    • どのように点をとるかは座標系による
    • 座標系による、とは、パラメタの取り方をどうするか、ということ
    • 座標系の取り方によらず「分布」は存在している
    • 座標系の取り方によらずフィッシャー情報行列は定まっている
    • 分布をどういう多様体で表すかはパラメタの取り方による
    • どうせとるなら、扱いやすいパラメタの取り方がよい
    • 多様体上での動き〜接ベクトルの動きが扱いやすいのがよい
    • 接ベクトルの動きが扱いやすいとは「平坦」であること
    • 確率分布の平坦には双対関係にある2つの平坦e-平坦とm-平坦とが登場する
    • 結局、確率分布を情報幾何的に定めるというのは、『計量』としてフィッシャー情報行列を定めることと、『接続』としての具合のよいものを取ることである、となる。『接続』は双対関係の2つの接続があるので、片方を定めれば決まるのだが、両方を見える形にして置いておく方がわかりやすい(ことも多いので)、『フィッシャー情報行列』『e-接続』『m-接続』の組で定めましょう。そのうえでいろいろな検討をしましょう、と言うこと。