Re:ゼロから始めるML生活

Standing on the shoulders of Giants

尤度についてのメモ

最近こちらの本を読んでいて、尤度という言葉が出てきました。

トピックモデル (機械学習プロフェッショナルシリーズ)

トピックモデル (機械学習プロフェッショナルシリーズ)

  • 作者:岩田 具治
  • 出版社/メーカー: 講談社
  • 発売日: 2015/04/08
  • メディア: 単行本(ソフトカバー)

※トピックモデルに関しては、それだけでちゃんと記事書きます。

恥ずかしながら機械学習を専門で勉強してきたわけではなく、この単語の意味するところがあまり理解できなかったので、今回はそのメモです。

定義

まずは定義です。

確率密度関数において確率変数に観測値を代入したものをいう。つまり,確率密度を観測値で評価した値である。また,これを未知母数の関数とみるとき,とくに尤度関数という。尤度関数の自然対数は対数尤度と呼ぶ。観測値とその確率分布が与えられたとき,尤度あるいは対数尤度を最大にする母数の値は,母数の一つの自然な推定量を与える。これは最尤推定量と呼ばれ,標本サイズが大きくなると母数の真値に漸近的に一致するとか,漸近的に正規分布に従うなど,いろいろ好ましい漸近的性質をもつ。 コトバンク

なるほどですね。。。さっぱりわからん。

お題を探す

定義からだとなんともつかみにくかったので、こちらの記事を参考にさせていただいて考えていきます。

norimune.net

確率は,あるパラメータの分布から特定のデータがどれほど得られやすいかを表したものでした。一方,尤度とは,あるデータを得たときに,分布のパラメータが特定の値であることがどれほどありえそうか(尤もらしいか)を表したものです。確率はパラメータを固定してデータが変化しますが,尤度はデータを固定してパラメータが変化するのです。 例えば,10回やって3回成功したというデータがあったとしましょう。その場合,そのようなデータが得られたときに二項分布の成功率が0.4であるのがどれほどありえそうか(尤もらしいか)を考えます。いうなれば,10回中3回成功したことがわかっているときの,成功率が0.4である条件付き確率を考えるのです。 https://norimune.net/2510

ちょっとずつ分かってきました。

具体的に考えてみる

上記の例えを考えます。 コインを10回投げることを考えます。

こんな感じの結果になっていたとします。

☓☓○☓☓○☓☓○☓

コインを投げるので、分布は二項分布になると予想されますが、このコインが表が出る確率は本当に0.5(50%)でしょうか? もうちょっというと、表が出る確率が0.5のコインだけどたまたま5回じゃなかったのか、そもそも表が出る確率が0.5じゃないのか、ということを考えます。

そこで尤度が出てきます。得られたデータと予想した確率分布の間の妥当性を考えます。

例えば、コインを10回投げる試行を100回実施した結果、表の数がこんな感じだったとします。

f:id:nogawanogawa:20200112120910p:plain

するとなんか50%のコインではなさそうですね。

ということで、横軸に発生確率、縦軸に尤度をとってプロットしてみます。

f:id:nogawanogawa:20200112121453p:plain

そうすると、実は得られた試行結果をもとに考えると、コインの表の出る確率で尤もらしいのは0.363であると考えられます。 こんな感じに、得られた試行結果をもとに考えて、モデリングした関数のパラメータの最も妥当な値を定めることを最尤推定と言うみたいですね。

おまけ:使ったコード

使ったのはこんな感じのRのコードです。

そして、コインの確率は0.35に設定して、ランダムにサンプルを抽出して尤度を求めてみてます。

感想

いつもは本とかを参考に勉強しているので、広い範囲を取り扱いますが、今回はめっちゃピンポイントで勉強してみました。 たまにはこういう勉強もいいなと思いました。(小並感)