1. ベイズの定理とは
一言で言えば、ベイズの定理は「新しい証拠(データ)を目にしたとき、それまでの信念(確率の見積もり)をどう更新すればよいか」を定める規則である。健康診断の結果をどう解釈するか、迷惑メールをどう判定するか、コイン投げが歪んでいるかどうかをどう判断するか——形は違えど、これらはすべて同じ一本の式に帰着する。
事象 \(A\) と \(B\) について、ベイズの定理は次のように書かれる。
\[ P(A \mid B) = \frac{P(B \mid A)\, P(A)}{P(B)} \tag{1} \]式(1)に登場する4つの項には、それぞれ次の名前が付いている。
- \(P(A)\) :事前確率(事前分布)。データ \(B\) を見る前に、\(A\) についてどれくらい確からしいと考えていたか。
- \(P(B \mid A)\) :尤度。\(A\) が正しいと仮定したとき、実際に観測したデータ \(B\) がどれくらい起こりやすいか。
- \(P(B)\) :周辺尤度(エビデンス)。\(A\) の真偽によらず、データ \(B\) がそもそもどれくらい起こりやすいか。正規化定数として働く。
- \(P(A \mid B)\) :事後確率(事後分布)。データ \(B\) を見た後で更新された、\(A\) についての確からしさ。
つまりベイズの定理は「事前確率」を「データがどれだけそれを裏付けるか(尤度)」で重みづけし、「そのデータ自体の起こりやすさ(周辺尤度)」で正規化して、「事後確率」へと更新する手続きだと読める。以降、検査の的中率とコイン投げの2つの具体例を通じて、この4つの項が実際にどう働くのかを数値で確かめていく。
2. 条件付き確率から導出する
ベイズの定理は特別な公理ではなく、条件付き確率の定義から2行で導かれる。条件付き確率の定義はそれぞれ次の通りである。
\[ P(A \mid B) = \frac{P(A \cap B)}{P(B)}, \qquad P(B \mid A) = \frac{P(A \cap B)}{P(A)} \tag{2} \]右側の式を \(P(A \cap B)\) について解くと \(P(A \cap B) = P(B \mid A)\,P(A)\) となる。これを左側の式の分子に代入すれば、
\[ P(A \mid B) = \frac{P(B \mid A)\,P(A)}{P(B)} \]となり、式(1)がそのまま得られる。\(P(A \cap B)\) という「同時に起こる確率」を、\(A\) 側から見るか \(B\) 側から見るかという2通りの表現を等号で結んだだけであり、特別な仮定は一切使っていない。この導出のシンプルさが、ベイズの定理がこれほど広く応用される理由の一つである。
3. 具体例1: 検査と陽性的中率
ベイズの定理の威力がもっとも実感しやすいのが、医療検査の解釈である。次の設定を考える。
- 有病率(検査対象の集団で実際に病気を持つ人の割合): 1%
- 感度(病気の人が検査で正しく陽性となる確率): 90%
- 特異度(健康な人が検査で正しく陰性となる確率): 95%
このとき、検査で陽性と判定された人が実際に病気を持っている確率(陽性的中率)はどれくらいだろうか。直感的には「感度90%なので9割方病気だろう」と考えがちだが、計算するとまったく違う答えになる。
事象を \(D\) (疾患あり)、\(T^+\) (検査陽性)とおき、ベイズの定理を適用する。
\[ P(D \mid T^+) = \frac{P(T^+ \mid D)\,P(D)}{P(T^+)} \]分母の周辺尤度 \(P(T^+)\) は、疾患あり・なしそれぞれの場合分けで陽性になる確率を足し合わせて求める。
\[ P(T^+) = P(T^+ \mid D)\,P(D) + P(T^+ \mid \bar{D})\,P(\bar{D}) \]数値を代入すると、\(P(D) = 0.01\) 、\(P(T^+ \mid D) = 0.90\) (感度)、\(P(T^+ \mid \bar{D}) = 1 - 0.95 = 0.05\) (特異度95%の裏返し)、\(P(\bar{D}) = 0.99\) なので、
\[ P(T^+) = 0.90 \times 0.01 + 0.05 \times 0.99 = 0.009 + 0.0495 = 0.0585 \] \[ P(D \mid T^+) = \frac{0.009}{0.0585} = 0.1538\ldots \approx \mathbf{15.4\%} \]感度90%の検査で陽性が出たにもかかわらず、実際に病気を持っている確率はわずか15.4%にとどまる。これは検査の性能が低いからではなく、有病率が1%と非常に低いため、健康な99%の集団からわずか5%誤って陽性になるだけで、真の陽性者数を上回る偽陽性が生まれてしまうからである。事前確率(有病率)を無視して尤度(感度)だけで判断すると、この落とし穴にはまる。
同じ計算を、10万人の集団に当てはめた分割表で確認しておく。
| 検査陽性 | 検査陰性 | 合計 | |
|---|---|---|---|
| 疾患あり | 900 | 100 | 1,000 |
| 疾患なし | 4,950 | 94,050 | 99,000 |
| 合計 | 5,850 | 94,150 | 100,000 |
疾患あり1,000人のうち感度90%で900人が真陽性(TP)、残り100人が偽陰性(FN)。疾患なし99,000人のうち特異度95%の裏返しで5%にあたる4,950人が偽陽性(FP)、残り94,050人が真陰性(TN)となる。陽性的中率は
\[ \mathrm{PPV} = \frac{\mathrm{TP}}{\mathrm{TP} + \mathrm{FP}} = \frac{900}{900 + 4{,}950} = \frac{900}{5{,}850} = 0.1538\ldots \approx 15.4\% \]となり、先ほどの計算と一致する。ちなみに陰性的中率(NPV、陰性と判定された人が実際に健康である確率)は \(94{,}050 / 94{,}150 \approx 99.9\%\) と非常に高く、この検査は「陽性を鵜呑みにはできないが、陰性はほぼ信頼できる」検査だと分かる。有病率が低い集団に対するスクリーニング検査の結果を読むときは、この陽性的中率と陰性的中率の非対称性を常に意識する必要がある。
4. 具体例2: ベイズ更新の逐次性
ベイズの定理のもう一つの本質は、データが増えるたびに事後分布を次の事前分布として使い、逐次的に信念を更新できる点にある。歪んだコインを想定し、表が出る確率 \(\theta\) を推定する例で確認する。
\(\theta\) についての事前分布として、\([0,1]\) 上の一様分布に等しい Beta(1,1) を用いる。Beta分布は次の確率密度関数を持つ。
\[ p(\theta \mid \alpha, \beta) \propto \theta^{\alpha - 1}(1-\theta)^{\beta - 1} \]コインを1回投げて表(Head)が出る尤度は \(P(\text{表} \mid \theta) = \theta\) 、裏(Tail)が出る尤度は \(P(\text{裏} \mid \theta) = 1-\theta\) である。事前分布 Beta\((\alpha, \beta)\) に対して表が観測されると、事後分布は
\[ p(\theta \mid \text{表}) \propto \theta \cdot \theta^{\alpha-1}(1-\theta)^{\beta-1} = \theta^{\alpha}(1-\theta)^{\beta-1} \;\Rightarrow\; \mathrm{Beta}(\alpha+1,\ \beta) \]というように、指数を1増やすだけで再びBeta分布になる。裏が観測されれば同様に \(\beta\) が1増える。一般に、\(n\) 回の試行で表が \(k\) 回、裏が \(n-k\) 回出たとすると、
\[ \mathrm{Beta}(\alpha, \beta) \xrightarrow{\ k\text{回表}, (n-k)\text{回裏}\ } \mathrm{Beta}(\alpha + k,\ \beta + n - k) \tag{3} \]と更新される。実際にコインを1枚シミュレーションして(乱数シード固定、真の表確率 \(p=0.65\) )、Beta(1,1)から出発し1回ずつ逐次更新した様子が次の表である。
| 試行 \(n\) | 結果 | 事後分布 | 事後平均 \(\alpha/(\alpha+\beta)\) |
|---|---|---|---|
| 0 | – | Beta(1,1) | 0.500 |
| 1 | 表 | Beta(2,1) | 0.667 |
| 2 | 裏 | Beta(2,2) | 0.500 |
| 3 | 表 | Beta(3,2) | 0.600 |
| 4 | 裏 | Beta(3,3) | 0.500 |
| 5 | 表 | Beta(4,3) | 0.571 |
| 6 | 表 | Beta(5,3) | 0.625 |
| 7 | 裏 | Beta(5,4) | 0.556 |
| 8 | 表 | Beta(6,4) | 0.600 |
| 9 | 表 | Beta(7,4) | 0.636 |
| 10 | 表 | Beta(8,4) | 0.667 |
1回ごとに事後分布が動いているのが分かる。重要なのは、この「事後分布を次の事前分布として使う」手続きを何回繰り返しても、最終的に得られる事後分布は「全データをまとめて一度に式(3)へ代入した場合」とまったく同じになる点である。これは尤度が各試行の積 \(\theta^{k}(1-\theta)^{n-k}\) として書け、掛け算の順序に依存しないためであり、観測データを1件ずつ処理するオンライン学習でも、まとめて処理するバッチ処理でも同じ結論に落ち着くことを保証している。
同じコインをさらに投げ続け、\(n=10, 50, 200\) の各時点での事後分布を比較すると、次のようになる(表・裏の回数はすべて同一のシミュレーションから実測)。
| 試行数 \(n\) | 表/裏の回数 | 事後分布 | 事後平均 | 事後標準偏差 |
|---|---|---|---|---|
| 0(事前) | – | Beta(1,1) | 0.500 | 0.289 |
| 10 | 表7/裏3 | Beta(8,4) | 0.667 | 0.131 |
| 50 | 表34/裏16 | Beta(35,17) | 0.673 | 0.064 |
| 200 | 表130/裏70 | Beta(131,71) | 0.649 | 0.034 |
データが増えるほど事後平均は真の値 \(p=0.65\) に近づき、事後標準偏差(分布の広がり=不確実性の大きさ)は単調に縮小していく。これを可視化したのが次の図である。

事前分布の緩やかな山(分散が大きい=何も分からない状態)が、データを重ねるごとに鋭い山へと変わっていく様子が一目で分かる。これがベイズ更新の核心であり、次章で見る「事後 ∝ 尤度 × 事前」という関係の具体的な現れである。
5. 事前分布・事後分布・尤度の関係整理
式(1)の分母 \(P(B)\) は \(A\) の値によらない定数(正規化定数)なので、比例関係だけに着目すると次のように書ける。
\[ \text{事後分布} \;\propto\; \text{尤度} \times \text{事前分布} \]前章のコイン投げの例では、この式がそのまま \(p(\theta \mid \text{データ}) \propto p(\text{データ} \mid \theta)\, p(\theta)\) という形で働いていた。事前分布がBeta分布で、尤度がBernoulli/二項分布のとき、事後分布もまたBeta分布になる——このように、ある尤度に対して事前分布と事後分布が同じ分布族に属する組み合わせを**共役事前分布(conjugate prior)**と呼ぶ。代表的な組み合わせには次のようなものがある。
- Beta分布 × 二項分布(Bernoulli分布) → 事後分布もBeta分布(本記事のコイン投げの例)
- ガンマ分布 × ポアソン分布 → 事後分布もガンマ分布(単位時間あたりの発生件数の推定など)
- 正規分布 × 正規分布(分散既知) → 事後分布も正規分布(平均の推定など)
共役事前分布を選ぶ最大のメリットは、積分を数値的に解かなくても事後分布の形とパラメータが解析的(閉じた式)に求まることである。実務でよく使われる分布の組み合わせにはあらかじめ共役性が知られているため、これを使えるかどうかを最初に確認するのは理にかなっている。一方で、モデルが複雑になり尤度と事前分布が共役の関係にない場合は、事後分布を解析的に求めることができなくなる。この場合にどう対処するかは7章で扱う。
6. 頻度主義との違い
「ベイズ統計」と対比される考え方に頻度主義統計がある。両者は対立する陣営というより、確率という概念に対する解釈と、それに伴う道具立てが異なるだけだと捉えるのが実務的には有益である。
頻度主義では、確率を「同じ条件で試行を無限に繰り返したときの相対頻度の極限」として定義する。母集団のパラメータ(例えばコインの表が出る真の確率)は未知だが固定された定数であり、確率分布を持つのはデータの方だと考える。推定にはパラメータの点推定値や信頼区間、仮説検定(p値)といった道具を用いる。
一方ベイズ統計では、確率を「ある命題に対する信念の度合い」として定義する。パラメータそのものが不確実性を持つとみなし、事前分布という形でその不確実性を明示的に表現し、データを見るたびに事後分布へと更新していく。推定結果は点推定値ではなく分布そのものであり、そこから信用区間(credible interval)を得る。信用区間は「パラメータがこの区間に入る確率が95%」と直接解釈できる一方、頻度主義の信頼区間は「同じ手続きを繰り返したとき区間が真の値を含む割合が95%」という、微妙に異なる解釈を持つ点には注意が必要である。
どちらを使うべきかは目的次第である。大規模で標準化されたA/Bテストや、規制当局への提出が求められる臨床試験などでは、手続きが確立され再現性の検証がしやすい頻度主義的な仮説検定が広く使われる。一方、データが少ない状況で事前知識を積極的に活用したい場合、意思決定を逐次的に更新していきたい場合、あるいは推定結果を「確率分布」としてそのまま下流の意思決定に使いたい場合には、ベイズ的なアプローチが強みを発揮する。優劣の問題ではなく、状況に応じた使い分けの問題である。
7. 機械学習・実務との接続
ベイズの定理は理論だけでなく、実務でも幅広く使われている。
もっとも身近な応用例がナイーブベイズ分類器である。迷惑メール判定を例にとると、メール中の単語 \(x_1, \dots, x_d\) が与えられたとき、クラス \(y\) (迷惑メール/正規メール)の事後確率は
\[ P(y \mid x_1,\dots,x_d) \propto P(y) \prod_{i=1}^{d} P(x_i \mid y) \]と書ける。単語同士は本来互いに関連し合っているが、「クラスが決まれば各単語の出現は独立」という単純化(ナイーブな仮定)を置くことで、少ない学習データからでも高速に確率を計算できる。この単純さゆえに、テキスト分類のベースラインとして今でも広く使われている。
一方、実務で扱うモデルの多くは5章で触れた共役性を持たず、事後分布を解析的に書き下すことができない。回帰係数が数百次元あるベイズ線形モデルや、階層構造を持つモデルがその典型である。このような場合には、事後分布から直接サンプルを生成することで分布の形を近似的に再現する**マルコフ連鎖モンテカルロ法(MCMC)**が使われる。基本的なメトロポリス法は次元が高く変数間の相関が強い分布では効率が落ちるという弱点があり、これを勾配情報で克服したのがhttps://yuhi-sa.github.io/posts/20260715_hamiltonian_monte_carlo/1/で解説したハミルトニアンモンテカルロ法(HMC)である。ベイズの定理という一本の式が、単純な確率計算から現代的なベイズ推論エンジンまでを貫いていることが分かる。
関連書籍
ベイズ統計の考え方を機械学習の枠組みで体系的に学び直したい読者には、次の一冊を挙げておく。
Python・機械学習系の定番書は Pythonで信号処理・機械学習・制御を学ぶおすすめ技術書12選 にまとめている。
まとめ
ベイズの定理は \(P(A \mid B) = P(B \mid A)P(A) / P(B)\) という条件付き確率の定義から2行で導かれる式でありながら、事前分布・尤度・事後分布という3つの要素を通じて「証拠に基づいて信念を更新する」という汎用的な考え方を提供する。検査の陽性的中率の例では、事前確率(有病率)を無視すると直感に反する結論を見落とすことを確認した。コイン投げの例では、Beta分布の共役性を使って事後分布が観測データとともに真の値へ収束し、不確実性が縮小していく様子を実際の数値で追った。ナイーブベイズからMCMCまで、機械学習の広い範囲がこの一本の式の上に成り立っている。
よくある質問(FAQ)
Q. ベイズの定理は何に使う? A. 迷惑メール判定(ナイーブベイズ)、健康診断や検査結果の解釈、A/Bテストの逐次的な意思決定、異常検知、ベイズ推論に基づく機械学習モデルの学習など、「新しいデータを見て確率の見積もりを更新する」あらゆる場面で使われる。
Q. 事前分布はどう決める? A. 過去のデータや専門家の知見があれば、それを反映した情報事前分布(本記事の例では「有病率1%」がこれにあたる)を設定する。特に強い知識がない場合は一様分布などの無情報事前分布を使うことも多い。共役事前分布(5章)を選べば計算が容易になるという実務的な利点もある。いずれの場合も、観測データが十分に増えれば尤度の影響が支配的になり、事前分布の選び方による差は小さくなっていく(4章の図の通り)。
Q. ベイズと頻度主義どちらを使うべき? A. どちらが優れているという単純な話ではなく、目的で使い分けるのがよい。標準化された大規模検定や再現性の検証が重視される場面では頻度主義の仮説検定が広く使われ、データが少なく事前知識を活かしたい場面や、意思決定を逐次更新していきたい場面ではベイズ的アプローチが強みを発揮する(6章)。
なお、条件付き確率などの基本計算は 確率計算ツール(CalcBox) でも試せる。
関連記事
- 確率の基礎 - 同時確率・周辺確率・条件付き確率など、本記事の前提となる確率論の基礎
- ベイズ線形回帰の基礎:最小二乗法からベイズ推定まで - ベイズの定理を回帰モデルのパラメータ推定に応用する実践例
- マルコフ連鎖モンテカルロ(MCMC)の基礎:メトロポリス法とギブスサンプリング - 共役性が使えない事後分布を近似するサンプリング手法
- Hamiltonian Monte Carlo(HMC)の理論とPython実装 - 勾配情報でMCMCの効率を高める発展的手法
- 統計学におけるモーメント:確率分布の特徴を表す指標 - 事後分布の平均・分散などを整理する統計量の基礎