読者です 読者をやめる 読者になる 読者になる

ベイズの定理のお勉強

機械学習の基礎中の基礎であるベイズの定理について少し勉強していきます。

ベイズの定理

ベイズの定理とは、みんな大好きWikipedia先生によると

ベイズの定理(ベイズのていり、英: Bayes' theorem)とは、条件付き確率に関して成り立つ定理で、トーマス・ベイズによって示された。
なおベイズ統計学においては基礎として利用され、いくつかの未観測要素を含む推論等に応用される。
ベイズの定理 - Wikipedia

らしいです。ベイズの定理は機械学習における重要な概念です。機械学習系の参考書を読むと必ず出てくる言葉なので、ベイズの定理を理解することは機械学習を学ぶ上での最初の第一歩なのでは?と考えています。


ベイズの定理は次の式で表されます。
{P(B|A) = \frac{P(A|B)} {P(A)} \cdot P(B)}

ここで、{P(B|A)}を事後確率、{P(A|B)}を尤度、{P(A)}{P(A)}を周辺確率、{P(B)}を事前確率と呼びます。

この式は、
何も情報がない状態では事象{B}が発生する確率は{P(B)}(事前確率)である。しかし、事象{A}を観測した時、この確率は尤度と周辺確率の比({\frac{P(A|B)} {P(A)}})で修正され{P(B|A)}になる。
と解釈できます。

3人の囚人問題

式だけではいまいちイメージが湧きにくいので、
理解を深めるために3人の囚人問題をベイズの定理に当てはめて考えてみたいと思います。

ある監獄にX、Y、Zという3人の囚人がいて、それぞれ独房に入れられている。罪状はいずれも似たりよったりで、近々3人まとめて処刑される予定になっている。ところが恩赦が出て3人のうち1人だけ助かることになったという。誰が恩赦になるかは明かされておらず、それぞれの囚人が「私は助かるのか?」と聞いても看守は答えない。
囚人Aは一計を案じ、看守に向かってこう頼んだ。「私以外の2人のうち少なくとも1人は死刑になるはずだ。その者の名前が知りたい。私のことじゃないんだから教えてくれてもよいだろう?」すると看守は「Bは死刑になる」と教えてくれた。それを聞いた囚人Aは「これで助かる確率が1/3から1/2に上がった」とひそかに喜んだ。果たして囚人Aが喜んだのは正しいか?
3囚人問題 - Wikipedia

問題を整理していきます。

最初の時点では3人とも助かる確率は等しいので、「Xが助かる」という事象をAX(Alive X)とすると、事象AXが発生する確率は
{P(AX) = \frac{1}{3}}
となります。これが事前確率です。

次に囚人Xは看守に「私以外に死刑される者の名前を知りたい」と言って看守は「Yが死刑になる」と答えています。
このやりたとり(事象)が発生したことでXが助かる確率は変わってきそうですね。

看守が「Yが死刑になる」と答える事象をDY(Dead Y)とします。
Xが看守に「私以外に死刑される者の名前を知りたい」と聞いたとき、看守がとりうる選択肢は

  • 「Yが死刑になる」
  • 「Zが死刑になる」

の2つです。
よって、事象DYが発生する確率{P(DY)}{P(DY) = \frac{1}{2}}となります。

最後にXの恩赦が決定している場合に看守が「Yが死刑になる」と答える確率、{P(DY|AX)}を考えます。
こちらも、看守のとりうる選択肢は

  • 「Yが死刑になる」
  • 「Zが死刑になる」

の2つなので、{P(DY|AX) = \frac{1}{2}}です。

必要な情報がそろったので、Xが助かる確率が本当に上昇したのか確かめてみます。
今回知りたい情報は、事象P(DY)を観測した時に囚人Xが助かる確率{P(AX|DY)}です。
整理した情報をベイズの定理に当てはめます。
{\begin{eqnarray*}
P(AX|DY) &=& \frac{P(DY|AX)} {P(DY)} \cdot P(AX) \\
&=& \frac{\frac{1}{2}}{\frac{1}{2}} \cdot \frac{1}{3}\\
&=& \frac{1}{3}
\end{eqnarray*}}

なんと、看守が「Yが死刑になる」という前後でXが助かる確率は変化していませんでした。
囚人Xはぬか喜びだったことになります。