ざっくりML

機械学習に興味ある大学院生によるブログです.

ベータ分布

ベルヌーイ分布と二項分布のパラメータ\mu最尤推定で求めた結果は\mu_{ML} = \frac{m}{N}で、データ集合中でx = 1となる観測値の割合になる. しかし、例えば3回の試行中3回とも表が出た場合に\mu_{ML} = 1となってしまい今後もずっと表が出るように予測することになる.これは過学習してしまっている. そこで、この問題をベイズ主義的に扱うことを考える. ベイズの定理は、

{\displaystyle p(x|y) = \frac{p(y|x)p(x)}{p(y)}}

であり、p(x)を事前分布、p(x|y)を事後分布と呼んだ. したがって、ベイズ主義的立場でパラメータを推定するときには、パラメータの事前分布p(\mu)を考え、事後分布p(\mu|x)を最大にしたり(MAP推定)利用したりすることをする. 今回はベルヌーイ分布や二項分布のパラメータの事前分布についてまとめる. まず尤度は\mu^{x}(1-\mu)^{1-x}の形をしている. したがって、事前分布に \mu 1-\muのべき乗に比例するように選べば、事後分布は事前分布と同じ形になる. なぜなら事後分布は尤度と事前分布に比例するからである. この性質は共役性と呼ばれている. なので、事前分布には事後分布と共役なものを選ぶと良い. このことから、ベルヌーイ分布や二項分布のパラメータの事前分布には次のベータ分布を選ぶ.

{\displaystyle Beta(\mu|a,b) = \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}}

ただし、\Gamma(x)はガンマ関数と呼ばれ、\Gamma(x) \equiv \int_{0}^{\infty}u^{x-1}e^{-u}duで定義されている. aとbはパラメータの分布p(\mu)を決めるためのパラメータで超パラメータ(hyperparameter)と呼ばれる. ここで、ベータ分布を私が実装したコードを以下に示す.

gist163dce714aebb6093bc8e65586caf82b

また、超パラメータを色々な値に設定した時のベータ分布の図をいかに載せる. f:id:linearml:20170822212717p:plain

\muに依存する部分だけを取り出すと事後分布は、 p(\mu|m,l,a,b) \propto \mu^{m+a-1}(1-\mu)^{l+b-1}になるのは容易に確かめられる. ただし、l = N -mには注意. この式は事前分布の共役性によって事前分布と同じ形になっていることがわかる.