ベイズ推定は、統計モデルのパラメータを推定する際に、データだけでなく、そのパラメータに関する事前知識(事前情報)も考慮に入れる統計的アプローチです。この事前知識は事前分布として表現されます。
ベイズの定理
ベイズ推定の根幹をなすのがベイズの定理です。これは、条件付き確率の関係から導かれる基本的な定理です。
確率変数 \(X\) とパラメータ \(\theta\) があるとき、以下の関係が成り立ちます。
\[ p(\theta|x) = \frac{p(x|\theta)p(\theta)}{p(x)} \]この定理における各項は以下のように呼ばれます。
- \(p(\theta|x)\): 事後分布 (Posterior Distribution) 観測データ \(x\) が得られた後での、パラメータ \(\theta\) の確率分布。データによって更新された、パラメータに関する信念を表します。
- \(p(x|\theta)\): 尤度 (Likelihood) パラメータが \(\theta\) であるという条件の下で、データ \(x\) が観測される確率(または確率密度)。最尤推定で最大化される関数と同じです。
- \(p(\theta)\): 事前分布 (Prior Distribution) データ \(x\) を観測する前の、パラメータ \(\theta\) に関する事前知識や信念を表す確率分布。
- \(p(x)\): 周辺尤度 (Marginal Likelihood) / 証拠 (Evidence) / 規格化定数 (Normalizing Constant) パラメータ \(\theta\) を周辺化したデータ \(x\) の確率。事後分布の総和が1になるように調整するための定数であり、以下のように計算されます。 \( p(x) = \int p(x|\theta')p(\theta')d\theta' \)
MAP推定 (Maximum A Posteriori Estimation)
MAP推定は、事後分布 \(p(\theta|x)\) を最大化するパラメータ \(\hat{\theta}_{MAP}\) を求める手法です。これは、最尤推定に事前分布の概念を導入したものと考えることができます。
\[ \hat{\theta}_{MAP} = \arg\max_{\theta} p(\theta|x) = \arg\max\_{\theta} \frac{p(x|\theta)p(\theta)}{p(x)} \]\(p(x)\) は \(\theta\) に依存しない定数なので、実質的には尤度 \(p(x|\theta)\) と事前分布 \(p(\theta)\) の積を最大化することになります。
\[ \hat{\theta}_{MAP} = \arg\max_{\theta} p(x|\theta)p(\theta) \]ベイズ推定
MAP推定が事後分布のピーク(最も確率が高い点)をパラメータの推定値とする点推定であるのに対し、ベイズ推定では、パラメータ \(\theta\) を単一の値として求めるのではなく、事後分布 \(p(\theta|x)\) そのものを推論結果として利用します。
これにより、パラメータの不確実性を考慮した予測が可能になります。例えば、新しいデータ \(y\) の予測分布 \(p(y|x)\) を求める場合、事後分布 \(p(\theta|x)\) を用いて、あり得る全ての \(\theta\) についての予測を平均します。
\[ p(y|x) = \int p(y|\theta)p(\theta|x)d\theta \]もし、予測値として単一の値を求めたい場合は、この予測分布 \(p(y|x)\) の期待値などを計算します。
\[ \hat{y} = \mathbb{E}[y|x] = \int y p(y|x)dy \]このように、ベイズ推定は事前分布と尤度関数、そして観測データに基づいて事後分布を導出し、その事後分布全体を用いて推論を行うアプローチです。
ベイズ更新 (Bayesian Updating)
ベイズ更新とは、新しいデータが観測されるたびに、それまでの事後分布を新たな事前分布として利用し、ベイズの定理を繰り返し適用して事後分布を更新していくプロセスです。
例えば、最初のデータ \(x^{(1)}\) を観測した後の事後分布 \(p(\theta|x^{(1)})\) が得られたとします。次に新しいデータ \(x^{(2)}\) が観測された場合、この \(p(\theta|x^{(1)})\) を新たな事前分布として扱い、ベイズの定理を適用することで、 \(x^{(1)}\) と \(x^{(2)}\) の両方を考慮した事後分布 \(p(\theta|x^{(1)}, x^{(2)})\) を得ることができます。
\[ p(\theta|x^{(1)}, x^{(2)}) = \frac{p(x^{(2)}|\theta)p(\theta|x^{(1)})}{p(x^{(2)}|x^{(1)})} \]この逐次的な更新により、データが増えるにつれてパラメータの推定精度が向上し、事後分布の不確実性が減少していきます。
参考
- 手塚 太郎, 『しくみがわかるベイズ統計と機械学習』, 講談社 (2017)