ベイズの定理 ── 事前確率と尤度から事後確率を求める定理
P(H|D) = P(D|H) × P(H) / P(D)ベイズは「データを見るたびに信念を更新する」枠組み。 確率を「データを増やしながら精製する泥」と捉える、 直感に合う考え方です。 機械学習・統計の幅広い基礎理論でもあります。
迷惑メール判定:
事前 0.5 → 事後 0.89 と更新された。 これが Naive Bayes 分類器の原理。
医療診断の古典問題:稀な病気の検査
「99%精度」と聞いて病気確定だと思いがちだが、 実は50%。 ベイズの直感反する重要例。
最小限のスニペットで動作確認できる例。 公的データ(SSDSE 等)を想定しています。
1 2 3 4 5 6 7 8 9 10 11 12 | # ベイズの定理を1関数で def bayes(p_h, p_d_given_h, p_d_given_not_h): p_d = p_d_given_h * p_h + p_d_given_not_h * (1 - p_h) return p_d_given_h * p_h / p_d # 上記の医療診断例 print(bayes(p_h=0.01, p_d_given_h=0.99, p_d_given_not_h=0.01)) # 0.50 # Naive Bayes 分類器(sklearn) from sklearn.naive_bayes import MultinomialNB model = MultinomialNB().fit(X_train, y_train) print(model.predict_proba(X_test[:3])) |
| 状況 | 事前分布 |
|---|---|
| 情報なし | 無情報事前(一様分布等) |
| 専門家知識あり | 情報事前(中心と分散を指定) |
| 解析的便利さ | 共役事前(尤度と組合せで解析解) |
| 過剰反応を抑える | 弱情報事前(広めの正規分布等) |
| 階層モデル | ハイパー事前(事前のさらに事前) |
事後分布が解析的に書けないとき、 マルコフ連鎖モンテカルロ法でサンプリング近似:
収束診断(R-hat < 1.1)と有効サンプル数(ESS)の確認が必須。
| 状況 | 事前分布 |
|---|---|
| 情報なし | 無情報事前(一様分布等) |
| 専門家知識あり | 情報事前(中心と分散を指定) |
| 解析的便利さ | 共役事前(尤度と組合せで解析解) |
| 過剰反応を抑える | 弱情報事前(広めの正規分布等) |
| 階層モデル | ハイパー事前(事前のさらに事前) |
事後分布が解析的に書けないとき、 マルコフ連鎖モンテカルロ法でサンプリング近似:
収束診断(R-hat < 1.1)と有効サンプル数(ESS)の確認が必須。