最大事後確率
最大事後確率(さいだいじごかくりつ、英: Maximum a posteriori, MAP)推定は、統計学において、実測データに基づいて未知の量の点推定を行う手法である。ロナルド・フィッシャーの最尤推定 (MLE) に密接に関連するが、推定したい量の事前分布を利用して最適化問題を解き確率が最大の結果を得る。したがってMAP推定は、最尤推定に正則化をつけた物と見ることもできる。
概要
[math]x[/math] の観測に基づいて、未知の母集団パラメータ [math]\theta[/math] を推定したいとする。[math]x[/math] の標本分布を [math]f[/math] とすると、母集団パラメータを [math]\theta[/math] としたときの [math]x[/math] の確率は [math]f(x|\theta)[/math] となる。すると
- [math]\theta \mapsto f(x | \theta) \![/math]
という関数は尤度関数であり、
- [math]\hat{\theta}_{\mathrm{ML}}(x) = \arg \max_{\theta} f(x | \theta) \![/math]
は [math]\theta[/math] の最尤推定である。
ここで、[math]\theta[/math] の事前分布を [math]g[/math] とする。すると、[math]\theta[/math] をベイズ推定における確率変数として扱える。[math]\theta[/math] の事後確率は次のようになる。
- [math]\theta \mapsto \frac{f(x | \theta) \, g(\theta)}{\displaystyle\int_{\Theta} f(x | \theta') \, g(\theta') \, d\theta'} \![/math]
ここで [math]g[/math] は [math]\theta[/math] の密度関数、[math]\Theta[/math] は [math]g[/math] の定義域である。これはベイズの定理の直接的な応用である。
最大事後確率推定の手法では、次に [math]\theta[/math] をこの確率変数の事後分布の最頻値として推定する。
- [math]\hat{\theta}_{\mathrm{MAP}}(x) = \arg\max_{\theta} \frac{f(x | \theta) \, g(\theta)} {\displaystyle\int_{\Theta} f(x | \theta') \, g(\theta') \, d\theta'} = \arg\max_{\theta} f(x | \theta) \, g(\theta) \![/math]
事後分布の分母は [math]\theta[/math] に依存していないので、最適化には何の役割も果たさない。[math]\theta[/math] のMAP推定で事前分布 [math]g[/math] が一様分布の場合の結果は、最尤推定に一致する。MAP推定は、一様損失関数におけるベイズ推定関数である。
MAP推定の計算方法はいくつか存在する。
- 閉形式で事前分布の最頻値が与えられるとき、解析的に解ける。この場合、共役事前分布を使う。
- 数値的最適値を得るには、勾配法(共役勾配法やニュートン法など)がある。これには1次または2次の導関数が必要とされ、それを解析的または数値的に計算する必要がある。
- 期待値最大化法を変形して用いる。この場合、事後密度の導関数は不要である。
正規分布での例
ある並び [math](x_1, \dots, x_n)[/math] の独立な確率変数 [math]N(\mu,\sigma_v^2 )[/math] があり、[math]\mu[/math] の事前分布は [math]N(0,\sigma_m^2 )[/math] で与えられるとする。ここで [math]\mu[/math] のMAP推定値を求める。
最大化すべき関数は次のようになる。
- [math]\pi(\mu) L(\mu) = \frac{1}{\sqrt{2 \pi} \sigma_m} \exp\left(-\frac{1}{2} \left(\frac{\mu}{\sigma_m}\right)^2\right) \prod_{j=1}^n \frac{1}{\sqrt{2 \pi} \sigma_v} \exp\left(-\frac{1}{2} \left(\frac{x_j - \mu}{\sigma_v}\right)^2\right)[/math]
これの対数を取る。
- [math]\begin{align}\log \pi(\mu) L(\mu) &= - \log \sqrt{2 \pi} \sigma_m - \frac{1}{2} \left(\frac{\mu}{\sigma_m}\right)^2 - \log \sqrt{2 \pi} \sigma_v - \frac{1}{2} \sum_{j=1}^n \left(\frac{x_j - \mu}{\sigma_v}\right)^2 \\ &= - \frac{1}{2} \left \{ \left(\frac{\mu}{\sigma_m}\right)^2 + \sum_{j=1}^n \left(\frac{x_j - \mu}{\sigma_v}\right)^2 \right \} - \log 2 \pi \sigma_m \sigma_v\end{align}[/math]
これは、[math]\mu[/math] を動かし次の式を最小化することと等価である。
- [math] \sum_{j=1}^n \left(\frac{x_j - \mu}{\sigma_v}\right)^2 + \left(\frac{\mu}{\sigma_m}\right)^2[/math]
従って [math]\mu[/math] のMAP推定値は以下のようになる。
- [math]\hat{\mu}_\text{MAP} = \frac{\sigma_m^2}{n \sigma_m^2 + \sigma_v^2 } \sum_{j=1}^n x_j[/math]
[math]\sigma_m \to \infty[/math] の場合を無情報事前分布(英: non-informative prior)と呼び、この例では [math]\hat{\mu}_\text{MAP} \to \hat{\mu}_\text{MLE} = \frac{1}{n} \sum_{j=1}^n x_j[/math] である。
[math]\sigma_m \lt \infty[/math] の場合は、[math]\mu[/math] の事前分布の付与はL2正則化と同じ式になる。
参考文献
- M. DeGroot, Optimal Statistical Decisions, McGraw-Hill, (1970).
- Harold W. Sorenson, (1980) "Parameter Estimation: Principles and Problems", Marcel Dekker.