周辺尤度計算における温度交換の確率

周辺尤度計算における温度交換の確率
渡辺澄夫
東京工業大学
概要
「ベイズ統計の理論と方法」の第 5 章の注 56 について、周辺尤度を計算する際に交換モン
テカルロを用いる場合の逆温度間の交換確率の導出の確認です。
1
周辺尤度
データを {Xi } とし確率モデルを p(x|w) とします。また事前分布を φ(w) とします。
ˆ
H(w)
=−
n
∑
log p(Xi |w)
i=1
とするとき
∫
Z(β) =
ˆ
exp(−β H(w))φ(w)dw
と定義します。Z(1) のことを周辺尤度と呼び、ベイズ統計において重要な意味を持つ量です。物
理学では分配関数といいます。Z(1) を数値的に計算する方法を考えましょう。逆温度の数列を
0 = β0 < β1 < · · · < βK = 1 とします。
Z(0) = 1
なので
Z(1) =
Z(β1 ) Z(β2 )
Z(βK )
·
···
Z(β0 ) Z(β1 )
Z(ββK−1 )
が成り立ちます。逆温度 β での事後分布
1
ˆ
exp(−β H(w))φ(w)
Z(β)
による平均を Eβ [ ] と書くことにします。すると
ˆ
ˆ
Z(1) = Eβ0 [exp(−(β1 − β0 )H(w))]
· Eβ1 [exp(−(β2 − β1 )H(w))]
ˆ
[exp(−(βK − βK−1 )H(w))]
· · · Eβ
βK−1
となります。それぞれの平均値を求めるために逆温度の数列 {β0 , β1 , · · · , βK } すべてに対してその
ˆ
事後分布を数値的に作ります。メトロポリス法を使う場合にはエネルギー関数が β H(w)
−log φ(w)
になります。従って事前分布に由来する部分 − log φ(w) を含んでいます。
注意. すなわち 「ベイズ統計の理論と方法」の 147 ページの上から3番目の式は
p(βj ) (w) =
1
ˆ
exp(−βj H(w)
+ log φ(w))
Z(βj )
が正しい式になります。
1
2
交換確率
次に、交換モンテカルロ法を考えてみましょう。異なる逆温度の事後分布の間で交換を行う確
率がどうなるかを計算してみます。以下では w のかわりに x と y を使います。
ˆ
ˆ
P (x, y) ∝ exp(−αH(x))φ(x)
exp(−β H(y))φ(y)
この確率分布において (x, y) の交換をメトロポリス法で行う場合の確率を計算したいと思います。
この確率分布のエネルギー関数は
ˆ
ˆ
E(x, y) = αH(x)
+ β H(y)
− log φ(x) − log φ(y)
です。 操作 (x, y) → (y, x) によって増えるエネルギーは
ˆ
ˆ
ˆ
ˆ
∆E = E(y, x) − E(x, y) = αH(y)
+ β H(x)
− αH(x)
− β H(y)
ˆ
ˆ
= (α − β)(H(y)
− H(x))
となります。このエネルギーの変化には事前分布に由来する項は含まれません。
これより (x, y) → (y, x) を行う確率を
min{1, exp(−∆E)}
とすれば交換についての詳細釣り合いの関係が満たされることがわかりました。
注意. 各逆温度の事後分布を作るときのエネルギー関数と交換確率を計算するときのエネルギー
関数が微妙に違うのでプログラムを作るときには気をつける必要があります。
「ベイズ統計の理論
と方法」に記載されている βj と βj+1 の交換の確率は正しいです。
注意. 異なる逆温度間で交換が行われる確率については、事後分布が正規分布で近似できないと
きでも(フィッシャー情報行列が固有値0を含んでいるときでも)サンプル数 n が大きいときの
挙動を理論的に導出することができ対数閾値と呼ばれる双有理不変量で記述できることがわかり
ます。東京大学の永田賢二先生のご研究です。これより、n が大きいときには逆温度を等比数列に
すると交換確率が一定になることもわかります。
注意. 周辺尤度の値 Z(1) は逆温度1の事後分布だけで定まるので、本来は他の逆温度での情報は
いらないのですが、上記の方法で計算するときに値として大きな影響を及ぼすのは逆温度が0の
近くでの値です。また WBIC を用いるならば
ˆ
− log Z(1) ∼
= W BIC = E1/ log n [H(w)]
ですので、逆温度 1/ log n の事後分布で Z(1) の近似値が求められることになります。
上記のことは間違ってはいないのですが、なんとなく奇妙な感じがします。逆温度 1 での分配
関数は逆温度1の平衡状態だけで計算できるほうがよいように思うのですが、それは今のところ
難しいのです。なお、変分ベイズ法(平均場近似)を用いて得られる − log Z(1) の値の厳密値か
らのずれは − log n のオーダーであることが知られています。
参考文献
[1] 渡辺, ベイズ統計の理論と方法, コロナ社, 2012.
2