検査で陽性と出た。本当に病気である確率は?直感的な答えはしばしば間違う。ベイズ定理は、新しい証拠に基づいて信念を正しく更新する方法を教えてくれる。スパムフィルタの「この単語があるからスパム」も、医療診断も、本質は同じ数学である。

ベイズ定理 事前確率 事後確率 尤度 ベイズ推論

ベイズ定理

ベイズ定理(Bayes' Theorem)

P(A|B) = P(B|A) × P(A) / P(B)

または

事後確率 = 尤度 × 事前確率 / 周辺尤度

各項の意味

名前 意味
P(A|B) 事後確率 Bを観測した後のAの確率(知りたいもの)
P(B|A) 尤度 Aのもとで Bが観測される確率
P(A) 事前確率 観測前のAの確率(事前知識)
P(B) 周辺尤度 Bが観測される全体的な確率

具体例:医療検査

病気の有病率 1%、検査の感度 99%、特異度 95% のとき、陽性と出た人が実際に病気である確率は?

直感:「99%正確だから90%以上?」→ 実際は約17%

計算:

P(病気|陽性) = P(陽性|病気)×P(病気) / P(陽性)

= 0.99 × 0.01 / (0.99×0.01 + 0.05×0.99)

≈ 0.17

有病率(事前確率)が低いと、陽性でも実際に病気である確率は低い。これを「基準率の無視」の問題という。

ベイズ推論

ベイズ推論の流れ

1. 事前分布を設定(既存の知識・信念)

2. データを観測

3. ベイズ定理で事後分布を計算

4. 事後分布が新たな事前分布に(信念の更新)

実務での応用

WEB開発での応用

スパムフィルタ:ナイーブベイズ分類器。特定の単語からスパム確率を計算。

レコメンデーション:ユーザーの行動から嗜好を推定。

A/Bテスト:ベイズ的A/Bテストで確率的な判断。

AI/MLでの応用

ベイズ最適化:ハイパーパラメータ探索の効率化。

確率的プログラミング:PyMC、Stan などで複雑なベイズモデル。

不確実性の推定:モデルの予測に信頼区間を付ける。

転移学習:事前学習済みモデルを事前分布として活用。

深掘りリンク

  • Wikipedia: ベイズの定理
  • 動画:3Blue1Brown「ベイズの定理」
  • 書籍:「ベイズ統計モデリング」
  • 次のステップ:MCMC、変分推論