\( \def\vector#1{\boldsymbol{#1}} \) \( \newcommand{\argmax}{\mathop{\rm argmax}\limits} \) \( \newcommand{\argmin}{\mathop{\rm argmin}\limits} \)

最尤推定とMAP推定

Takami Torao
  • このエントリーをはてなブックマークに追加

最尤推定

ある生起確率 \(\vector{\theta}=(\theta_1, \ldots, \theta_N)\) に基づいてデータ \(\vector{X} = (x_1, x_2, \ldots, x_N)\) が観測されるとき、あるデータ \(\vector{X}\) が観測される確率は \(\vector{p}(\vector{X}|\vector{\theta})\) で表される (条件付き確率)。

逆に、データ \(\vector{x}\) が既に観測されておりその生起確率 \(\vector{\theta}\) が未知の場合の \(\vector{p}(\vector{X}=\vector{x}|\vector{\theta})\) は、任意の生起確率 \(\vector{\theta}\) に対する確かさを表しているといえる。この関数を尤度関数、確率を尤度 (likelihood) と呼ぶ。

ある観測データ \(\vector{X}=\vector{x}\) に対して尤度を最も高くする \(\vector{\theta}^*\) を求める方法を最尤推定法 (maximum likelihood estimation; MLE) と呼ぶ。

対数は単調増加であるため \(p\) に適用してもその最大値となる \(\vector{\theta}^*\) に影響はない。\[ \vector{\theta}^* = \argmax_\theta \vector{p}(\vector{X}|\vector{\theta}) = \argmax_\theta \log \vector{p}(\vector{X}|\vector{\theta}) \]

条件 \(\sum \theta_n = 1\) を利用してラグランジュの未定乗数法を使用すると以下のラグランジュ関数となる。\[ L(\vector{\theta}, \lambda) = \log \vector{p}(\vector{X}|\vector{\theta}) + \lambda \left(\sum_{n=1}^N \theta_n - 1\right) \]

このラグランジュ関数が最大の極値 (偏微分して 0) となる \(\vector{\theta}\) が \(\vector{\theta}^*\) である。\(\vector{p}(\vector{X}|\vector{\theta})\) は扱う確率モデルによって決まるのでいくつか具体例を見てみよう。

MAP推定

\[ P(\vector{\theta}|\vector{X}) = \frac{P(\vector{X}|\vector{\theta}) P(\vector{\theta})}{P(\vector{X})} \]

参照