ベイズの定理

一般に条件付き確率 $P(A\vert{}B)$ と $P(B\vert{}A)$ は成り立ちません。
一方、確率の乗法定理および同時確率は対称性($P(A,B) = P(B,A)$)が成り立つため以下の式は等しくなります。

\[\begin{aligned} P(A,B) = P(A\vert{}B)\,P(B) \\ P(B,A) = P(B\vert{}A)\,P(A) \\ P(A,B) = P(B,A) \Rightarrow P(A\vert{}B)\,P(B) = P(B\vert{}A)\,P(A) \end{aligned}\]

これを $P(B\vert{}A)$ について解くと、既知の $P(A\vert{}B)$ から未知の $P(B\vert{}A)$ を求める式、すなわちベイズの定理が得られます。

\[P(B\vert{}A) = \frac{P(A\vert{}B)\,P(B)}{P(A)}\]
  • $P(B)$:事前確率(データを見る前の信念)
  • $P(B A)$:事後確率(データAを見た後の信念)
  • $P(A B)$:尤度(Bが真だとしたときにAが起きる確率)
  • $P(A)$:正規化定数

具体例

確率の掛け算より、「人数で考える」と直感的にわかりやすくなります。

状況設定

ある町に 1000人 が住んでいます。

  • そのうち 10人 が実際に病気にかかっている
  • 残りの 990人 は健康

検査を受けると:

  • 病気の人:検査結果はほぼ正確 → 10人中 9人が陽性(1人は見逃し=偽陰性)
  • 健康な人:まれに間違って陽性になる → 990人中 99人が陽性(偽陽性率10%)

図で考える

                  1000人
                 /      \
          病気(10人)      健康(990人)
           /    \           /      \
      陽性(9人) 陰性(1人)  陽性(99人)  陰性(891人)

質問:検査で「陽性」と言われたら、本当に病気である確率は?

陽性と判定された人の合計は:

9人(病気で陽性) + 99人(健康なのに陽性) = 108人

そのうち本当に病気なのは 9人 だけなので:

P(病気 陽性) = 9 / 108 ≈ 8.3%

なぜ直感に反するのか

多くの人は「検査で陽性 = ほぼ病気」と思いがちですが、実際は 91.7%が誤診(偽陽性) です。

理由はシンプルで、そもそも病気の人が少ない(1000人中10人だけ)ので、たとえ検査の精度が高くても、健康な990人という「母数の大きさ」から出る偽陽性の絶対数が、病気の人からの正しい陽性数を上回ってしまうのです。

これをベイズの定理の式に当てはめると

P(病気 陽性) = [ P(陽性 病気) × P(病気) ] / P(陽性)
記号 意味
P(病気) 事前確率(検査前の有病率) 10/1000 = 1%
P(陽性|病気) 尤度(病気なら陽性になる確率) 9/10 = 90%
P(陽性) 陽性になる全体の確率 108/1000 = 10.8%
P(病気 陽性) = (0.90 × 0.01) / 0.108 ≈ 8.3%

人数で考えた答え(9/108)とぴったり一致します。

ポイント:ベイズの定理の本質は「事前確率(そもそもの発生頻度)を無視してはいけない」ということです。検査の精度だけを見て判断すると、この町のケースのように大きく間違えてしまいます。

ベイズ推定

ベイズ推定は、ベイズの定理を使ってパラメータや仮説についての信念を、データを見るたびに更新していく枠組みです。

P(θ D) ∝ P(D θ) × P(θ)
  • θ:知りたいパラメータ(例:コインの表が出る確率)
  • D:観測データ
  • P(θ):事前分布(データを見る前の信念)
  • P(D θ):尤度(θのもとでデータDが観測される確率)
  • P(θ D):事後分布(データを見た後の信念)

頻度論との違い

  頻度論 ベイズ推定
パラメータθ 固定された未知の値 確率分布を持つ(不確実性そのものをモデル化)
事前知識 使わない 事前分布として明示的に組み込む
結果 点推定・信頼区間 事後分布(確率分布そのもの)

具体例:コイン投げ

コインの「表が出る確率」を推定したいとします。

  1. 事前分布を設定する(例:「表が出る確率は0.5付近だろう」という信念)
  2. コインを実際に投げてデータ(表・裏の結果)を観測する
  3. 観測結果を使って事前分布を事後分布に更新する
  4. さらにコインを投げるたびに、直前の事後分布を新しい事前分布として使い、また更新する

データが増えるほど事前分布の影響は薄れ、実際のデータに基づいた分布へと収束していきます。

ポイント

ベイズ推定の本質は、一発で答えを出すのではなく、証拠(データ)が積み重なるごとに信念(確率分布)を少しずつ更新していくという考え方にあります。占い師のように断定するのではなく、地道に確信を強めたり弱めたりしていくプロセスです。

ナイーブベイズ

ベイズの定理を分類問題に応用したものが「ナイーブベイズ分類器」です。

基本アイデア

特徴量 x1, x2, …, xn が与えられたとき、クラス C である確率を最大化します。

P(C x1,…,xn) ∝ P(C) × P(x1,…,xn C)

ここで「ナイーブ(単純)」と呼ばれる理由は、特徴量同士が互いに独立だと仮定するからです:

P(x1,…,xn C) ≈ P(x1 C) × P(x2 C) × … × P(xn C)

これは現実には成り立たないことが多い(例:文章中の単語は文脈的に関連し合う)ですが、それでも実用上驚くほどよく機能します。

典型的な用途:スパムメール判定

  • クラス:「スパム」か「非スパム」
  • 特徴量:メールに含まれる各単語の有無

学習段階で「スパムメールに”当選”という単語が出る確率」「非スパムメールに出る確率」などを訓練データから計算しておき、新しいメールが来たら各単語の出現確率を掛け合わせて、どちらのクラスの確率が高いかを判定します。

メリット・デメリット

メリット

  • 計算が非常に高速(学習も予測も軽い)
  • 少ないデータでもそこそこ機能する
  • テキスト分類(スパム判定、感情分析)で特に強い

デメリット

  • 独立性の仮定が非現実的(単語同士の相関を無視)
  • 確率の絶対値自体はあまり信頼できない(順位・大小関係は割と正確)
  • 訓練データにない単語が出ると確率が0になる問題(→ラプラススムージングで対処)

まとめ

  • ベイズの定理:証拠に基づいて信念を更新するための数学的な公式
  • ベイズ推定:パラメータの不確実性を確率分布として扱い、データで逐次更新していく統計的枠組み
  • ナイーブベイズ:ベイズの定理に「特徴量の独立性」という単純化した仮定を加え、分類問題に応用したアルゴリズム