この記事では統計学・機械学習の教科書である、C. M. Bishop 著「パターン認識と機械学習」(略称:PRML)の演習問題を私が解いた結果を載せています。この本は私が所属する研究室の輪読会で現在扱われていて、勉強の一環として演習問題を解いています。
問題
ガンマ関数の性質 $\Gamma (x + 1) = x \Gamma (x)$ を用いて、$(2.38)$ のディリクレ分布の平均、分散、および共分散の結果を導出せよ。
\begin{align}
\mathbb{E}[\mu_j]
&= \frac {\alpha_j} {\alpha_0}
\tag{2.273} \
{\rm var}[\mu_j]
&= \frac {\alpha_j (\alpha_0 - \alpha_j)} {\alpha_0^2 (\alpha_0 + 1)}
\tag{2.274} \
{\rm cov}[\mu_j, \mu_l]
&= - \frac {\alpha_j \alpha_l} {\alpha_0^2 (\alpha_0 + 1)}
\qquad \qquad j \neq l
\tag{2.273}
\end{align}
> ただし、$\alpha_0$ は $(2.39)$ で定義されている。
# ディリクレ分布とは
ディリクレ分布
```math
\begin{align}
{\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha}) & =
\frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\prod_{k=1}^K \mu_k^{\alpha_k - 1}
\tag{2.38} \\
\alpha_0 & = \sum_{k=1}^K \alpha_k
\tag{2.39}
\end{align}
は、多項分布
\begin{align}
{\rm Mult}(m_1, m_2, ..., m_K | \mu, N)
& = \frac {N!} {m_1! m_2! \cdots m_K!}
\prod_{k=1}^K \mu_k^{m_k} \tag{2.34, 2.35} \\
N & = \sum_{k=1}^K m_k
\end{align}
の共役分布として導入された。見比べると、自然数だった多項分布の $m_k$ が、正の実数の値を取れるように拡張したものともいえる。ガンマ関数 $\Gamma(x)$ は、階乗 $x!$ を実数に拡張したものだ。
ベクトルの期待値について
ディリクレ分布の対象となる変数 $\boldsymbol \mu$ はベクトルなので、本来は期待値 $\mathbb{E}[\boldsymbol \mu]$ もベクトルになり、
\begin{align}
\mathbb{E}[\boldsymbol \mu]
& = \int \boldsymbol{\mu} {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu} \\
& = \left(
\int \mu_1 {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu}, ... ,
\int \mu_K {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu}
\right) ^ {\rm T}
\tag{ex0.1}
\end{align}
と書ける。ここではこの $j$ 番目の成分を $\mathbb{E}[\mu_j]$ と呼んでいる。なお、ベクトルによる積分は以下のように書き下せる。
\int \mu_j {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu}
= \int \cdots \int \mu_j {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \mu_1 \cdots d \mu_K
\tag{ex0.2}
解答
期待値
\mathbb{E}[\mu_j] = \frac {\alpha_j} {\alpha_0} \tag{2.273}
***証明***
```math
\begin{align}
\mathbb{E}[\mu_j]
& = \int \mu_j {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\int \mu_j \prod_{k=1}^K \mu_k^{\alpha_k - 1}
d \boldsymbol{\mu}
\tag{ex1.1}
\end{align}
ここで、次のようなベクトル $\boldsymbol{\beta} = (\beta_1, ..., \beta_K) ^ {\rm T}$ を定義する。
\beta_k = \left\{
\begin{array}{ll}
\alpha_k & (k \neq j) \\
\alpha_k + 1 & (k = j)
\end{array}
\right. \tag{ex1.2}
また、このように $\beta_0$ を定義する。
\beta_0 = \sum_{k=1}^K \beta_k = \alpha_0 + 1 \tag{ex1.3}
すると、式 $\rm (ex1.1)$ は以下のように表される。
\begin{align}
\mathbb{E}[\mu_j]
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\int \prod_{k=1}^K \mu_k^{\beta_k - 1}
d \boldsymbol{\mu} \tag{ex1.4}
\end{align}
式 $\rm (ex1.3)$ 右辺の積分部分はディリクレ分布の正規化定数の逆数に一致する。よって
\begin{align}
\mathbb{E}[\mu_j]
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\frac {\Gamma(\beta_1) \cdots \Gamma(\beta_K)} {\Gamma(\beta_0)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j)}
\frac {\Gamma(\alpha_j + 1)} {\Gamma(\alpha_0 + 1)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j)}
\frac {\alpha_j \Gamma(\alpha_j)} {\alpha_0 \Gamma(\alpha_0)} \\
& = \frac {\alpha_j} {\alpha_0} \tag{ex1.5}
\end{align}
が示された。(証明終)
分散
{\rm var}[\mu_j]
= \frac {\alpha_j (\alpha_0 - \alpha_j)} {\alpha_0^2 (\alpha_0 + 1)}
\tag{2.274}
***証明***
```math
{\rm var}[\mu_j] = \mathbb{E}[\mu_j^2] - \mathbb{E}[\mu_j] ^ 2 \tag{ex2.1}
$\mathbb{E}[\mu_j]$ は式 $(2.273)$ で既に得られているので、$\mathbb{E}[\mu_j^2]$ を計算すればよい。
\begin{align}
\mathbb{E}[\mu_j^2]
& = \int \mu_j^2 {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\int \mu_j^2 \prod_{k=1}^K \mu_k^{\alpha_k - 1}
d \boldsymbol{\mu}
\tag{ex2.2}
\end{align}
ここで、次のようなベクトル $\boldsymbol{\gamma} = (\gamma_1, ..., \gamma_K) ^ {\rm T}$ を定義する。
\gamma_k = \left\{
\begin{array}{ll}
\alpha_k & (k \neq j) \\
\alpha_k + 2 & (k = j)
\end{array}
\right. \tag{ex2.3}
また、このように $\gamma_0$ を定義する。
\gamma_0 = \sum_{k=1}^K \gamma_k = \alpha_0 + 2 \tag{ex2.4}
すると、期待値の導出と同様の考え方ができる。
\begin{align}
\mathbb{E}[\mu_j^2]
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\frac {\Gamma(\gamma_1) \cdots \Gamma(\gamma_K)} {\Gamma(\gamma_0)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j)}
\frac {\Gamma(\alpha_j + 2)} {\Gamma(\alpha_0 + 2)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j)}
\frac {\alpha_j (\alpha_j + 1) \Gamma(\alpha_j)}
{\alpha_0 (\alpha_0 + 1) \Gamma(\alpha_0)} \\
& = \frac {\alpha_j (\alpha_0 - \alpha_j)} {\alpha_0 (\alpha_0 + 1)}
\tag{ex2.5}
\end{align}
式 $\rm (ex2.1), (2.273), (ex2.5)$ より、
\begin{align}
{\rm var}[\mu_j]
& = \mathbb{E}[\mu_j^2] - \mathbb{E}[\mu_j] ^ 2 \\
& = \frac {\alpha_j (\alpha_j + 1)}
{\alpha_0 (\alpha_0 + 1)}
- \frac {\alpha_j^2}
{\alpha_0^2} \\
& = \frac {\alpha_0 \alpha_j (\alpha_j + 1) - \alpha_j^2 (\alpha_0 + 1)}
{\alpha_0^2 (\alpha_0 + 1)} \\
& = \frac {\alpha_0 \alpha_j^2 + \alpha_0 \alpha_j
- \alpha_0 \alpha_j^2 - \alpha_j^2}
{\alpha_0^2 (\alpha_0 + 1)} \\
& = \frac {\alpha_j (\alpha_0 - \alpha_j)}
{\alpha_0^2 (\alpha_0 + 1)} \tag{ex2.6}
\end{align}
が示された。(証明終)
共分散
{\rm cov}[\mu_j, \mu_l]
= - \frac {\alpha_j \alpha_l} {\alpha_0^2 (\alpha_0 + 1)}
\qquad \qquad j \neq l
\tag{2.275}
***証明***
```math
{\rm cov}[\mu_j, \mu_l] =
\mathbb{E}[\mu_j \mu_l] -
\mathbb{E}[\mu_j] \mathbb{E}[\mu_l] \tag{ex3.1}
$\mathbb{E}[\mu_j], \mathbb{E}[\mu_l]$ は式 $(2.273)$ で既に得られているので、$\mathbb{E}[\mu_j \mu_l]$ を計算すればよい。
\begin{align}
\mathbb{E}[\mu_j \mu_l]
& = \int \mu_j \mu_l {\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
d \boldsymbol{\mu} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\int \mu_j \mu_l \prod_{k=1}^K \mu_k^{\alpha_k - 1}
d \boldsymbol{\mu}
\tag{ex3.2}
\end{align}
ここで、次のようなベクトル $\boldsymbol{\delta} = (\delta_1, ..., \delta_K) ^ {\rm T}$ を定義する。
\delta_k = \left\{
\begin{array}{ll}
\alpha_k & (k \neq j, l) \\
\alpha_k + 1 & (k = j, l)
\end{array}
\right. \tag{ex3.3}
また、このように $\delta_0$ を定義する。
\delta_0 = \sum_{k=1}^K \delta_k = \alpha_0 + 2 \tag {ex3.4}
すると、期待値の導出と同様の考え方ができる。
\begin{align}
\mathbb{E}[\mu_j \mu_l]
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
\frac {\Gamma(\delta_1) \cdots \Gamma(\delta_K)} {\Gamma(\delta_0)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j) \Gamma(\alpha_l)}
\frac {\Gamma(\alpha_j + 1) \Gamma(\alpha_l + 1)} {\Gamma(\alpha_0 + 2)} \\
& = \frac {\Gamma(\alpha_0)} {\Gamma(\alpha_j) \Gamma(\alpha_l)}
\frac {\alpha_j \alpha_l \Gamma(\alpha_j) \Gamma(\alpha_l)}
{\alpha_0 (\alpha_0 + 1) \Gamma(\alpha_0)} \\
& = \frac {\alpha_j \alpha_l} {\alpha_0 (\alpha_0 + 1)}
\tag{ex3.5}
\end{align}
式 $\rm (ex3.1), (2.273), (ex3.5)$ より、
\begin{align}
{\rm cov}[\mu_j, \mu_l]
& = \mathbb{E}[\mu_j \mu_l] -
\mathbb{E}[\mu_j] \mathbb{E}[\mu_l] \\
& = \frac {\alpha_j \alpha_l} {\alpha_0 (\alpha_0 + 1)} -
\frac {\alpha_j \alpha_l} {\alpha_0^2} \\
& = \frac {\alpha_0 \alpha_j \alpha_l - (\alpha_0 + 1) \alpha_j \alpha_l}
{\alpha_0^2 (\alpha_0 + 1)} \\
& = - \frac {\alpha_j \alpha_l} {\alpha_0^2 (\alpha_0 + 1)} \tag{ex3.6}
\end{align}
が示された。(証明終)