経験ベイズと周辺尤度

経験ベイズは以前勉強したことがあったので、前よりは余裕を持って聞けた。
www.yasuhisay.info
「経験ベイズは何をするものか?」ということに一言で答えようとすると、「よりよいハイパーパラメータを決定するために周辺尤度最大化を用いる手法」ということになる。この一言ですーっと入ってくるようになったから前よりは大分成長したんだろう(たぶん)。

経験ベイズとは

データをx、パラメータをw、ハイパーパラメータをaとする。(普通のパラメータwではなく)ハイパーパラメータaに関する尤度はパラメータwを積分消去した周辺尤度
p(x_1, \cdots, x_n | a) = \int \prod^n_{i=1} p(x_i|w) p(w|a) dw
で計算できる。これは事後分布
p(w| x_1, \cdots, x_n, a) = \frac{p(x_1, \cdots, x_n | w) p(w|a)}{p(x_1, \cdots, x_n | a)}
の正規化項と等しい。この正規化項をZ(x_1, \cdots, x_n)と書くことにすると、経験ベイズはこのZ(x_1, \cdots, x_n)に関して最大化を目指すためのものと言える。

授業でも質問したが、ベイズなのに尤度最大化を使っていて頻度論なのかベイジアンなのか一貫しない感じ、、、というのが嫌ならハイパーパラメータにもpriorを置いて、階層ベイズモデルを使えばよい。

この周辺尤度Z(x_1, \cdots, x_n)はパラメータwに関する積分の計算が入っていて、陽には計算ができないことが多い(そういうこともあって、EMアルゴリズムは(Q関数が計算できず)使えないことも多い)。なので、適当にfactorizeできると仮定した上で変分ベイズを使うなり、MCMCで積分を和で近似したりという論理生命学の授業では前回、前々回に習ったことがこういうところで役に立つ...が、自然言語処理だと経験ベイズ使ってハイパーパラメータaも最適化しましたという論文をあまり見ない気がするのは論文の読み方が足りないからだろうか(それとも分野的にそこの辺は適当でもいいじゃないかというスタンスなのか)。。。

追記。そんなことなかった。LDAのハイパーパラメータ最適化はまさに経験ベイズそのものであった。

www.yasuhisay.info

階層ベイズとパラメータのスパース化

階層ベイズの考え方を取り入れると、パラメータwの推定結果がスパースになりやすい(傾向がある、くらいか?)という話。

ハイパーパラメータの事前分布(hyperprior)をガンバ分布と仮定すると
p(w_j) = \int p(w_j | a_j) p(a_j) d a_j
は計算するとt分布になる。wに関する元々のpriorp(w|a)は(授業の資料だと)等方性のガウス分布のようなものになっていた。t分布はガウス分布よりすそのが厚いことで知られる分布だが、aが多次元になった場合、そいつらのかけ算になることから、こういう風な分布になりやすい。

(図を挿入する予定...)

よって、(hyperpriorの置き方にもよるだろうが)hyperpriorを入れることにより、パラメータwの推定結果はsparseになるという恩恵が受けられる。

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/02/29
  • メディア: 単行本
  • 購入: 6人 クリック: 14回
  • この商品を含むブログを見る