具体例で学ぶベイズモデル選択
ベイズ的推定におけるモデルの選択方法を書いていきます.基本的にはベイズ的線形回帰を例に取り,基底の数や種類を変えて,どのような基底をどのくらい用意するべきかを書いていきます.ここからエビデンス近似なんかに繋がって行きます.
Keywords
モデルとは?
モデルというだけだと抽象的ですよね.例えば,事前分布であったり,ハイパーパラメータの値だったり,仮定する確率分布だったり,基底関数だったり...これらは全部モデルなんですが,それらをまとめてビショップ先生に敬意を表して(?)と書いておきます(ただし今回いじるのは基底の数と種類だけです).ハイパーパラメータなんかは交差検証でそれなりの値を出せたりします(こちれはどちらかというと頻度分布主義的な手法で今回は使いません).更に,赤池情報基準(AIC),ベイズ情報基準(BIC)とかWAICなんてものもありますね.これらに共通するモデル選択の目標とは,得られたデータに過度にフィットしないようにしつつ(つまり過学習を避ける),単純すぎないで予測精度が悪くならないようなモデルを選ぶ(つまり観測されたモデルパラメータと推定されたの差を小さくする)ことです.今回はハイパーパラメータの大小の比較ではなく,の累乗と別の「表現力のいい」関数を用いて比較していきます.ハイパーパラメータに関しても同様の思想で「エビデンス近似」と呼ばれる手法で最適化できます.
にガウシアンノイズが乗っているような系で考えていきます.基底としてを使うとして,何個使えばいいでしょうか?あるいは,得られたデータの分布からとで近似したいと思ったときどちらがいいでしょうか?現実的には,真の分布なんてわからないわけですから,「最もそれっぽい」ものを選ぶ必要があります.前準備としてベイズ的線形回帰の式を結果だけ示します.
ベイズ的線形回帰
ベイズ的線形回帰とは,実現値の集合が与えられたとき,再構成の目標値を,個の基底関数を用い,それにかかる係数から推定する手法で,例えば事前分布を平均,共分散をの多変量正規分布と仮定し,尤度を分散の多変量正規分布とすると,係数に関する事後分布は正規分布となり
です.ただしは計画行列(ref. PRML p.139)です(事後分布の平均がのみに依存するように事前分布の分散を調節しています.は事前分布の影響の強さを示します).確率モデルを
とすると,ここからは
です.
モデルエビデンス
良いモデルとは端的に言ってモデルエビデンス
を最大化するようなを選ぶことです.上式は
と書け,すなわち,事前分布からランダムにサンプリングしたときにが生成できる確率を表しています.最大事後確率推定(MAP推定)で推定された係数の周りで確率が鋭く尖っていると仮定すると上式の対数は正規分布では
と近似できます.左辺第1項は予測分布と観測されたデータの誤差,第2項は事前分布と事後分布の分散の広がり(体積)の比です.実際に変化を見てみましょう
モデルの変化(基底の数)
基底として,の累乗を3個,4個,10個用意した場合を考えます.テストデータは]の間に個で,分散を持っているとします.以下にテストデータと真の分布のグラフを載せます.
ひとまず,事前分布として
を用いた場合を考えましょう.とします(本来はは未知で,含めてエビデンス近似などで最適化する必要がありますがここでは割愛します).これによる予測分布を下図に示します.
二次関数までしか使っていないならともかくはそこまで予測として違いがないように思えます.では,に関する事前分布と事後分布はどうでしょうか?事前分布と事後分布の平均と分散,つまりと周辺化された分散を見てみましょう.
基底の数が多いほど,推定された平均が上下に大きく振動し,事前分布に対して事後分布の分散も対して変わっていないように見えます.もはや近似式が使えるかも怪しいです.モデルエビデンスを計算しましょう.
と計算できます.基底の数ごとのモデルエビデンス()は下のグラフとなります.
を越したあたりから,徐々に減っていっていることがわかります.十分な表現力を持つ関数の数ではが最低なので,当たり前といえば当たり前ですね.一般にモデルエビデンスは基底の数に対して最大値を越すと単調に減少して行く場合が多いです.
モデルの変化(基底の種類)
もし,グラフの分布から,基底の種類をとで表されると考えた場合はどうでしょう?回帰の結果と計算されたを下に示します.
モデルエビデンスはの累乗の場合よりかなり少なくなっています.このようにテストデータに対して「表現力のいい」関数を選ぶこともモデル選択において大切であることがわかります.
参考文献
追記
4/6:図を修正しました.