尤度関数、最尤推定について
津路です。
しばらく、ディープラーニングをするための基礎について、勉強しています。
今回は、尤度関数という式と、尤度関数を使って推定する最尤推定というアルゴリズムを取り上げます。
赤石雅典先生の書籍によると、
「モデルの特徴を表す変数を式に含んでいる確率の式」
です。
尤度という単語のもとはというと、尤もらしさの度合い(likelihood)、を意味しているようです。
自分の解釈によると、ある条件をつけた事象が起こる確率を変数で表現し、それをいくつかのサンプルデータから、式を導いてみると、確率の積で表現できる場合、
尤度関数を呼ぶ。
赤石先生によると、この尤度関数を「パラメータで微分して、ちょうど微分値がゼロになるときのパラメータの値を求め、この値を『最も確からしいパラメータの値』として推定するアルゴリズム」のことを、最尤推定と呼ぶそうです。
大学で、統計学の講座において、調査対象のすべてを総当たりせず、限られた範囲のサンプルデータから、もっともらしい確率を推定することが多いですよね。
この目的のため、最尤推定のアルゴリズムを使うと、求めやすいということなんでしょう。
さて、推定をするには、まず、目的の事象を起こす条件と、事象を起こしたサンプルデータが必要です。
そして、これを表現する関数の式ですね。
簡単な例を挙げると、スーパーで福引があって、5回くじを引いたところ、1回目と3回目が当たりで、残り3回ははずれ。
このとき、尤もらしい確率の中から、最も(maximum)尤もらしい値を求めます。
確率変数 Xiの値を、あたり:1, はずれ:0と定義。iはインデックス、Pは、あたり・はずれの確率
i | Xi | P(X = Xi) |
1 | 1 | p |
2 | 0 | 1-p |
3 | 1 | p |
4 | 0 | 1-p |
5 | 0 | 1-p |
さて、ここで、今回の一連の事象の確率、これを式で表すと、
p * (1-p) * p * (1-p) * (1-p)
= p2 * (1-p)3
上記が尤度関数となります。
ここから最尤推定をするには、対数を取ります。
$$ log(p^2(1-p)^3) = 2logp + 3log(1-p) $$
上記を p で微分して=0となる式を作ります。
$$ \frac{2}{p} + \frac{3*(-1)}{1-p}= 0 $$
上記を、分母をそろえて、分解・整理します。
$$ \frac{2(1-p) + (-3p)}{p(1-p)} = 0 $$
$$ \frac{-5p+2}{p(1-p)} = 0 $$
$$ 5p = 2 $$
$$ p = \frac{2}{5} $$
以上から、推定結果は、0.4という、極めて納得の結果が得られました。