スキップしてメイン コンテンツに移動

最尤推定

Introduction


今日は最尤推定について加工と思います。これは統計的推定でよく使われる手法です。最尤推定の例も書こうと思います。初めに尤度の説明をし、そのあとで最尤推定の説明をします。

概要


  • 尤度
  • 最尤推定
  • 最尤推定の問題点

尤度

前提条件から得られる観察データを考えます。この時、えられた観測データに対して前提条件が尤もらしい条件であるかの値を尤度といいます。

なにをゆっているのかわからない人がほとんどだと思います。。。
尤度の例を扱っていきます。

コインを投げることを考えます。このコインは確率Pで表、確率1-Pで裏を出すコインだとします。
例えば、100回コインを投げたとき、全て表だったとします。この時このコインが表が出る確率はかなり1に近いことが予想されます。

ではもし、表が出る確率PがP=0.5だとします。この時、表が100回連続で出る確率は$0.5^{100} = 7.88860e-31$になります。あり得ない確率ですね。これがP=0.5としたときのもっともらしさです。つまり、あまり現実的ではないということです。

もしP=0.99とするとき、100回とも表が出る確率は$0.99^{100} = 0.3666....$となります。つまり、P=0.99としたときの尤度は0.36くらいということです。よって、P=0.5よりかは現実見があることになります。まだまだ低い数字ではありますが。


観測データである、100回表が出るという事象を固定したとき、尤度はPを変数としたP(100回表|P)を尤度関数と呼びます。この関数の値を尤度と呼びます。


尤度が高いほうが尤もらしい値、つまり理にかなっているなと感じることができる値ということになります。

例えば、先ほどの例でゆうと、

P=0.5としたときの尤度は7.88860e-31でした。P=0.99としたときの尤度は0.3666でした。よってP=0.5より、P=0.99のほうが尤もらしい自然な値ということになります。


最尤推定

最尤推定とは得られた観測データからデータが依存している分布のパラメーターを推測するための手法です。
最尤推定では尤度を最大化して、最も尤もらしいパラメーターを求めます。

確率密度関数$f$と$X_1,X_2,...,X_n$が$f$に従う確率変数とします。 $$X_1,X_2, ..., X_n \sim f$$

この時、$X_1,X_2,..,X_n$が同時におこる確率は
$$\Pi_{i=1}^{N} P(X_i)$$
いわゆる同時確率です。

よって、尤度関数を次のように定義します。
$$L(\theta) = f(x_1,x_2,...,x_n|\theta)$$

この時、
$$\theta^{\star} \in \arg_{\theta} \max L(\theta)$$
$\theta$最尤推定量といいます。

そして、
$$\frac{\partial}{\partial \theta} \log L(\theta)$$
これを尤度方程式といいます。

なぜ、$\log$がいきなり登場しているのかは後の最尤推定の例で説明します。


最尤推定の例

$x_1,x_2,...,x_n \in {0,1}$について考えます。 $\forall i \in {1,2,..,n}$について、$x_i = 1$とするとき、i回目のコイン投げは表とします。$x_i$とするとき、コインは裏になったとします。

この時、尤度関数は
$$L(\theta) = P(x_1,x_2,...,x_n|\theta) = \Pi_{i=1}^{n} \theta^{x_i} (1-\theta)^{1-x_i}$$

$\forall i \in {1,2,..,n},  \sim p(k;\theta) = \theta^k (1-\theta)^{1-k} ~~~~\textrm{for} k \in {0,1}$

コインはベルヌーイ分布に従うので、このような形になります。
ここで、 $\theta$表が出る確率とします。

$L(\theta)$を$\theta$について最大化したいのですが、微分がかなり難しい形になっています。なぜなら$L(\theta)$について線形でないからです。つまり、$\theta$について掛け算の形になっていることが微分を難しくしています。

この問題を解決するために、$\log$を使います。
$\log$は単調増加関数なので$L(\theta)$と$\log L(\theta)$の局所解は変わりません。

よって、$\log L(\theta)$を最大化します。

\begin{eqnarray*}
\log L(\theta) &=& \log \Pi_{i=1}^{n} \theta^{x_i} (1-\theta)^{1-x_i} \\
&=& \sum_{i=1}^N \log \theta^{x_i} + \log (1-\theta)^{1-x_i} \\
&=& \sum_{i=1}^N  x_i \log \theta + (1-x_i)\log(1-\theta)
\end{eqnarray*}

これの微分は

\begin{eqnarray*}
\frac{\partial}{\partial \theta} \log L(\theta) &=& 0 \\
\frac{\partial}{\partial \theta} \sum_{i=1}^N x_i \log \theta + (1-x_i) \log (1-\theta) &=& 0 \\
\sum_{i=1}^N \frac{x_i}{\theta} - \frac{1-x_i}{1-\theta} &=& 0 \\
\frac{1}{\theta} \sum_{i=1}^N x_i - \frac{1}{1-\theta_i} \sum_{i=1}^N (1-x_i) &=& 0 \\
(1-\theta) \sum_{i=1}^N x_i - \theta \sum_{i=1}^N 1-x_i &=& 0 \\
\sum_{i=1}^N x_i - \theta \sum_{i=1}^N x_i - \theta \sum_{i=1}^N 1 + \theta \sum_{i=1}^N x_i &=& 0 \\
\sum_{i=1}^N x_i - n \theta &=& 0 \\
\theta &=& \frac{\sum_{i=1}^N }{n} \\
\end{eqnarray*}

この最適解は$x_1,x_2,..,x_n$の平均を表していることがわかります。
もし、コインが100回表、裏が0回だった時、最尤推定により、得た$\theta$の値は$\theta=1$
また、コインが50回表、裏が50回であれば、最尤推定により、得られた$\theta$の値は$\theta = 0.5$

最尤推定の問題点

最尤推定には問題点もあります。例えば、先ほどみたとおり、100回表がでて、裏が0解の時、$\theta=1$とするのが尤もらしいという結果が最尤推定から得られました。

ただ、もし3回表がでて、0回裏が出たとき、この時の最尤推定量も$\theta=1$となってします。しかし、3回表が出たからと言って、コインの表が出る確率が1と考えるのはあまりに危険すぎます。


つまり、観測データが少ない場合は最尤推定の結果はあまり信用できません。


Reference

https://ja.wikipedia.org/wiki/%E5%B0%A4%E5%BA%A6%E9%96%A2%E6%95%B0

コメント

  1. 対数尤度をさらに変形していくと確率モデルの分布をデータの出現頻度の分布(経験分布)に近づけるって話にももっていけますよねー。

    返信削除
    返信
    1. コメントありがとうございます!
      すいません。勉強不足で、よろしければご教授していただけないでしょうか?

      削除
  2. このコメントは投稿者によって削除されました。

    返信削除

コメントを投稿

このブログの人気の投稿

Theorem of K-means

Introduction 日本語 ver Today, I will write about the theorem of K-means algorithm. K-means algorithm is a method to do clustering about K of class. The post of implement K-means is Implement kernel K-means This post is written about kernel K-means. The kernel K-means is the method which covers the weak point of K-means. I will explain kernel K-means another post. Overview 1 of K coding scheme prototype vector Distortion measure Computing 1 of K coding scheme K-means algorithm is clustering K of class. Now, K-means algorithm expresses that $x_n$ be belong to k like as follows. Let vector $r_n:1 \times K$ is $$r_n := (0,0,..,1,..,0)$$ this vector have 1 in element of k'th and have 0 in else. This expression is called 1 of K coding scheme. Prototype vector K-means algorithm chooses vector which called a prototype. this vector has represented by the cluster. K-means algorithm is regard mean vector as representative of the cluster. I...

Thorem of SVM part 2

Introduction 日本語 ver This post is written about theorem of SVM. This post is part 2. Part 1 is written about deriving the objective function. I will write about dual problem. The objective function which deriving in Part 1 is called the main problem. Typically, We optimize not the main problem, but the dual problem. I will write about deriving the dual problem from the main problem. If you until look up part 1, please look up Theorem of SVM part 1 . I implement SVM. It post is Implement linear SVM Implement kernel SVM Overview Main problem Dual problem  Lagurange function maximize L about dual variable, minimize L about primal variable minimize L about primal variable, maximize L about dual variable. Main problem I will review the main problem in Part 1. $$\min_{w,b} \frac{1}{2}||W||^2 + C\sum_{i \in N} \epsilon_i$$ $$~~s.t~~ \forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1 - \epsilon_i ,~~~, \forall i \in N~\epsilon \geq 0$$ This problem is called s...

SVMの理論 part 2

Introduction English ver 今日はSVMの定理について書いていきます。 この記事はpart 2になります。Part 1 では目的関数の導出までを書きました。Part 2では双対問題とゆわれるものを導出します。Part 1で導いた目的関数は主問題と呼ばれます。一般的に、SVMでは主問題ではなく、双対問題を解くことで最適解を得ます。 もし、まだPart 1を見ておられない場合は、 Theorem of SVM part 1 を見てくださるとよいのではないかと思います。 SVMの実装編は Implement linear SVM Implement kernel SVM を御覧ください。 概要 主問題 双対問題  ラグランジュ関数 主変数について、最小化、双対変数について最大化 双対変数について最大化、主変数について最小化 主問題 Part 1で導いた主問題の復習をしておきます。 $$\min_{w,b} \frac{1}{2}||W||^2 + C\sum_{i \in N} \epsilon_i$$ $$~~s.t~~ \forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1 - \epsilon_i ,~~~, \forall i \in N~\epsilon \geq 0$$ これはソフトマージンの時の目的関数ですが、以後ソフトマージンの場合のみを扱っていきます。 さて、双対問題と呼ばれるものですが、これは主問題から自然に導かれます。 双対問題 SVMの最適化問題は凸二次最適化問題と呼ばれる種類の問題です。凸二次最低化問題は、必ず大域最適解に近づくことが知れれており、数値上の安全性が高いとされています。 双対問題を導出します。まず、主問題を以下のように書き換えます。 $$\min_{w,b} \frac{1}{2}||W||^2 + C\sum_{i \in N} \epsilon_i$$ $$~~s.t~~ \forall i \in N, -\{y_i (w^T \phi(x_i) + b) -1 + \epsilon_i \}\leq 0,~~~, \forall i \in N~ -\epsilon \...