モデル選択基準

この記事について

情報量基準などのモデル選択基準について得た断片的な知識をまとめたい。自分の力では一生断片的な知識としかならないだろうが、ブログに残しておくことで少しでも自分の中で体系化できたらいな。 随時更新予定?

memo

情報量基準は、候補モデルが将来得られるデータをどの程度精度よく予測できるかを評価したもの。

1. カルバック・ライブラー情報量基準

1.1. 定義

yを目的変数、xを説明変数とする。 カルバック・ライブラー情報量基準は、yについての2つの生成分布に比の対数について、真のデータ生成分布で期待値をとったものとみなすことができる。

カルバック・ライブラー(KL)情報量基準

q(x)を真のデータ生成分布、f(x)をデータ予測モデルとしたとき、カルバック・ライブラー情報量基準は以下で定義される。

(1)D(f;q)=Eq[logq(x)f(x)]= q(x)logq(x)f(x) d(x)

1.2. 性質

KL情報量基準は以下のような性質を持つ。これらの性質は2つのデータ生成分布の差としてイメージしやすいと思う。

  • 非負性 D(f;q)>0
  • 完備性 D(f;q)=0f=q

カルバック・ライブラー情報量基準は予測モデルf(x)の平均的な予測の良さを表現する。 ただし通常データ生成分布は未知であるからこれは計算できない。

2. AIC(赤池情報量基準)

2.1. 平均対数尤度

カルバック・ライブラー情報量基準は以下の通り対数尤度の期待値の差としても表現できる。

(2)D(f;q)=Eq[log q(x)]Eq[log f(x)]=q(x)logq(x)dxq(x)logf(x)dx

特に母数が所与のもとでは、 $$

\mathcal{D}(f;q) = \int_{-∞}^{∞}q(x)\log q(x) dx - \int_{-∞}^{∞}q(x)\log f(x | \theta) dx \tag{3} $$

第2項は対数尤度f(x|θ)を真の生成分布について期待値をとったものであり、平均対数尤度と呼ぶ。
情報量の算出理由が候補モデル間の比較である場合、第1項は共通であるから、第2項の平均対数尤度のみで比較すればよいことが分かる。
しかしこれも真のデータ生成分布が未知の場合は評価不能。そこで、将来得られるデータに対する予測の良さの観点から平均対数尤度を比較するため、平均対数尤度について確率変数Xに関する期待値をとる。

(4)EX[Eq[[logf(x|θ)]]

これを期待平均対数尤度とよぶ。

2.2. AICの定義・導出

AIC(赤池情報量基準)は前節の期待平均対数尤度を近似することから導出されるものである。

以下で定義される最大対数尤度

(5)logLmax(x|θ)=n=1Nlogf(xn|θ^)

を用いて、期待平均対数尤度を

(6)EX[Eq[[logf(x|θ)]]logLmax(x|θ)N

と近似する。さらに母数の数についてバイアス補正し、2N倍することにより、下記AICが導出される。

AIC AICは下記式で定義される。 (7)2logLmax(x|θ^)+2p ただし、pはモデル中の未制約母数の数。


AICの値が小さい程よいモデルであるとみなす。(7)式は対数尤度が高いモデルをなるべく少ない母数の数で達成しようとするものであるとみなすことが出来る。

2.3. AICの適用制限

AICは、以下の条件が満たされる場合のみに適用可能。らしい。

  • q(x)=f(x|θ)となる母数が存在する
  • 尤度関数(事後分布)が正規分布で近似可能

そのため、多くのベイジアンモデルでは、事後分布が正規分布で近似できないため、AICを用いることが出来ない。代わりに交差検証法やWAICを用いる。

3. 交差検証法

3.1. 交差検証法

モデル評価のもう一つの方法に交差検証法がある。交差検証法も将来得られるデータxに対する平均対数尤度

(8)Eq[log f(x|θ)]=q(x)logf(x|θ)dx

の推定量を検証する。

3.2. LOOCV(1個抜き交差検証法)

LOOCV(1個抜き交差検証法)では、テストデータとしてxのなかからxkだけを用い、それ以外をトレーニングデータとして利用する、という手続きをN個の点に対して繰り返し適用し、モデル性能を評価する。

3.3. MCMC標本を用いたLOOCVの推定

まずは一般の交差検証法について、MCMC標本を用いた推定方法を考える。

K個のデータをテスト用のデータとして用いた状態で、それ以外をトレーニングデータとして推定した候補モデルを用いて、テストデータxに関する尤度を

(9)f(K)(x|θ)
と表す。モデルは母数θを持っているので、母数事後分布f(θ)が得られた状況下では、(9)式に関する対数予測密度

(10)lpd=logf(K)(x|θ)f(θ)dθ

を評価できる。これは1組のトレーニングデータ・テストデータを用いてテストデータxに関する候補モデルの尤度のf(θ)に対する期待値をとったものである。

これをMCMC標本を用いて近似する場合には、

(11)lpdlog[1Tt=1Tf(x|θ(t))](K)

とすればよい。ここでTはMCMC標本の数、θ(t)は母数の1MCMC標本である。右上の(K)K個のデータをテストデータとして推定から除外した状態であることを意味する。

LOOCVのときも同様にして、

(12)lpdloo=logf(k)(xk|θ)f(θ)dθlog[1Tt=1Tf(xk|θ(t))](k)

(8)式の推定量として計算できる。ここで右上の(k)k番目の標本をテストデータとして推定から除外した状態を意味する。

あとはすべてのkについて(12)式を足し上げればよい。

LOOCVによる平均対数尤度の推定量(対数点別予測密度)

LOOCVにおける候補モデルのデータに対する予測精度は、

(13)lppdlook=1Nlog[1Tt=1Tf(xk|θ(t))](k)

で与えられる。これを対数点別予測密度という。

4. WAIC

WAIC(Widely Applicable Information Criterion)は、2010年に東京工業大学の渡辺先生が考案した情報量基準。 LOOCVと同様に、将来得られるデータに対する平均対数尤度((8)式)を推定することを目的とする。

(8)式はデータ生成分布について期待値を取る必要があるが、今までと同様データ生成分布は未知であるから計算できない。今度はデータ生成分布を事後分布で近似することを考える。

(14)elppd=i=1NEpost[logf(xi|θ)](Eq[log f(x|θ)])

(14)式のelppd期待対数点別予測密度と呼ばれる。これをMCMCサンプルを用いて近似計算することを考える。

まず、将来得られる1つのデータxiに対する予測精度の評価値lpdを以下の通り再定義する。

(15)lpdWAIC=log[1Tt=1Tf(xi|θ(t))](Epost[logf(xi|θ)])

これをN個すべてのデータ点で足し上げれば、(14)式のMCMCサンプルを用いた近似値lppdWAIC(対数点別予測密度)を得ることができる。

(16)lppdWAIC=i=1Nlog[1Tt=1Tf(xi|θ(t))](i=1NEpost[logf(xi|θ)])

ただし、(16)式からわかるように、将来得られるデータとして既に得られた標本を用いている為、学習データに箇条適合してしまっている。その修正項として以下の有効パラメータと呼ばれる項をペナルティとして(16)式に考慮する。

(17)pWAIC=i=1NVpost[logf(xi|θ)]

以上を踏まえ、また式の形をAICに合わせることで、WAICは下記の通り定義される。

WAIC Waicは下記式で定義される。 (18)WAIC=2i=1Nlog[1Tt=1Tf(xi|θ(t))]+2i=1NVpost[logf(xi|θ)]


WAICは、事後分布が正規分布で近似できないような多くのベイジアンモデルにおいても適用可能な情報量基準量である。

コメントを書く


※ コメントは承認されると表示されます

承認されたコメント一覧