機械学習にも使われているベイズの定理を簡単に紹介

科学・テクノロジー

 前回、確率の「4つの基本」を紹介しましたが、今回はそのなかの「乗法定理」を活用した「ベイズの定理」について紹介します。

 機械学習や情報のフィルタリング、経営判断のための意思決定などに使われる定理なので、ぜひ覚えておきましょう。




スポンサーリンク

 「ベイズの定理」とは?

 では、改めて「乗法定理」をみてみましょう。

$$\mbox{AとBの同時確率} = \mbox{Aが起こったときにBが起こる確率} × \mbox{Aが起こる確率}$$

 ここでAとBを入れ替えても、同時確率は同じ値になりますよね。

$$\mbox{BとAの同時確率} = \mbox{Bが起こったときにAが起こる確率} × \mbox{Bが起こる確率}$$

 そのため、次の式が成り立ちます。

$$\mbox{Bが起こったときにAが起こる確率} × \mbox{Bが起こる確率}\\
= \mbox{Aが起こったときにBが起こる確率} × \mbox{Aが起こる確率}$$

 ここで、両辺を「Bが起こる確率」で割ると、ベイズの定理が求まります。

$$\mbox{Bが起こったときにAが起こる確率}\\
= \frac{\mbox{Aが起こったときにBが起こる確率} × \mbox{Aが起こる確率}}{\mbox{Bが起こる確率}}$$

 とはいえ、これでは少しわかりにくいと思うので、トランプの例で考えてみましょう。

 「引いたカードがハートである」をA、「引いたカードが絵札である」をBとすると、

$$\mbox{Bが起こったときにAが起こる確率}=\mbox{絵札のときにハートである確率}=\frac{3}{12}=\frac{1}{4}\\
\mbox{Aが起こったときにBが起こる確率}=\mbox{ハートのときに絵札である確率}=\frac{3}{13}\\
\mbox{Aが起こる確率}=\mbox{ハートの確率}=\frac{13}{52}=\frac{1}{4}\\
\mbox{Bが起こる確率}=\mbox{絵札の確率}=\frac{12}{52}=\frac{3}{13}$$

 つまり、ベイズ定理の右辺は、

$$\frac{\frac{3}{13}\times\frac{1}{4}}{\frac{3}{13}}=\frac{1}{4}$$

 となり、左辺である「Bが起こったときにAが起こる確率」と一致することがわかりますね。

スポンサーリンク

 「ベイズの定理」の再解釈

 とはいえ、このままでは一般的すぎてデータ解析の現場では使えなさそうですよね。

 そこで、AとBをそれぞれ仮定(Hypothesis)とデータ(Data)と置き換えて解釈しなおします。すると、

$$\mbox{D(Data)が得られたときにH(Hypothesis)が成立する確率}\\
= \frac{\mbox{HのもとでDが生じる確率} × \mbox{Hが成立する確率}}{\mbox{Dが得られた確率}}$$

 ここで、

$$\mbox{Dが得られたときにHが成立する確率:事後確率}\\
\mbox{HのもとでDが生じる確率:尤度(ゆうど)}\\
\mbox{Hが成立する確率:事前確率}$$

 と言います。

 尤度(ゆうど)とは、「もっともらしい」という意味で、仮定Hが成立するときにデータが現れる確率を表しており、

 事前確率は、仮定が成立する確率で、事後確率は、データが得られたときに仮定が成立する確率のことです。

 とはいえ、言葉で説明してもよくわからないと思うので、ベイズの定理でよく取り上げられているモンティ・ホール問題を考えてみましょう。

3つのドアA,B,Cのいずれか1つに賞金が隠されています。あなたはドアAを選択したところ、正解を知っている出題者はドアCには賞金がないことを教えてくれました。さらに、ドアを選択し直しても良いと言われます。このとき、ドアAかドアBのどちらを選んだ方が得でしょうか。

 先ほどのベイズの定理で考えてみると、データDは「ドアCには賞金がない」、仮定Hは「ドアAに賞金がある」「ドアBに賞金がある」の2種類が考えられますね。

 それぞれベイズの定理に代入してみると、

$$\mbox{ドアCが開けられたときにドアAに賞金がある確率}\\
= \frac{\mbox{ドアAに賞金があるときドアCが開けられる確率} × \mbox{ドアAに賞金がある確率}}{\mbox{ドアCに賞金がある確率}}$$

$$\mbox{ドアCが開けられたときにドアBに賞金がある確率}\\
= \frac{\mbox{ドアBに賞金があるときドアCが開けられる確率} × \mbox{ドアBに賞金がある確率}}{\mbox{ドアCに賞金がある確率}}$$

 ここでは、この2つの確率を比較するのが目的なので、右辺の分母である「ドアCに賞金がある確率」は共通なので無視できます。すると、

$$\mbox{「ドアAに賞金があるときドアCが開けられる確率」:}\\
 \mbox{ドアBにもドアCにも賞金がないので}=\frac{1}{2}\\
\mbox{「ドアBに賞金があるときドアCが開けられる確率」:}\\
 \mbox{ドアCしか選べないので}=1\\
\mbox{「ドアAに賞金がある確率」および「ドアBに賞金がある確率」:}\\
 \mbox{ドアA,B,Cに賞金がある確率は同じなので}=\frac{1}{3}\\
$$

 となるため、それぞれの確率は、

$$\mbox{ドアCが開けられたときにドアAに賞金がある確率の分子:}\frac{1}{2}\times\frac{1}{3}=\frac{1}{6}\\
\mbox{ドアCが開けられたときにドアBに賞金がある確率の分子:}1\times\frac{1}{3}=\frac{1}{3}\\
$$

 となり、ドアBを選んだ方が賞金が当たる確率が2倍になることがわかりました。

スポンサーリンク

 「ベイズの定理」の理解を深めるための問題

 では、もうひとつ問題を解いてみましょう。

ある難病Xの検査をすると、難病Xにかかっている98%の人を正しく陽性と判定できます。ところが、難病Xにかかっていない1%の人も陽性と判断してしまいます。この難病Xは、1万人に1人の割合でかかるそうです。陽性と判定された人が難病Xにかかっている確率を求めましょう。

 この問題をベイズの定理に当てはめると、

$$\mbox{陽性だった人が難病Xにかかっている確率}\\
= \frac{\mbox{難病Xである人が陽性である確率} × \mbox{難病Xにかかっている確率}}{\mbox{陽性の確率}}$$

 となります。ここで、分母である「陽性の確率」は、「難病Xでかつ陽性である確率」と「難病Xでないかつ陽性である確率」を足し合わせたものになるので、

$$\mbox{難病Xでかつ陽性である確率}=\frac{1}{10000}*0.98\\
\mbox{難病Xでないかつ陽性である確率}=\frac{9999}{10000}*0.1$$

 これをベイズの定理に代入すると、

$$\mbox{陽性だった人が難病Xにかかっている確率}\\
= \frac{\mbox{難病Xである人が陽性である確率} × \mbox{難病Xにかかっている確率}}{\mbox{陽性の確率}}\\
= \frac{0.98*\frac{1}{10000}}{\frac{1}{10000}*0.98+\frac{9999}{10000}*0.1}\\
= \frac{0.000098}{0.010097} \approx 0.0097(=0.97\%)$$

 と1%以下であることがわかりました。

 最後に

 今回は、機械学習や情報のフィルタリング、経営判断のための意思決定などに使われる「ベイズの定理」について紹介してきました。

 尤度や事前確率、事後確率などの名称に惑わされずに本質を理解しておきましょう。

コメント

タイトルとURLをコピーしました