最尤推定、MAP推定、ベイズ推定の違いについてまとめました。
- 参考文献
- 導入
- 最尤推定(Maximum Likelihood Estimation)
- MAP推定(最大事後確率推定、Maximum a posteriori)
- ベイズ推定(Bayesian Estimation)
参考文献
今回の参考文献は以下の4つです

統計的機械学習―生成モデルに基づくパターン認識 (Tokyo Tech Be‐TEXT)
- 作者:杉山 将
- 発売日: 2009/09/01
- メディア: 単行本

ノンパラメトリックベイズ 点過程と統計的機械学習の数理 (機械学習プロフェッショナルシリーズ)
- 作者:佐藤 一誠
- 発売日: 2016/04/20
- メディア: 単行本(ソフトカバー)

Computer Vision: Models, Learning, and Inference
- 作者:Prince, Simon J. D.
- 発売日: 2012/06/18
- メディア: ハードカバー
導入
という条件付き確率を考えよう。
例えばこれはコインの表か裏が出る確率を表しているとすると、は表を、
は表が出る確率を表すパラメータと考えられる。
この時、我々の目的は観測値
(過去にコインを投げた結果)からパラメータ
の推定量
を求め、次にコインを投げた時に表・裏が出る確率
を知ることである。
最尤推定(Maximum Likelihood Estimation)
ところで我々はどの様にパラメータの推定量
を求めればよいのだろうか。
ありうる方法の1つが、手元にある観測値
が最も生起し易いようにパラメータ
を決める方法である。パラメータがhogeの時に手元にあるデータが一番再現されるので、パラメータはhogeだということだ。これを数式で表してみよう。
パラメータの下で観測値
が生起する確率を
とする。
この時
を
の関数と見做したもの
を尤度(Likelihood)や尤度関数と呼ぶ。
そしてこれを最大にする、
$$
\begin{align}
\hat{\theta}_{ML} = argmax_{\theta} \ L( \theta | \{ x_i \}_{i=1}^n)
\end{align}
$$
を最尤推定量と呼ぶ。
はLikelihoodの
である。(通常、最尤推定量は
の様にセミコロンを用いて書くが、ここでは
と書く。記法の違いについてはこちらを参照。)
観測値
が与えられた時、最も尤もらしい(手元のデータが生起しやすい)パラメータを推定するため、最尤推定法と呼ばれる。
MAP推定(最大事後確率推定、Maximum a posteriori)
先程の最尤推定法では真のパラメータは一つに決まっていた。そうではなくパラメータも確率変数であり分布が存在する、
つまりというものがあると考えよう。この時最尤推定と同じように、手元にある観測値
が最も生起し易いようにパラメータ
を決めることを考える。つまり
を求めたい。
すると求めるものは(
から
に文字が変わったものの)最尤推定とぱっと見は変わらない。しかし
を導入したことにより、
は次のように変形できる。
$$ \begin{align} \hat{\theta}_{MAP} &= argmax_{\theta} \ p( \theta | \{ x_i \}_{i=1}^n) \\ &= argmax_{\theta} \ \frac{p(\{ x_i \}_{i=1}^n) | \theta)p(\theta)}{p(\{ x_i \}_{i=1}^n)} \\ &= argmax_{\theta} \ p(\{ x_i \}_{i=1}^n) | \theta)p(\theta) \end{align} $$
1から2行目の変形はベイズの定理を用いた、2から3行目の式変形は最適化に於いて定数は無視できることを用いてを削除した。この変形を見るとMAP推定は
の事後分布
を最大化する
を求めることに相当する。そのためこの方法により得られる推定量を最大事後確率推定量
と呼ぶ。
スポンサーリンク
ベイズ推定(Bayesian Estimation)
最後にベイズ推定である。
先程、MAP推定では事後確率を最大にするを推定量とした。しかし、折角ベイズの定理により事後分布が得られるのだから、パラメータ
を点推定するのではなく、パラメータの事後分布の情報を全て使おうというのがベイズ推定の考え方である。
MAP推定ではを最大にする
を1つ求めた。一方ベイズ推定では、まず全ての
が取りうる値について
$$ \begin{align} p( \theta | \{ x_i \}_{i=1}^n )&= \frac{p(\{ x_i \}_{i=1}^n | \theta)p(\theta)}{p(\{ x_i \}_{i=1}^n)} \\ &= p(\{ x_i \}_{i=1}^n | \theta)p(\theta) \end{align} $$
を計算し、事後分布を得る(
を点推定するわけではないので
が得られるわけではないことに注意されたし)。
そして予測の段階ではこの分布を用いて、次のように
を求める。
$$ \begin{align} \hat{p}_{Bayes} (x | \{ x_i \}_{i=1}^n) = \int p(x|\theta)p(\theta|\{ x_i \}_{i=1}^n)d\theta \end{align} $$
つまりベイズ推定で得られる確率は、パラメータが取りうる全ての範囲について、パラメータがある値を取る確率
で重みづけた
の和であると言える。