真実を知らずにいかに真実に近づくか

完全に編集中です…

この世界で起こる様々な現象ははどのようなメカニズムで引き起こされるのか。例えば、どういったメカニズムで地球は温暖化するのか。神でない私たちは当然そのメカニズム、つまり真実を知らない。ゆえにそのメカニズムをなんとかしてモデル化して予測しようとする。これは基本的に科学が行おうとしていることだ。詰まるところ、科学は世界の真実を知らない私たちがなんとかして真実に近づこうとする作業(モデリング)である。しかしここで疑問が浮かび上がる。私たちは真実を知らないのに、なぜどのモデルが真実に近いと言うことができるのか。もちろん常識的に考えると、物理学のように基本的に予測が完璧にできる場合、そのようなモデルは正しい、真実(もしくは真実への良い近似)であると言うことができる。予測がほぼ完璧な場合、もしそのモデル(理論)が真実と異なっているのであれば、あまりにもミラクルというものだろう。しかし科学は物理学のように精緻に構築されたものだけではない(例えば、量子力学の予測精度は大変高い)。そのほかの領域では複数の競合するモデルがある場合もある。そういった場合に、私たちは真実を知らないのに、なぜどのモデルが真実に近いと言うことができるのか、ということを少し統計的な視点から考えてみたい。もちろんこれは機能主義と葛藤理論の対立などといった社会科学や哲学のモデル選択に簡単に当てはまるものではないが、それでも少し考えてみよう。今回考えるのはELBO、AIC、MCMC、CFTPという統計学の手法で、これらは実はかなり巧妙な数学の使用方法で真実を知らないのに、どのモデルが真実に近いかを評価してくれるものだ。特にELBO、AICはその典型だ。

ここで何が行われているのか。以下少しテクニカルになるので、特にELBOとAICが何を行っているのかを比喩を使って説明しよう。地球には南北の方向の位置を示す緯度と東西方向の位置を示す経度が存在する。実は緯度の計測は星を基準として行うことができ、昔からそれは行われていた。だから大航海時代にもそれは行われていた。しかし東西方向の位置を示す経度の計算は難しくこれにより多くの事故が起こっていた。ちなみに昔は結び目(ノット)のあるロープをつけた丸太(ログ)を海に投げ入れて距離を測っていた。だからノットが船の速度の単位で、ログを入れること、何かに入ることはログインである。さて、ここでヨーロッパから見たときにアメリカ大陸は西にあるのだが、東西方向の位置を示す経度の計算ができないから正確にアメリカ大陸はどこにあるかわからないということになる。つまりアメリカ大陸の真実の位置はわからない。ではアメリカ大陸の正確な位置を知らないとアメリカ大陸に近づけないのかというとそうではなくて、西に行けば行くほどアメリカ大陸には近づく。アメリカ大陸の正確な位置はわからないが、それは定数として扱い、とりあえず西へ西へと向い西への距離を縮めれば、アメリカ大陸には近づく。

ELBOとAIC

ベイズ統計\[P(z \mid x) = \frac{P(x \mid z) P(z)}{P(x)}\]で私たちが求めたいものは事後確率\[P(z \mid x)\]なのだが、これを知るためには\[P(z \mid x) = \frac{P(x \mid z) \, P(z)}{P(x)}\]が必要となる。しかしディメンションが高い場合(パラメータが多い場合)正規化定数である\[P(x) = \int P(x \mid z) \, P(z) \, dz\]を求めることは難しい場合が多い(正規化定数がないと確率として成立しない)。ゆえに\[P(z \mid x)\]を別の簡単な分布\[Q(z)\]で近似するという方法が使われる。この時に、\[D_{\text{KL}}(Q(z) || P(z \mid x))\]のカルバック・ライブラー情報量と呼ばれる二つの分布の距離(のようなもの)を測ることで\[Q(z)\]を\[P(z \mid x)\]に近似させることができる。しかし真実の分布である\[P(z \mid x)\]自体の分布を知らないのにどうして\[D_{\text{KL}}(Q(z) || P(z \mid x))\]のカルバック・ライブラー情報量を測ることができるのか。ここで変分下限(Evidence Lower Bound; ELBO)が登場する(ディメンションが高い場合、確率は掛け算であり、とても小さくなってしまうという理由とlogは掛け算を足し算に変換するという理由でlogがよく使われる)。\[Q(z)\]と\[P(z \mid x)\]の距離は

\[D_{\text{KL}}(Q(z) \| P(z \mid x)) = \int Q(z) \log \frac{Q(z)}{P(z \mid x)} \, dz\]

ベイズのルールにより

\[P(z \mid x) = \frac{P(x, z)}{P(x)} \quad \Rightarrow \quad \log P(z \mid x) = \log P(x, z) – \log P(x)\]

これをカルバックライブラー情報量に入れて

\[D_{\text{KL}}(Q(z) \| P(z \mid x)) = \int Q(z) \left[ \log Q(z) – \log P(x, z) + \log P(x) \right] dz\]

定数 \[\log P(x)\]は\[z\]に依存しないので外に出し、

\[D_{\text{KL}}(Q \| P) = \int Q(z) \log Q(z) \, dz – \int Q(z) \log P(x, z) \, dz + \log P(x)\]

書き換えると

\[D_{\text{KL}}(Q \| P) = \mathbb{E}_{Q}[\log Q(z)] – \mathbb{E}_{Q}[\log P(x, z)] + \log P(x)\]

となる。ここで

\[\log P(x)\]を分けると、

\[\log P(x) = D_{\text{KL}}(Q(z) \| P(z \mid x)) + \left( \mathbb{E}_{Q}[\log P(x, z)] – \mathbb{E}_{Q}[\log Q(z)] \right)\]

ここでEvidence Lower Bound (ELBO)を以下のように定義する。

\[\text{ELBO}(Q) = \mathbb{E}_{Q}[\log P(x, z)] – \mathbb{E}_{Q}[\log Q(z)]\]

そうすると式全体は

\[\log P(x) = \text{ELBO}(Q) + D_{\text{KL}}(Q(z) \| P(z \mid x))\]

となり、ELBOを最大化することが\[D_{\text{KL}}(Q(z) | P(z \mid x))\]を最小化されることとなる。私たちは真実の分布である\[P(z \mid x)\]自体の分布を知らないから\[D_{\text{KL}}(Q(z) | P(z \mid x))\]を求めることができないにも関わらず、ELBOというわかる部分を最大化させることで真実に近づくことができるということになる。

これはAICの行った数学的処理とにている。AICは実際の確率分布をf、自分のモデルをgとした時に、それらの間の距離を測るメカニズムだ。しかし当然ながら実際の確率分布fを私たちは知らない。知っていたらそれをモデル化する必要すらない。ではどうしてそれらの間の距離を測ることができるのか。ここでもカルバック・ライブラー情報量を使い二つの分布の距離(のようなもの)をはかる。

\[D_{\text{KL}}(f | g) = \int f(x) \log \frac{f(x)}{g(x \mid \theta)} \, dx\]

\[D_{\mathrm{KL}}(f | g) = \mathbb{E}{f} \left[ -\log g(x \mid \hat{\theta}) \right] – \mathbb{E}{f} \left[ -\log f(x) \right]\]

ここで

\[\mathbb{E}_{f}\left[-\log f(x)\right]\]は真の分布のエントロピーである。真の分布のエントロピーはモデルに依存しない定数(C)として扱うことができる。

ゆえに\[\mathbb{E}_{f}\left[-\log g(x \mid \hat{\theta})\right]\]を最小化すると、カルバックライブラー情報量の距離は最小化することができる。ここでこれは

\[\mathbb{E}_f[-2 \log g(x \mid \hat{\theta})] \approx -2 \log L(\hat{\theta}) + 2k = \mathrm{AIC}\]

に近似される(2という数字は尤度比検定やχ二乗などとの整合性を合わせるための数字だ)。つまりELBOもAICも真実を知らないのにクレバーな数学的な操作を行うことによって、真実に近づくことを可能にする。

MCMCとCTPF

MCMCとCTPFもまた真実を知らないにも関わらず、真実からのサンプリングを可能にする。

モンテカルロ法は乱数によりある確率分布P(x)からのサンプルを生成する方法なのだが、実はパラメータの数が多い場合(ディメンションが高い場合)往往にしてP(x)から直接独立サンプルを得ることは難しい。このような場合にマルコフ連鎖モンテカルロ法(MCMC)を使いP(x)の独立サンプルを作り出す。MCMCはランダムウォークと呼ばれる独立でない(前の状態に依存した)サンプリング手法を用いる(マルコフ連鎖)。独立でないサンプルは統計的に問題なのだが、MCMCは非常に巧妙に独立でないサンプルから独立サンプルを作ることを可能にする。具体的にはランダムウォークが状態空間の中でどこへでも行ける(irreducible)、サイクルに陥らない、定常的である(時間を経ても平均と分散が変化しない)、という三つの条件(エルゴード定理)を満たせば、P(x)を知らないにも関わらず(!)、そしてランダムウォークと呼ばれる独立でない(前の状態に依存した)サンプリング手法を用いるにも関わらず(!)、P(x)から得られる正しい独立サンプルを作り出すことを可能にする(!)。しかしMCMCをそのまま使ったのでは二つの問題がある。一つはランダムウォークがあまりに遅いことであり、これはパラメータの数が多い場合(つまりディメンションが高い場合)致命的だ。もう一つはどこまでランダムウォークをすれば正しいサンプルが得られるのかわからないという点にある。これはつまり何が正しいサンプルなのか見極めることができないということであるからやはり問題だ。

一つ目のランダムウォークが遅いという問題は、ハミルトニアンなどの手法を用いることで回避できる(ハミルトニアン・モンテカルロ。NUTSはさらに上をいく)。ハミルトニアンは物理学でよく出てくるハミルトン形式のことでニュートン力学は当初、F=ma、つまり力は質量と加速度を掛け合わせたものである、という形で提示されたが、ハミルトニアン形式はニュートン力学を力ではなくエネルギーと捉え、位置エネルギー(x)と運動エネルギー(p)で表される。物理学の世界ではハミルトニアン形式は古典力学と量子力学の橋渡しをする形式になる。ランダムウォークの状態空間を古典力学の位相空間と考え、パラメータxをその位相空間のランドスケープの中で動き回る粒子と考える。そしてランダムウォークは粒子が古典力学的な決定論的法則によって状態空間の中を動くことになる。ハミルトニアン・モンテカルロではまず最初の提案としてランダムに初期の位置(x)モメンタム(p)と位置を選ぶことによってシミュレーションの中にランダムさを導入する。この提案は必ず受け入れられる。そして後は粒子がランダムウォークによって決定論的法則に従って動くことになるから、後はランダムウォークを決定論的法則に従って計算するだけだ。

物理的世界観の中ではエネルギー保存則が存在し、ランダムウォークの状態空間も古典力学的な世界観であるので、当然エネルギーは保存される。しかし実際の物理空間は積分することができる連続的世界であるが、モンテカルロはそれを離散的数字でシミュレーションしているので、時としてノイズ(摩擦)的なことが生じてしまい、エネルギーが上昇することがある。ランダムウォークの前後を計算し、エネルギーが保存されていれば、新しい位置を受け入れる。エネルギーが上昇した場合は事前に決定されたある確率で受け入れないという判断を下す。

ランドスケープの形は位置エネルギー\[U(x)=-logπ(x)\]で表され、粒子はモメンタム(慣性)を持っている。そう考えると、全体のエネルギーは

\[ H(x, p) = U(x) + K(p) \]

と表すことができる。古典力学において粒子はエネルギー保存則に従い、エネルギーの勾配(マイナス・グラディエント、-▽U(x))に沿って動く。位置エネルギー(どの程度その状態がありにくいか)は\[U(x)=-logπ(x)\]と定義されたので、エネルギーを最小化することがπ(x)の確率を最大化することと等しくなる。この運動方程式をシミュレーションで解くことで、粒子(パラメータ)がエネルギーの谷(高確率領域)をスムーズに進むことができ、無駄なランダムウォークのような動きを避けることができる。つまりマイナス・グラディエント、-▽U(x)、を追っていくことで、ランドスケープの中でエネルギーの低いエリア、つまり確率の高い場所に効率よく辿り着ける。

さて次の問題、どこまでランダムウォークをすれば正しいサンプルが得られるのかわからないという問題はCFTP(coupling from the past)という手法で解決することができる。この手法は、ランダムウォークが状態空間の中でどこへでも行ける(irreducible)、サイクルに陥らない、定常的である(時間を経ても平均と分散が変化しない)、という三つの条件(エルゴード定理)を満たせば、ある程度の時間が経てば、様々な初期条件から始まったランダムウォークは必ず合流する、そして様々な初期条件から始まったランダムウォークが合流すると、それらのランダムウォークは初期条件に関する記憶がない状態、つまり独立した分布になるというという二つの考え方に基づいている。

CFTPではまず現在(t=0)を設定し、ある程度の時間を遡り、様々な初期条件からランダムウォークを開始させ、全てのマルコフ連鎖(ランダムウォーク)が現在で合流すると、そこでP(x)から得られる正しい独立サンプルとなるということになる。ここでのトリックは現在(t=0)から未来へサンプリングしていくのではなく、過去のある時点を選び、現在(t=0)までサンプリングしていくという点になる。なぜそのようなことをするのか。理由は現在(t=0)から未来へサンプリングしていくのではいつまでサンプリングすれば良いかわからないし、もうひとつ、まず最初にストッピングルールを設けることで状態空間の境界条件にとらわれたものを本来の合流と間違えないからだ。ビリヤードテーブルの枠がビリヤードテーブルという位相空間の境界条件であるように、ランダムウォークは境界に行くとそこでスタックしてしまう可能性がある。そういった場合、そこで様々なマルコフ連鎖(ランダムウォーク)が合流する可能性がある(決定論の余波)。しかしこれは境界条件に囚われているだけで、正当な合流ではない。有意検定(p値)の場合もストッピングルールにより結果が異なってしまうが、CFTPではまず現在(t=0)というストッピングルールを設けることで、正当な合流と不正当な合流を見分けることを可能にする。 

Previous
Next
上部へスクロール