「たぶん」を数にする:確率とベイズの法則

「AIの基礎:探索から機械学習まで」のレッスン 6 / 15・約6分

現実の不確実さを0〜1の確率で数値化し、手がかりを得るたびに予測を更新するベイズの法則と基準率の錯覚を学ぶレッスンです。

このレッスンで学ぶこと

  • 手がかりで確率を書き換える
  • 基準率の錯覚

レッスンの内容

「たぶん雨」を数にする

明日雨が降るかは事前に断言できません。AIはこうした不確実さを、0から1の確率で表します。

0は絶対に起きない、1は必ず起きる。サイコロで1の目が出る確率は1/6です。

手がかりがないときの確率

ヒントがないときの確率が事前確率です。10日のうち3日雨が降る町なら、明日の雨の事前確率は $P(\text{雨}) = 0.3$ になります。

サイコロを1回振ったとき、1から6のどれかの目が出る確率はいくつでしょう?

問題:サイコロを1回振ったとき、1から6のどれかの目が出る確率はいくつでしょう?

  1. 1(正解)
  2. 1/6
  3. 0.5

解説:どれかの目は必ず出るので、必ず起きることを表す1です。1/6は「1の目」など、1つの目だけが出る確率です。

手がかりで確率が変わる

雨の確率30%の町でも、朝の空が真っ暗なら見込みは変わります。手がかりBを知ったあとのAの確率を条件付き確率といい、$P(A|B)$ と書きます。

確率メーターの動き

雨の確率30%からスタートします。手がかりを押して、上がるヒントと下がるヒントを見比べましょう。

朝に黒い雲を見たあとの「午後に雨が降る確率」を表す書き方はどれでしょう?

問題:朝に黒い雲を見たあとの「午後に雨が降る確率」を表す書き方はどれでしょう?

  1. $P(\text{雨} | \text{黒い雲})$(正解)
  2. $P(\text{黒い雲} | \text{雨})$
  3. $P(\text{雨})$

解説:縦線の右が、すでに知っている手がかりです。黒い雲を見たあとなので、右に黒い雲、左に雨を置きます。逆向きの書き方は「雨の日に黒い雲が出ている確率」で、別の数です。

向きを逆にする式

「雨の日の朝に曇る割合」は記録からわかります。知りたいのは逆の「曇った朝に雨が降る確率」です。

この向きを逆にする式がベイズの法則です。$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$

曇った朝の雨は20%

CS50の例です。雨の朝は80%が曇り、雨の日は全体の10%、曇りの朝は40%。$0.8 \times 0.1 \div 0.4 = 0.2$ で、曇った朝に雨が降る確率は20%です。

迷惑メールは全体の10%。迷惑メールの80%が「無料」を含み、「無料」を含むメールは全体の16%です。「無料」を含むメールが迷惑メールである確率は?

問題:迷惑メールは全体の10%。迷惑メールの80%が「無料」を含み、「無料」を含むメールは全体の16%です。「無料」を含むメールが迷惑メールである確率は?

  1. 50%(正解)
  2. 80%
  3. 10%

解説:ベイズの法則で 0.8×0.1÷0.16=0.5、つまり50%です。80%は迷惑メールのうち「無料」を含む割合で、向きが逆。10%は手がかりを入れる前の事前確率です。

1000人の村で検査する

1000人に10人がかかる病気の検査です。陽性と出た人のうち、本当に病気の人が何%か予想してみましょう。

陽性98人のうち、病気は9人

1000人中病気は10人。検査は病気の9人と健康な990人の9%(89人)を陽性にします。陽性98人中本当の病気は9人で約9%です。

珍しさが答えを決める

陽性に健康な人が多いのは元々1%しかいないからです。この割合を基準率と呼びます。精度だけで判断する思い込みが基準率の錯覚です。

○か✕か

○か✕か:病気の人の90%を陽性にする検査で陽性が出たら、病気がどれほど珍しくても、病気である確率はおよそ90%だ。

答え:✕。1000人中10人の病気なら、陽性98人のうち病気は9人で約9%です。健康な人が多いぶん、誤った陽性が数で上回ります。

病気の人の90%と健康な人の9%を陽性にする検査を、1000人中10人が病気の村と、1000人中300人が病気の村で使います。陽性の人が本当に病気である割合が高いのは?

問題:病気の人の90%と健康な人の9%を陽性にする検査を、1000人中10人が病気の村と、1000人中300人が病気の村で使います。陽性の人が本当に病気である割合が高いのは?

  1. 300人が病気の村(正解)
  2. 10人が病気の村
  3. どちらも同じ90%

解説:300人が病気の村では、陽性333人のうち270人、約81%が本当に病気です。検査の精度が同じでも、基準率が高いと本当の陽性が誤りを上回ります。

答えは、次の出発点になる

ヒントをもとに計算し直した確率を事後確率といい、曇った朝の雨の確率は10%から20%に上がりました。

新たな手がかりが来たら、この20%を新しい事前確率にして計算を重ねます。

○か✕か

○か✕か:一度計算した事後確率は最終的な答えなので、次の手がかりが来ても計算には使わない。

答え:✕。事後確率は、次の手がかりを入れるときの事前確率になります。曇った朝に20%になった雨の確率も、次の手がかりでまた書き換わります。

「たぶん」の書き換え方

  • 起こりやすさを0〜1の確率で持つ。手がかりがないときの値が事前確率
  • 手がかりBを知ったら、条件付き確率 $P(A|B)$ に書き換える
  • ベイズの法則で、数えやすい $P(B|A)$ から知りたい $P(A|B)$ を逆算する
  • 基準率を忘れずに入れ、出た事後確率を次の事前確率にする

珍しい病気の検査で陽性が出た人が、本当に病気である確率を見積もります。検査の精度のほかに、欠かせない数はどれでしょう?

問題:珍しい病気の検査で陽性が出た人が、本当に病気である確率を見積もります。検査の精度のほかに、欠かせない数はどれでしょう?

  1. その病気の人がもともといる割合(正解)
  2. その日に検査を受けた人の合計
  3. 同じ検査をくり返した回数

解説:元の割合は、ベイズの法則で事前確率として計算に入ります。では、雨や事故が電車を遅らせ、電車の遅れが遅刻を呼ぶように、手がかりどうしがつながっていたら?次は出来事のつながりを矢印の網で表し、あいまいなセンサーだけでロボットが自分の居場所を絞り込む仕組みを見ます。

用語

確率(Probability)
出来事の起きやすさを0から1で表した数。0は起きない、1は必ず起きます。
基準率(Base Rate)
全体の中で元の対象の割合。
事前確率(Prior Probability)
情報がない状態の元の確率です。
事後確率(Posterior Probability)
情報で更新した新しい確率です。
ベイズの法則(Bayes' Rule)
手がかりの出やすさから、本当の原因を逆算する公式。
基準率の錯覚(Base Rate Fallacy)
検査精度などの目立つ数字に惑わされ、元の珍しさを忘れてしまう思い込み。
条件付き確率(Conditional Probability)
手がかりBが分かったうえでの出来事Aの確率。$P(A|B)$ と書き、右側が手がかりです。