趣旨
変分ベイズを理解する。
なぜ変分ベイズを?
この前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万歳