変分メッセージパッシング
From Wikipedia, the free encyclopedia
変分メッセージパッシング(へんぶんメッセージパッシング、英語: Variational message passing、VMP)はJohn Winnによって開発された、指数族の共役分布を用いた離散、連続ベイジアンネットワークを近似的に推論するための手法である。VMPはLatent Dirichlet allocation(LDA)などの手法で利用される近似的変分法を一般化した手法であり、各々のノードの周辺分布を、そのマルコフブランケット上に存在するメッセージを用いて逐次的に更新し、その近似解を求める。
隠れ変数と観測データの集合が与えられた場合、のデータのみで構成されたグラフィカルモデルの対数尤度の下限を近似的に求める問題について考える。(後に定義する)確率分布を導入すると、の対数尤度は
となる。よって、下限は以下のように定めることができる:
ゆえに、対象の対数尤度は上式のと、間の相対エントロピーの和によって表現できる。相対エントロピーは非負であるため、上で定義した関数は観測データの対数尤度の下限を表す。ここで、の周辺分布を厳密に計算しようとした場合に計算量が爆発してしまうような問題について考える。この場合、の周辺分布を直接求めるのではなく、まず分布に対して周辺分布を計算しやすくなるような単純な性質を仮定する。次に下限であるを最大化するような分布を求める。最後に分布から、周辺分布を近似的に求める。特に、VMPではに以下の独立の仮定を用いる:
ここで、はグラフィカルモデルの一部を表す。
更新則の定義
上式で得られた下限はできるだけ大きくなることが望ましい。なぜならこれは下限であるので、下限を本来の尤度に近づけることは近似精度の向上に繋がるためである。先の独立の仮定を付与した分布を代入することによって、隠れノードでパラメータ化されたは単純に、と下式によって定義された間の相対エントロピーと、に関与しない他の項の和によって表現される:
ここで、はを除くすべての分布上での期待値を表す。ゆえに、をに設定した場合において、下限は最大化される。
変分メッセージパッシングでのメッセージ
指数型分布族との関係
変分メッセージパッシングアルゴリズム
変分メッセージパッシングはまず、十分統計量の期待値を計算する。そして、対数尤度の下限が固定点に収束するまで、各々のノードに以下の操作を反復して行う:
- 親ノードからすべてのメッセージを受け取る
- 子ノードからすべてのメッセージを受け取る
- 1, 2で得られた値を用いて、十分統計量の期待値を計算する