tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

ベイズ推定とは

ベイズ推定とはベイズ主義に基づいて言えば、観測された事象$D$に基づいて推定したい仮説$H$を確率的に求めることを言う。」

ベイズの定理

この確率の更新について元になっているのがベイズの定理と呼ばれているもので $$ P(H_{i}|D) = \dfrac{P(D|H_{i})P(H_{i})}{P(D)} $$

と表される。見た目はごつい式だが$P(A|B)$というのを$P(A/B)$みたいなものだと思って見てやると、 $$ P(H \land D) = P(H/D)P(D) = P(D/H)P(H) $$ なので上の式が導ける。さらに、全ての仮説について考えると$P(D) = \sum_{j}P(D|H_{j})P(H_{j})$なので $$ P(H_{i}|D) = \dfrac{P(D|H_{i})P(H_{i})}{\sum_{j}P(D|H_{j})P(H_{j})} $$

この式の要素には

  • $P(H|D)$は事象を観測した後の確率なので「事後確率」
  • $P(H)$は事象を観測した前の確率なので「事前確率」
  • $P(D|H)$はある仮説が成り立った上で先程観測された事象が起こる確率で「尤度」

と名前が付いていて、$\text{事後確率} = \text{尤度} \times \text{事前確率} \times \text{適当な係数}$である。

これを拡張してやると $$ \text{事後確率} = \text{事前確率} \times \text{尤度} \times \text{尤度} \cdots $$ のように観測される事象に合わせてどんどん尤度を掛けあわせて行くだけで事後確率が分かってしまう。ベイズの定理は見た目によらずすごいやつである。

上で見たようにベイズの定理はすごいやつなのだが致命的な欠点がある。1つ目の問題はどう仮説$H$を$H_{i}$に分割するかを考えてみると分かる。何かのパラメーターについて考えている場合について考えてみる。パラメータが取りうる全ての値について分解するのは実数では無限に要素があって不可能であるし、代わりと言っては何だが細かく区切ってやることにしても相当細切れにしないと正確な結果が分かりにくいことである。2つ目の問題は$P(H)$は自動的には決まらないので恣意的になる恐れがあることである。

そういうこともあって(他にも問題があったのかもしれないが知識不足で知らない)このようなベイズの定理の使い方はコンピュータが普及してようやく実用的なものになった。

ベイズ推定

上のベイズの定理$P(H_{i}|D) = \dfrac{P(D|H_{i})P(H_{i})}{\sum_{j}P(D|H_{j})P(H_{j})}$を用いて、たくさんの$H_{i}$について計算した結果を集めたものが$P(H|D)$であり、この時$H$は可能な範囲を自由に動くので$H$についての関数となっている。この関数が事後分布と呼ばれるものである。「真の値」の分布が分かったことになる。

計算の過程を考えていく。$P(H)$は事前に決まっているものではないので誰かが決めてやらないといけない。事実として分かっていることや個人的な思い込みに応じて適切に決める必要がある。一方尤度については、それぞれのパラメータについてどのように事象が起こっているかによって計算できる。

簡単な例(wikipedia/ベイズ推定より転載)

どちらのボウルにクッキーがあるか? クッキーのいっぱい詰まったボウルが2つあるとしよう。ボウル#1には10個のチョコチップクッキーと30個のプレーンクッキーが、ボウル#2にはそれぞれが20個ずつある(これを前提知識とする)。どちらか1つのボウルをランダムに選び、さらにランダムにクッキーを取り出す。結果、クッキーはプレーンだった。これがボウル#1から取り出されたという確率はどれくらいか? 半分以上だというのは直感的に分かる(ボウル#1の方がプレーンクッキーが多いから)。正確な答えをベイズ推定で出そう。$H_{1}$ をボウル#1、$H_{2}$ をボウル#2とする。 最初にボウルをランダムに選ぶのだから、そのどちらか一方をとる確率は $P(H_{1}) = P(H_{2}) = 0.5$。 「プレーンクッキーが出た」という観察結果を「データD」とする。ボウル1での D の確率は $P(D | H_{1}) = 30/40 = 0.75$、ボウル2では $P(D | H_{2}) = 20/40 = 0.5$と分かる。ベイズの式は

 \begin{align} P(H_{1} | D) &= \frac{P(H_{1}) \cdot P(D | H_{1})}{P(H_{1}) \cdot P(D | H_{1}) + P(H_{2}) \cdot P(D | H_{2})} 
& = \frac{0.5 \times 0.75}{0.5 \times 0.75 + 0.5 \times 0.5} = 0.6 \end{align}

となるから、クッキーを見る前にボウル#1を選ぶ確率(事前確率)は $P(H_{1})$ = 0.5。クッキーを見た後には、この確率は $P(H_{1}|D)$ = 0.6 に改訂される。