オーストラリアで勉強してきたMLデザイナーの口語自由詩

主に、データ分析・機械学習・ベイズ・統計について自由に書く。

ベイズの定理の違う顔

f:id:yukinagae:20171128113134p:plain

TL;DR

ベイズの定理を以下の用語を使い言い換える。クッキーの例で考えると簡単。

  • 事前確率: p(ボウル1) => ボウル1とボウル2の2つのボウルからボウル1を選ぶ確率
  • 事後確率: p(ボウル1 | ヴァニラ) => ヴァニラを見た後に、ボウル1が選ばれた確率
  • 尤度: p(ヴァニラ | ボウル1) => ボウル1からヴァニラを選ぶ確率

ここから本題

ベイズの定理(以下再掲)の導出方法と使い方はある程度わかった。

 p(A|B) = \dfrac{p(A)p(B|A)}{p(B)}

ではこの数式の各項をベイズに馴染み深い名称で言い換えよう。つまり、 全く同じこと(数式)別の名称 で言い換え、 別の見方 で見るることとする。

今まで、ベイズの定理を p(B|A) から p(A|B) という逆の確率を求めるものとして認識してきた(少なくとも私自身は)。

しかし、ベイズの定理はある仮説(H)の確率をデータ(D)で更新する過程として見ることができる(Think Bayes p. 5参照)。

各項を言い換える(注意!今までなぞってきたベイズの定理と何ら変わらない。ただ考え方を変えただけで、数式は全く一緒)。

  • p(H): ある仮説の発生する確率(これを 事前確率 と呼ぶ。データを見る前の事前情報 のこと)
  • p(H|D): データを与えられた後の仮説の発生する確率(これを 事後確率 と呼ぶ。)
  • p(D|H): ある仮説が発生した場合にそのデータが発生する確率(これを 尤度 と呼ぶ)
  • p(D): 確率を正規化するための定数(=事後確率を0.0〜1.0の間に収めるためだけに割り算する)

この表現を使って以下のようにベイズの定理を書き換える。 A/B の代わりに H/D を使っただけで全く一緒なので心配無用。

 p(H|D) = \dfrac{p(H)p(D|H)}{p(D)}

言葉が聞きなれないので違和感がある。今まで使用してきたクッキーの例で説明しなおしてみよう。 (数式を書くのに日本語だとなぜかエラーだったので仕方なく英語に書き直した)

 p(bowl1|vanilla) = \dfrac{p(bowl1)p(vanilla|bowl1)}{p(vanilla)}

今知りたいのは、取り出したクッキーがヴァニラだった場合に、そのクッキーがボウル1から取り出された確率だ(=左辺)。それを求めるために右辺を計算している。

この各項目を H/D で言い換える。

  • p(bowl1) = p(H) = 事前確率 = 事前に2つのボウルがあることがわかっているため、bowl1が選ばれる確率は1/2
  • p(bowl1 | vanilla) = p(H | D) = 事後確率 = ヴァニラ(データ)を見た後に、それがbowl1から選ばれたという仮説の確率
  • p(vanilla | bowl1) = p(D | H) = 尤度 = bowl1からクッキーが取り出された場合にヴァニラが選ばれる確率は3/4(=30/40)
  • p(vanilla) = p(D) = 正規化するための定数(特に意味はないので、無理に意味を考える必要もない)

ヴァニラを見る前にボウル1が選ばれる確率(事前確率)は1/2(=0.5)でボウル1かボウル2のどちらかわからない。なぜならデータが無いからだ。

しかし、ヴァニラを見た後にボウル1が選ばれたであろう確率(事後確率)は、もちろん1/2ではなく3/5(=0.6)と高くなるということだ(ボウル1はヴァニラの枚数が多いので当たり前の話ではある)。


事前に持っていた仮説や予測が実際のデータによって更新される(=仮説が肯定される、仮説が否定される)、というのは至極当然の話だ。事前確率事後確率 という言葉を使うことで、そのような仮説とデータの関係性を明白に認識することができる。

参考資料

  • 書籍: Think Bayes - 日本語で読める(有料)
  • Website: Think Bayes - pdfもhtmlもあるけど英語(無料)