ベイズの定理(条件付き確率と事前・事後確率)
新たな情報や証拠(エビデンス)を得て「確信度」を更新する確率論
- 1
- ベイズの定理(条件付き確率と事前・事後確率)の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
- 2
- 公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
- 3
- 実社会における工学応用(スパムメール自動判定(ナイーブベイズ分類器))のTypeScript実装コードを収録。
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
ベイズの定理(条件付き確率と事前・事後確率)の基礎原理を体系化し、抽象的な計算を直感的に扱うために誕生した。
身につく武器・思考力
新たな情報や証拠(エビデンス)を得て「確信度」を更新する確率論。この考え方を身につけることで、複雑な課題を単純化して数理モデルとして解く力が養われる。
実社会・ITでの活躍現場
- •スパムメール自動判定(ナイーブベイズ分類器)
- •ITシステム・アルゴリズム実装における論理設計
- •データ分析やシミュレーションにおける数理モデリング
Layer 1 — 直感・シミュレーター
スライダーで「病気の罹患率(事前確率 P(A))」や「検査の感度・特異度」を変えてみよう。検査の精度が95%と非常に高くても、もともとの病気の人が1%のように稀である場合、「検査で陽性と出たのに、本当に病気である確率(事後確率)」はわずか16%程度にしかならない「偽陽性のパラドックス」を面積図で確認できる。
検査精度が 95% と高くても、罹患率が 1% と低い場合、陽性者の中で本当に病気である確率はわずか 16.1% に留まります(残りの 83.9% は誤判定)。これがベイズ統計における有名な「偽陽性のパラドックス」です。
Layer 2 — 定義・受験・証明
定義
事象 (証拠・検査陽性など)が観測されたという条件のもとで、事象 (原因・疾患など)が真である条件付き確率 (事後確率)は、事象 の事前確率 と尤度 を用いて次のように計算される。
公式・数理モデル
証明・導出
条件付き確率の基本定義 より、両辺を で割ることで直ちに導かれる。
全確率の公式により、分母の は「 であって が起きた確率」と「 でなくて が起きた確率」の和に分解できるため、事前確率 と各状態での条件付き確率のみから事後確率を逆算できる。
押さえておきたいポイント
- 「原因から結果が起きる確率(尤度)」から「結果から原因を推測する確率(事後確率)」を逆算する公式である
- 事前確率(ベースレート)が極端に低い場合、どんなに高精度な検査でも「陽性=ほぼ確実に病気」とはならない(基準率の錯誤)
- 新たなデータが得られるたびに、事後確率を次の事前確率として逐次的に信念をアップデートできる(ベイズ更新)
- 現代のAI・機械学習(スパムフィルタ、レコメンド、自動運転)の確率的推論の中核である
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
スパムメール自動判定(ナイーブベイズ分類器)
メール本文に含まれる単語群(例: 「無料」「当選」「暗号資産」など)を観測データ とし、そのメールがスパム()である確率をベイズの定理で計算して閾値以上なら迷惑メールフォルダに自動隔離する。
1// ベイズの定理による検査陽性時の実際の疾患確率計算2function calculatePosterior(3 priorPrevalence: number, // 事前確率 P(A): 罹患率 (例: 0.01 = 1%)4 sensitivity: number, // 感度 P(B|A): 病気の人が陽性になる確率 (例: 0.95)5 falsePositiveRate: number // 偽陽性率 P(B|~A): 健康な人が誤って陽性になる確率 (例: 0.05)6): number {7 // P(B) = P(B|A)P(A) + P(B|~A)P(~A)8 const pB = sensitivity * priorPrevalence + falsePositiveRate * (1 - priorPrevalence);9 // P(A|B) = P(B|A)P(A) / P(B)10 const posterior = (sensitivity * priorPrevalence) / pB;11 return posterior;12}1314const prob = calculatePosterior(0.01, 0.95, 0.05);15console.log(`陽性が出た人の真の疾患確率: ${(prob * 100).toFixed(1)}%`); // 約 16.1%
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元