ベイズの更新則(Bayes' Update Rule)とは
ベイズの更新則(Bayes' theorem, ベイズの定理)とは、 新しいデータが得られたときに確率的な信念を更新する方法を表す基本原理です。
数式での定義
確率変数 $ \theta $(未知のパラメータ)と観測データ $ D$ に対して:
$$
p(\theta \mid D) = \frac{p(D \mid \theta) p(\theta)}{p(D)}
$$
ここで:
-
$ p(\theta) $:事前分布(Prior)
観測前に持っている信念(パラメータの分布) -
$ p(D \mid \theta) $:尤度(Likelihood)
パラメータ $ \theta $ のもとでデータ $ D $ が得られる確率 -
$ p(D) $:周辺尤度(Evidence)
全ての可能な $ \theta $ にわたって $ D $ が得られる確率
$$ p(D) = \int p(D \mid \theta) p(\theta) , d\theta $$ -
$ p(\theta \mid D) $:事後分布(Posterior)
観測後に更新された信念(パラメータの分布)
更新の考え方
ベイズの更新則は次の関係を表します:
$$
\text{事後分布} \propto \text{尤度} \times \text{事前分布}
$$
つまり、観測データによって事前の信念を更新するという考え方です。
コインの例
コインの表が出る確率を $ \theta $ とし、1回の試行結果を $ D $ とします(表なら $x=1$、裏なら $x=0$)。
-
尤度:
$$
p(D|\theta) = \theta^{x}(1-\theta)^{1-x}
$$ -
事前分布をベータ分布とする:
$$
p(\theta) = \text{Beta}(\alpha, \beta) \propto \theta^{\alpha-1}(1-\theta)^{\beta-1}
$$
すると、事後分布は:
$$
p(\theta|D) = \text{Beta}(\alpha + x, , \beta + 1 - x)
$$
Pythonによるシミュレーション
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import beta
# 初期の事前分布パラメータ
alpha, beta_ = 2, 2 # Beta(2,2) → ややフェアなコインを想定
# 観測データ(1=表, 0=裏)
data = [1, 1, 0, 1, 1, 0, 1]
# 観測ごとに事後分布を更新
x = np.linspace(0, 1, 200)
plt.figure(figsize=(6,4))
for i, d in enumerate(data, start=1):
alpha += d
beta_ += 1 - d
y = beta.pdf(x, alpha, beta_)
plt.plot(x, y, label=f"After {i} trials")
plt.title("Bayesian Update of Coin Bias")
plt.xlabel("θ (Probability of Heads)")
plt.legend()
plt.show()
MAP推定との関係
ベイズの更新則で得られる事後分布 $ p(\theta \mid D) $ の中で、
最も確からしいパラメータ値(最大の確率密度を持つ点)を選ぶ方法が MAP推定(Maximum A Posteriori Estimation) です。
数式での定義
\hat{\theta}_{MAP} = \arg\max_{\theta} p(\theta \mid D)
ベイズの定理を代入すると:
$$
p(\theta \mid D) = \frac{p(D \mid \theta) , p(\theta)}{p(D)}
$$
分母 ( p(D) ) は定数なので無視でき、次のように簡略化されます。
\hat{\theta}_{MAP} = \arg\max_{\theta} p(D \mid \theta) \, p(\theta)
MLEとの関係
| 推定法 | 数式 | 事前分布の考慮 | 特徴 |
|---|---|---|---|
| MLE(最尤推定) | $ \arg\max_{\theta} p(D \mid \theta) $ | 無視する(一定) | データのみで推定 |
| MAP(最尤事後推定) | $ \arg\max_{\theta} p(D \mid \theta) p(\theta) $ | 考慮する | データ+事前知識で推定 |
直感的な理解
- MLE は「データを最もよく説明するパラメータ」を探す。
- MAP は「データを説明し、かつ事前にもっともありそうなパラメータ」を探す。
したがって、MAPは「MLEに正則化を加えた推定」としても理解できます。
実際、リッジ回帰やLassoなどの正則化項は、MAP推定における事前分布に対応しています。
例:ガウス分布の平均のMAP推定
観測データ $ D = {x_1, \dots, x_n} $ が平均 $ \mu $、分散 $ \sigma^2 $ の正規分布に従う場合:
$$
x_i \sim \mathcal{N}(\mu, \sigma^2)
$$
事前分布を:
$$
\mu \sim \mathcal{N}(\mu_0, \tau^2)
$$
とすると、MAP推定値は次の通り。
$$
\hat{\mu}_{MAP} =
\frac{\frac{1}{\sigma^2}\sum_i x_i + \frac{1}{\tau^2}\mu_0}{
\frac{n}{\sigma^2} + \frac{1}{\tau^2}}
$$
この式は「データ平均」と「事前平均 $\mu_0$」の加重平均になっています。
データ数が多い(または $\tau^2$ が大きい)ほど、MAP推定はMLEに近づきます。