最尤推定、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} $$
つまりベイズ推定で得られる確率は、パラメータが取りうる全ての範囲について、パラメータがある値を取る確率で重みづけたの和であると言える。