2021年2月1日月曜日

ベイズ学習の枠組み①

ベイズ学習は、観測できない未知の変数\(W\)の確率分布\(P(W)\)を、観測された事象(データ)\(D\)が得られたという条件のもとで推論するものです。すなわち事後分布\(P(W|D)\)を求める作業になります。

例えば、赤玉と白玉が入っている箱がありそれぞれの色の個数の割合\(\theta\)が未知である場合、その\(\theta\)の確率分布\(P(\theta)\)を箱から無作為に取り出した玉の色のデータ\(D\)を得られた事実をもとに推論する、すなわち\(P(\Theta|D)\)を計算するというようなものになります。

もう1つの例としては線形回帰\( y=\boldsymbol{w} \cdot \boldsymbol{x} +b\)の学習パラメータ\(\boldsymbol{w}\)、\(b\)を未知の変数としその確率分布\(P(\boldsymbol{w})\)、\(P(b)\)を観測データ\(D\)から求める、すなわち\(P(\boldsymbol{w}|D)\)、\(P(b|D)\)を計算するというものが挙げられます。

ベイズ学習は一般的に以下の2つのStepで行っていくといえます。

▼ Step1:確率モデルの構築

まず、着目する事象が確率的なプロセスから発生するものだという仮定を置き、そのプロセスをモデル化することから始めます。モデル化には事象間もしくは変数間の関係性をグラフ表現するグラフィカルモデルが有用です。
また事象の確率プロセスがモデル化できるとそれはすなわち変数間の同時確率分布を定式化することになります。
例えば上の赤玉と白玉の割合の例の場合、下左図のようにモデル化することができます。
下図はすなわち、赤玉と白玉の割合自体も確率的に決まっており(\(P(\Theta)\))、そこから取り出される玉の色は玉の割合が\(\theta\)と決まった上での条件付き確率で表されるとモデル化していることになります。
また、線形回帰の例の場合も下右図のようにモデル化することができます(*)。未知のパラメータが確率的に決まっているものとし(\(P(\boldsymbol{w})\)、\(P(b)\))、かつ、データ自体も確率的に発生し、目的変数はそれら確率変数が決定された上での条件付き確率として表現できるというモデリングを行っています。


▼ Step2:推論

Step1で確率モデルが構築できたら、そのモデルと観測データから未知のパラメータの確率分布を推論します。これはすなわち冒頭での話のとおり、観測データ\(D\)を得た条件下で未知のパラメータがとる条件付き確率\(P(W|D)\)を推論することに相当します。
ではこの\(P(W|D)\)はどう計算すれば良いのかを考えていきましょう。条件付き確率の定義から
\[P(W|D)=\frac{P(W,D)}{P(D)}=\frac{P(W,X)}{\sum_W P(W,X)}\]
と書き換えられます。
分子の同時確率はStep1の確率モデルの構築ができた時点で定式化されており求めることができるし、分母は未知のパラメータの取りえる値全てに関して同時確率を足し合わす(周辺化する)ことで求められます。

つまりこの式は、どのような確率モデルの例であっても、同時確率とその未知のパラメータに対する周辺分布を計算することで事後分布\(P(W|D)\)を推論可能であるということを示していることになります。

実際の複雑な確率モデルを扱う場合、周辺確率を求めるのに非常にコストがかかるためサンプリングや変分法と呼ばれる近似手法によって事後分布を計算するケースが多いですが、おおもとのベイズ学習の発想は「同時確率とその未知のパラメータに対する周辺分布から事後分布を計算する」ということにあることは覚えておいた方が良いでしょう。

次回は、非常に単純なモデルを例に、同時確率とその周辺確率から実際にベイズ推論を行う例を見たいと思います。

(*)図内の四角形で囲った部分は、グラフィカルモデル のプレート図の表現で、独立のN個あるデータを1つにまとめたことを意味しています。

0 件のコメント:

コメントを投稿