カテゴリ分布のベイズ推論をしたい!
を与えられた自然数とし, 母数 ,
, ()となるカテゴリ分布を考えます.
すなわちどれか 成分ののみが , それ以外が となるような 次元値の確率変数 に対するカテゴリ分布
\begin{equation}
\mathrm{Cat}(S|\pi) = \prod_{k=1}^K \pi_k^{S_k}
\end{equation}
を考えましょう.
本記事では, これが指数型分布族に属することを手がかりに, 共役事前分布としてディリクレ分布が得られることを示し, ついでにディリクレ分布の規格化定数を求める計算を行います.
指数型分布族の定義と, 観測モデルから決定される共役事前分布については次の記事の記法を用います:
wakabame.hatenablog.com
ディリクレ分布については, 以下の記事群が参考になります:
ディリクレ分布 - Wikipedia
ディリクレ分布の意味と正規化,平均などの計算 | 高校数学の美しい物語
規格化定数の導出については正田 備也氏の
http://www.cis.nagasaki-u.ac.jp/~masada/DirDistNorm.pdf
を参考に行いました.
このときベイズ推論の対象となる観測モデルは,
\begin{align*}
p(s|\pi)
&= \prod_{k=1}^K \pi_k^{s_k}\\
&= \exp\left\{\sum_{k=1}^K s_k\ln \pi_k\right\}
\end{align*}
です.
このとき,
\begin{align*}
f(s)&=1,\\
\phi_k(\pi) &= \pi_k,\\
g_k(s)&= s_k
\end{align*}
for により指数型分布族になっていることに注意します.
指数型分布であるという性質により, ハイパーパラメータを と定めたとき, 事前分布は
\begin{align*}
p(\pi|v)
&= z(v)\exp\left\{\sum_{k=1}^K v_k\ln \pi_k\right\}\\
&= z(v)\prod_{k=1}^K \pi_k^{v_k},\\
z(v)^{-1}
&= \int_{\pi \ge 0 ,\pi_k \ge 0}\prod_{k=1}^K \pi_k^{v_k}\,d\pi
\end{align*}
なるディリクレ分布となります(参考). ただし は が第一象限に存在することを表します.
すなわち, , for なる範囲に積分領域を制限されていることを表します.
規格化定数 がwell-definedになるために仮定 , が必要十分であることから, 新たにパラメータ を導入して,
\begin{align*}
p(\pi|\alpha)
&= z(\alpha)\exp\left\{\sum_{k=1}^K (\alpha_k -1)\ln \pi_k\right\}\\
&= z(\alpha)\prod_{k=1}^K \pi_k^{\alpha_k -1},\\
z(\alpha)^{-1}
&= \int_{\pi \ge 0 ,\pi_k \ge 0}\prod_{k=1}^K \pi_k^{\alpha_k -1}\,d\pi
\end{align*}
と取り直します. なんとなくポアソン分布っぽいですね.
を発見的に求めるのは思ったより大変でした….
ディリクレ分布の規格化定数
のときは, ベータ関数の定義からただちに従います. すなわち,
\begin{align*}
z(v)^{-1}
&=\int_{\pi_1,\pi_2 \ge0 ,\pi_1+\pi_2=1}\pi_1^{\alpha_1-1}\pi_2^{\alpha_2-1}\,d\pi_1d\pi_2\\
&=\int_0^1 \pi_1^{\alpha_1-1}(1-\pi_1)^{\alpha_2-1}\,d\pi_1\\
&= B(\alpha_1,\alpha_2)\\
&=\dfrac{\Gamma(\alpha_1)\Gamma(\alpha_2)}{\Gamma(\alpha_1+\alpha_2)}.
\end{align*}
今度は の場合を考えましょう.
\begin{align*}
z(v)^{-1}
&=\int_{\pi_1,\pi_2,\pi_3 \ge0 ,\pi_1+\pi_2+\pi_3=1}\pi_1^{\alpha_1-1}\pi_2^{\alpha_2-1}\pi_3^{\alpha_3-1}\,d\pi_1d\pi_2\pi_3\\
&=\int_0^1 \int_0^{1-\pi_1}\pi_1^{\alpha_1-1}\pi_2^{\alpha_2-1}(1-\pi_1-\pi_2)^{\alpha_3-1}\,d\pi_1d\pi_2.
\end{align*}
ここで, なる変数変換を行います. すると,
\begin{align*}
&\int_0^1 \int_0^{1-\pi_1}\pi_1^{\alpha_1-1}\pi_2^{\alpha_2-1}(1-\pi_1-\pi_2)^{\alpha_3-1}\,d\pi_1d\pi_2\\
&= \int_0^1\int_0^1 \pi_1^{\alpha_1-1}(1-\pi_1)^{\alpha_2-1}h^{\alpha_2-1}
(1-\pi_1-(1-\pi_1)h)^{\alpha_3-1}\,d\pi_1 (1-\pi_1)\,dh\\
&= \int_0^1\int_0^1 \pi_1^{\alpha_1-1}(1-\pi_1)^{\alpha_2+\alpha_3-1}
h^{\alpha_2-1}(1-h)^{\alpha_3-1}\,d\pi_1dh\\
&= B(\alpha_1,\alpha_2+\alpha_3)B(\alpha_2,\alpha_3)\\
&= \dfrac{\Gamma(\alpha_1)\Gamma(\alpha_2+\alpha_3)}{\Gamma(\alpha_1+\alpha_2+\alpha_3)}\times
\dfrac{\Gamma(\alpha_2)\Gamma(\alpha_3)}{\Gamma(\alpha_2+\alpha_3)}\\
&= \dfrac{\Gamma(\alpha_1)\Gamma(\alpha_2)\Gamma(\alpha_3)}{\Gamma(\alpha_1+\alpha_2+\alpha_3)}.
\end{align*}
これより魔力を用いて, のときも,
\begin{equation}
\int_{\pi\ge 0, \sum \pi_k =1}\prod_{k=1}^K{\pi}_k^{\alpha_k -1}
= \dfrac{\prod_k \Gamma(\alpha_k)}{\Gamma\left(\sum_k \alpha\right)}
\end{equation}
である見当がつきました. これを帰納法により証明していきます.
(証明始まり)
に対して,
\begin{equation}
\int_{\pi\ge 0, \sum \pi_k =1}\prod_{k=1}^K\pi_k^{\alpha_k -1}
= \dfrac{\prod_k \Gamma(\alpha_k)}{\Gamma\left(\sum_k \alpha\right)}
\end{equation}
が成り立つことを仮定します(この仮定は, のときには正しいことは既に確認しましたね). このとき,
\begin{equation}
\int_{\tilde{\pi}\ge 0, \sum\tilde{\pi}_k =1}\prod_{k=1}^{K+1}\tilde{\pi}_k^{\alpha_k -1}
= \dfrac{\prod_k \Gamma(\alpha_k)}{\Gamma\left(\sum_k \alpha\right)}
\end{equation}
を示せばよいことがわかります. ただし右辺において は から を走ることに注意します.
さきほどと同じく なる変数変換を施せば,
\begin{align*}
&\int_{\tilde{\pi}\ge 0, \sum_{k=1}^{K +1}\tilde{\pi}_k =1}\prod_{k=1}^{K +1}\tilde{\pi}_k^{\alpha_K -1}\\
&= \int_{\tilde{\pi}\ge 0, \sum_{k=1}^{K}\tilde{\pi}_k \le 1}\prod_{k=1}^{K}\tilde{\pi}_k^{\alpha_K -1}\left(1-\sum_{k=1}^K\pi_k\right)^{\alpha_{K+1}-1}\,d\tilde{\pi}\\
&= \int_{\tilde{\pi}\ge 0, \sum \pi_k \le 1} \int_0^1 \prod_{k=1}^{K -1}\pi_k^{\alpha_K -1}
\left\{\left(1-\sum_{k=1}^{K -1}\pi_k\right)h\right\}^{\alpha_K -1}\\
&\qquad\times\left\{\left(1-\sum_{k=1}^{K -1}\pi_k\right)(1-h)\right\}^{\alpha_{K+1}-1}\,d\pi \left(1-\sum_k \pi_k\right)\,dh\\
&=\int_{\tilde{\pi}\ge 0, \sum \pi_k \le 1}\prod_{k=1}^{K -1}\pi_k^{\alpha_K -1}
\left(1-\sum_k \pi_k\right)^{\alpha_K -1+\alpha_{K+1}-1+1}\,d\pi\\
&\qquad \times\int_0^1 h^{\alpha_K -1}(1-h)^{\alpha_{K+1}-1}\,dh\\
&=\dfrac{\prod_{k=1,\cdots,K -1}\Gamma(\alpha_k)\Gamma(\alpha_K+\alpha_{K+1})}{\Gamma\left(\sum_{k=1,\cdots,K+1}\alpha_k\right)}
\dfrac{\Gamma(\alpha_K)\Gamma(\alpha_{K+1})}{\Gamma(\alpha_K+\alpha_{K+1})}\\
&=\dfrac{\prod_{k=1,\cdots,K+1}\Gamma(\alpha_k)}{\Gamma\left(\sum_{k=1,\cdots,K+1}\alpha_k\right)}
\end{align*}
(証明終わり)
となり, 規格化定数が得られました.