趣旨
変分ベイズを理解する。
なぜ変分ベイズを?
この前EMアルゴリズムを解説した。
じゃあ次は変分ベイズだね。
変分ベイズはEMより圧倒的に数式を追うのが難しいので頑張りましょう。
表記法
- : 観測変数(即ち入力)
- : 潜在変数
モデルパラメタは?
変分ベイズの枠組みでは、モデルパラメタは"未知の変数"という意味で潜在変数に含まれる。ここがEMアルゴリズムと大きく違う点である。
問題設定
同時分布から、事後分布や、モデルエビデンスを計算したい。事後分布がわかればそれを最大にする潜在変数も分かる。そして変分ベイズではにモデルパラメタが含まれるので、"最適な"モデルパラメタがとしてわかるのである。
- EMアルゴリズムでも事後分布をEステップで用いている。ただしEMにおける潜在変数はモデルパラメタを含まないので、を知っているからといってモデルパラメタが直ちに求まるわけではない。
- モデルエビデンスの解釈は他サイトに譲る。
知らんし
しかし、EMアルゴリズムが想定する状況ほど簡単には得られないものとする。
さて早速解法にと行きたいところだが、前提と仮定が入り組みすぎてて面倒なので一旦後回しにする。うるせぇ早く見せろって人は第5章へどうそ。
1. による周辺化
、、の関係性は、EMアルゴリズムの時のように任意の分布を導入して、
と表され、さらに最右辺第一項を汎関数、第二項をKLダイバージェンスで表現すると、
のように非常に簡素に書ける。
- 汎関数とは、ざっくり言えば「関数を入力とする関数」のこと。今回の例ではは確率分布を入力としている
- KLダイバージェンスは、確率分布同士の違い(乖離度)を示す指標である。今回だととを比較しており、の時最小値を取る。調べましょう。
- KLダイバージェンスは以上であることが保証されている。よって、上の式から以下のように表現でき、これは以前Jensenの不等式だのなんだので導出した不等式と等価であることがわかる
さて、左辺は定数であるため、が最大の時、つまりが成立するのだが、EMアルゴリズムの時と違いが計算できない状況である。
2. 計算できないなら近似するしかない-平均場近似
変分ベイズでは、を以下のような式で拘束し、拘束条件下でに近づけることを考える。
つまり、潜在変数を個のグループに分割して、グループ間は統計的に独立であると仮定している。
- 例えば、GMMでは混合割合のグループや、平均のグループ、また分散共分散行列のグループがあった。グループ内はともかく、グループ間でこれらが依存しあっているとは考えにくい。
この仮定は平均場近似と呼ばれる。
それの何が嬉しいの?
平均場近似によって、上のの最大化から各についての上のの最大化へと分けることができる。以下で、の中のに依存する項を探してみよう(頑張りましょう)。
3. の中のに依存する項を探す
3-1. 重積分への変形
まず、潜在変数全体の積分から、独立関係にある潜在変数のグループそれぞれの積分の繰り返し、即ち重積分で表現する(あとついでにも変換する)。
3-2. に注目して分解する
の性質より2つに分解する。見るのも嫌になるがやっていることはまだ単純。
3-3. それぞれ見ていく
ここからは、最右辺の2つの項のそれぞれについて式変形を試みる。
3-3-1. 第一項について
3-3-1-1. の積分を一番外に持ってくる
積分の順序交換(数学的にそんなことして良いのかは触れない)によって、の積分を一番外側に持ってくる。
3-3-1-2. の中身を簡単にする
上の式をよく見ると、の中身は期待値である(ここで、あくまでにおける期待値であって、は含まれていないことに注意)。よって、
のように書ける。
3-3-1-3. 確率分布を導入
さらに状況をわかりやすくするため、以下のような確率分布を導入する。
ここで、は規格化条件
を守るための定数だと考えれば良い。これの対数は
となる。これの導入により、最終的に第一項は
と書けるのだった。
3-3-2. 第二項について
やることが今までとそこまで変わらないのでどんどん行きましょう。
3-3-2-1. に注目して分解する
3-3-2-2. の積分を一番外に持ってくる
3-3-2-3. 定数項をまとめる
今欲しいのはに依存する項であってそれ以外は要らない。全部に押し込んでしまおう。
3-3-2-4. の中身を簡単にする
今度のの中身はである。なぜならはに依存しないからである。よって、
お疲れ様でした。
3-4. 結局
上の式を全部代入すれば、
と書けるのだった。またKLダイバージェンスである。
4. で、どうすんの
第2章で述べたように、変分ベイズにおける最適化は各についての上のの最大化と言える。そして、上のの最大化は、上で得た結論
の最大化、つまりの最小化と解釈できる。KLダイバージェンスの性質から、最小化は
の時成される。ただし、式を見れば明らかなように、の計算式に他の潜在変数グループ ()が入ってしまっており、これは完全な解析解を示せていない。
- を計算したい が必要だから計算したい が必要だから計算したい 以下ループ
これに対処するために、まず全てのに初期値を与え、反復的に更新することで解を得る。これは収束することが保証されているらしい。
5. 解法
- 潜在変数を個の(統計的に独立と言えそうな)グループに分割し、それぞれに確率分布を定義して初期値を与える。
- 各について順番に、以下の式に従って更新する。
6. まとめ
変分ベイズをまとめた。変分ベイズとEMアルゴリズムの違いは以下の通り
- EMアルゴリズムはモデルパラメタと潜在変数は別という態度をとり、事前確率を最大にするようなを求める。
- 変分ベイズはモデルパラメタは潜在変数に含まれるという態度をとり、事後確率を近似して潜在変数を求める。
特に、変分ベイズにおけるパラメタはEMアルゴリズムのように直接求まるわけではなく、あくまで事後分布の期待値、つまりとして求まることに注意。
変分ベイズはGMM(またもや)などに使われる手法である。応用は頑張ってください。
7. おまけ
import numpy as np from sklearn.mixture import BayesianGaussianMixture model = BayesianGaussianMixture(n_components=2) model.fit(X)
sklearn万歳