最尤法の捉え方をまとめてみる
機械学習や統計の文脈でよく使われる最尤法ですが、そのとらえ方についてまとめていこうと思います。
1 ベイズ法の定義
まずはベイズ法の定義をみておきます。
以下は渡辺澄夫先生の『データ学習アルゴリズム』を参考にさせていただきました。
(この本は今読んでもなお得るものが多い名著だと思います。)
まず事後分布を以下のように定義します。
パラメータ w が事前密度関数 から発生し、データ がモデル から独立に発生したものと仮定します。
データXnが与えられたときのパラメータの条件つき密度関数は
であり、これを事後密度関数といいます。
この事後分布を使い、ベイズ法は以下のように定義されます。
統計モデルを事後分布で平均したもの
]
2 最尤法の定義
最尤法について渡辺澄夫先生の『データ学習アルゴリズム』では以下のように定義されています。
データ がモデル から得られる確率密度は
です。
そしてこの値をモデルの尤度と定義します。
最尤推定とはこの尤度を最大化するパラメータを選ぶ推測法です。
尤度関数はそのモデルから標本(サンプル)が得られる確率を表していますが、これは「データから見たモデルの好み」を表していると解釈するといいでしょう。
最尤法を実際に使い、代表値を求める方法については以下の記事で書きました。
(注意)統計学の教科書によっては最尤法について「現実の標本は確率最大のものが実現した」という仮定を下にしていると書かれているものがありますが、これは論理の向きが逆であると思われます。正しくは「モデルのパラメータを現実の標本が生じる確率が最大になるよう選ぶ方法」だと思われます。
(補足)PRMLによると尤度関数は機械学習の文脈ではエビデンス関数と呼ばれるそうです。
3 ベイズ法の特別な場合としての最尤法
一般に最尤法はベイズ法の特殊なパターンとみることができます。この点について順番にまとめてみました。
3.1 ベイズの定理とδ関数による定式化
尤度関数の大きさは事後分布においてパラメータの事前分布を一定とみなしたときの関数の大きさと比例します。そして事後分布が最大になるようにパラメータを最大化したのちに予測分布に代入していると考えられます。
この点についてはデルタ関数を使って考えるとわかりやすいです。これについては以下の須山さんの記事が参考になります。
この時最尤推定は
<事前分布は無限に広い一様分布 であり
<事後分布は真のパラメータ周りのデルタ関数であることを仮定しています。
machine-learning.hatenablog.com
3.2 汎化誤差の推定関数としての定式化
赤池弘次先生が指摘されているように、対数尤度関数はn→∞の極限で汎化損失と一致します。しかしその精度は良くないため議論をAICへと進みました。
この点については以下の赤池さん自身の論文が参考になります。
尤度関数に対して対数尤度は
と定義します。この時、大数の法則よりn→において
となります。ここでは真の密度関数です。
3.3 逆温度パラメータによる定式化
逆温度パラメータを事後分布に導入することで 広義のベイズ法を考えることができます。この時、逆温度パラメータをとして事後分布を以下のように定義できます。(渡辺2011)
(Zはを正規化するための定数。ここでは見やすさのためZとおいた。)
そして一般的なベイズ法と同様に予測分布を作り、それを広義のベイズ法における真の密度関数の推定関数とします。そしてをにしたとき、ベイズ法と最尤法は一致するとのことです。(渡辺 2011)
この点については以下の記事が参考になりました。