はじめに
本記事は, 機械学習の教科書の決定版ともいえる, Christopher Bishop先生による『Pattern Recognition and Machine Learning (パターン認識と機械学習)』, 通称PRMLの演習問題のうち, 私が解いた問題の解答を記したものです. これは, 私の所属する生物測定学研究室の輪読会でPRMLを取り扱っており, その勉強の一環として演習問題を解いたときのものです. なお, 他の演習問題の解答例に関する記事については, PRML 演習問題 解答集 まとめをご覧ください.
問題
$ \mu $ の事前分布がベータ分布 $(2.13)$ である二項分布 $(2.9)$ に従う確率変数$x$ を考える.
ここで, $x=1$の事象が $m$ 回, $x=0$ が $l$ 回生じたとする.
このとき, $\mu$ の事後平均が, 事前平均と$\mu$ の最尤推定量の間の値になることを示せ.
これには, 事前平均の $\lambda$ 倍と, 最尤推定量の$(1-\lambda)$ 倍の和で, 事後平均が書けること示せばよい.
ただし, $0 \leqq \lambda \leqq 1 $ である.
よって, 事後分布が, 事前分布と最尤推定解との間のものになることが分かる.
方針
問題に従って解いていく。
事前平均, 最尤推定量, 事後平均を求めるため、その準備として事前分布のベータ分布と二項分布について確認しておく。
準備
ベータ分布
ベータ分布$(2.13)$ は
\begin {align*}
Beta ( { \mu | a , b} ) = \frac { \Gamma (a + b)} { \Gamma (a) \Gamma (b) } \mu ^{a-1}(1- \mu)^{b-1}
\tag{2.13}
\end{align*}
である.
係数である
\begin {align*}
\frac {\Gamma (a + b) } { \Gamma (a) \Gamma (b)}
\end{align*}
の逆数は、一般にベータ”関数”と呼ばれ、
\begin {align*}
B(a,b) = \frac { \Gamma (a) \Gamma (b) } { \Gamma (a + b)}
\end{align*}
と定義される。
本解答では、このベータ”関数”を用い、ベータ分布を以下の形で用いる。
\begin {align*}
Beta ( { \mu | a , b} ) = \frac{ \mu ^{a-1}(1- \mu)^{b-1}}{B(a,b)}
\tag{2.13'}
\end{align*}
また、このベータ”関数”の性質として次のようなものがある。
\begin {align*}
B ( { \mu | \alpha +1 , \beta } ) = \frac { \alpha} { \alpha+\beta } B ( { \mu | \alpha , \beta} )
\end{align*}
二項分布
二項分布$(2.9)$ は
\begin {align*}
Bin ( { m | N , \mu} ) = \binom Nm \mu^m(1-\mu)^{N-m}
\tag{2.9}
\end{align*}
ただし,
\begin {align*}
\binom Nm \equiv \frac {N!}{(N-m)!m!}
\tag{2.10}
\end{align*}
である.
証明
事前平均
事前分布であるベータ分布$(2.13)$ の平均は教科書中で
\begin {align*}
\mathbf E ( \mu ) = \frac{a}{a+b}
\tag{2.15}
\end{align*}
で与えられている。
最尤推定量の算出
まず、二項分布の尤度関数は、
\begin {align*}
L ( \mu ) = \binom{m+l}m \mu^m(1-\mu)^l
\end{align*}
で与えられ、
この時の対数尤度関数の最大にする$\mu$を求める。
\begin {align*}
\log L ( \mu ) &= \log\{\binom{m+l}m \mu^m(1-\mu)^l)\}
\\&= m\log \mu + l\log (1- \mu) + \log\binom{m+l}m
\end{align*}
$\mu$について微分して、
\begin {align*}
\frac{d}{d\mu}\log L ( \mu ) &= \frac{x}{\mu} - \frac{l}{1-\mu}
\end{align*}
よって、$\log L ( \mu )$ の最尤推定解を計算すると
\begin{eqnarray}
\frac{m}{\mu} - \frac{l}{1-\mu} &=& 0 \\
\frac{m-(m+l)\mu}{\mu(1-\mu)}&=& 0 \\
(m + l) \mu&=& m\\
\mu &=& \frac{m}{m + l} \\
\end{eqnarray}
となり、$\mu$の最尤推定量は
\begin {align*}
\mu = \frac{m}{m + l} \\
\end{align*}
である。
事後平均
まず、事後分布は
\begin {align*}
p(\mu | m,l,a,b) = \frac{\mu ^{m + a-1}(1- \mu)^{l + b-1}}{B(m+a, l+b)}
\tag{2.18}
\end{align*}
であり、この分布のとる期待値(平均)は
\begin {align*}
\mathbf E ( \mu ) &= \int^1_0 \mu f(\mu) d\mu
\\&= \int^1_0 \mu \{\frac{\mu ^{m + a-1}(1- \mu)^{l + b-1}} {B(m+a, l+b)}\}d\mu
\\&= \int^1_0 \frac{\mu ^{m + a}(1- \mu)^{l + b-1}} {B(m+a, l+b)}d\mu
\end{align*}
ここで, $a = a'-1$ と変換する。
\begin {align*}
\mathbf E ( \mu ) &= \int^1_0 \frac{\mu ^{m + a'-1}(1- \mu)^{l + b-1}} {B(m+a'-1, l+b)}d\mu
\end{align*}
前述したベータ関数の性質を用い変換すると
ベータ関数の性質
\begin {align*}
B ( { \mu | \alpha +1 , \beta} ) &= \frac { \alpha } { \alpha+\beta } B ( { \mu | \alpha , \beta} ) \\
B ( { \mu | \alpha , \beta} ) &= \frac {\alpha+\beta } { \alpha} B ( { \mu | \alpha +1 , \beta} ) \\
B ( { \mu | \alpha’-1 , \beta} ) &= \frac {\alpha’-1+\beta } { \alpha’-1} B ( { \mu | \alpha’ , \beta} )
\end{align*}
\begin {align*}
\mathbf E ( \mu ) &= \frac{m + a'-1}{m + a' + l + b-1}\int^1_0 \frac{\mu ^{m + a'-1}(1- \mu)^{l + b-1}} {B(m+a', l+b)}d\mu
\end{align*}
ここで
\begin {align*}
\frac{\mu ^{m + a'-1}(1- \mu)^{l + b-1}} {B(m+a', l+b)}
\end{align*}
はパラメータがm+a', l + b のガンマ分布であるため、
\begin {align*}
\int^1_0 \frac{\mu ^{m + a'-1}(1- \mu)^{l + b-1}} {B(m+a', l+b)} d \mu = 1
\end{align*}
そして、 $a' = a + 1$ で戻すと、
\begin {align*}
\mathbf E ( \mu ) &= \frac{m + a'-1}{m + a' + l + b-1}\int^1_0 \frac{\mu ^{m + a'-1}(1- \mu)^{l + b-1}} {B(m+a', l+b)}d\mu
\\& = \frac{m + (a+1) -1}{m + (a+1) + l + b-1}*1
\\& = \frac{m+a}{m+a+l+b}
\end{align*}
となる。
従って
$\mu$ の事後平均, 事前平均,$\mu$ の最尤推定量がもとまったので、問題文に従って求める。
事前平均の $\lambda$ 倍と, 最尤推定量の$(1-\lambda)$ 倍の和は、事後平均が書けるので,
\begin{eqnarray}
\lambda \frac{a}{a+b} + (1-\lambda)\frac{m}{m+l} & = &\frac{m+a}{m+a+l+b} \\
\frac{\lambda(la-mb)+m(a+b)}{(a+b)(m+l)}&=& \frac{m+a}{m+a+l+b} \\
(m+a+l+b)\{ \lambda(la-mb)+m(a+b)\} &=& (m+a)(a+b)(m+l) \\
\lambda &=& \frac{(m+a)(a+b)(m+l)-m(m+a+l+b)(a+b)}{(m+a+l+b)(la-mb)}
\end{eqnarray}
分子を展開してまとめる。
\begin{eqnarray}
\lambda &=& \frac{(a+b) \{(m^2 + ml + ma + lb)-(m^2 +ma + ml+ mb)\}}{(m+a+l+b)(la-mb)} \\
&=& \frac{(a + b)(la - mb)}{(m+a+l+b)(la-mb)} \\
&=& \frac{a+b}{m+a+l+b}
\end{eqnarray}
$a,b,m,l > 0$ より、$0 \leqq \lambda \leqq 1$
よって, 事後分布が, 事前分布と最尤推定解との間であることが示された。
参考文献
-
https://ai-trend.jp/basic-study/beta-distribution/b-parameter-derivation-2/
-
https://shoichimidorikawa.github.io/Lec/ProbDistr/gammaDist.pdf
更新歴
- 2024.12.30 : 本記事の体裁を整えました.
- 2021.12.14 : 本記事を投稿しました.