ベイズ推論の概要(パラメータの事後分布と予測分布)

ベイズ学習の基本であるパラメータの事後分布および未観測データの予測分布の計算についての概要.

一般的に,機械学習モデルのもつパラメータをデータから決定することを学習と呼ぶ. ベイズ推論の枠組みでは,パラメータも何らかの不確実性を持っているような確率変数として扱う. この不確実性を持つパラメータの事後分布をデータの観測によって求めることが学習にあたる.

また,このようにして得られたモデルのパラメータに基づいて,未観測データに対する推論を行う際も,予測分布を確率推論を用いて求める.

パラメータの事後分布

訓練データ集合を Dとする. ベイズ学習では同時分布 D, \thetaについて考えることで,データを表現するようなモデルを構築する.

 p(D, \theta) = p(D|\theta)p(\theta)

 \thetaはモデルに含まれる未知のパラメータであり,観測されていないものとする. パラメータ \thetaに関する事前の不確実性は事前分布 p(\theta)を与えることでモデルに反映させることができる.

また, p(D|\theta)はあるパラメータ \thetaからどのようにしてデータ Dが発生するのかを記述している. この p(D|\theta)をパラメータ \thetaについての尤度関数と呼ぶ.

データ Dを観測したあとでは,パラメータの不確実性はベイズの定理を用いて以下のように更新される:

 p(\theta|D) = p(D|\theta)p(\theta) / p(D)

この条件付き分布 p(\theta|D)の計算がベイズ学習における学習にあたる.

予測分布

学習された分布を用いて,未観測のデータ x^{*}に対する予測分布 p(x^{*}|D)を計算したい. データ D,未知データ x^{*}, パラメータ \thetaに関する同時分布は,

 p(D, x^{*}, \theta) = p(D|\theta)p(x^{*}|\theta)p(\theta)

となる. 現在,データ Dのみが手元にあるとすると,残りの変数の事後分布は,

 p(x^{*}, \theta|D) = \frac{p(D, x^{*}, \theta)}{p(D)}

 = \frac{p(D|\theta)p(x^{*}|\theta)p(\theta)}{p(D)}

 = p(x^{*}|\theta)p(\theta|D)

上記の式においてパラメータ \theta積分除去すると,

 p(x^{*}|D) = \int p(x^{*}|\theta)p(\theta|D)d\theta

となり,求めたい予測分布が得られる.