PRML　演習問題 2.9（難問）　解答

　この記事では統計学・機械学習の教科書である、C. M. Bishop 著「パターン認識と機械学習」（略称：PRML）の演習問題を私が解いた結果を載せています。この本は私が所属する研究室の輪読会で現在扱われていて、勉強の一環として演習問題を解いています。

# 問題

この演習問題では、ディリクレ分布が正規化されていることを、帰納法によって証明する。ディリクレ分布で $M=2$ とした特殊な場合であるベータ分布が正規化されていることは、演習問題 $2.5$ ですでに示した。次に、ディリクレ分布が $M-1$ 変数の場合に正規化されているとの仮定の下、$M$ 変数でも正規化されていることを証明する。これにはまず、$M$ 変数のディリクレ分布から、$\sum_{k=1}^M \mu_k=1$ の制約を使って $\mu_M$ を除去して、ディリクレ分布を

```math
p_M (\mu_1, ..., \mu_{M-1})
  = C_M
    \left( 
      \prod_{k=1}^{M-1} \mu_k^{\alpha_k - 1}
    \right)
    \left(
      1 - \sum_{j=1}^{M-1} \mu_j
    \right) ^ {\alpha_M - 1}
```

と書く。すると、あとは $C_M$ を表す式を求めればよい。これには、この式を、範囲に注意しつつ $\mu_{M-1}$ について積分し、さらに、この積分の範囲が $0$ から $1$ となるように変数を置換する。$C_{M-1}$ での結果が正しいと仮定して $(2.265)$ を用いて、$C_M$ の式を導出せよ。


# 示すべき命題

ディリクレ分布

```math
{\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
  = C_M \prod_{k=1}^M \mu_k^{\alpha_k - 1}
  \tag{ex0.1}
```

の正規化定数が

```math
C_M = \frac {\Gamma(\alpha_1 + \cdots + \alpha_K)}
            {\Gamma(\alpha_1) \cdots \Gamma(\alpha_K)}
  \tag{ex0.2}
```

であることを示せ。ただし $M=2$ の場合であるベータ分布では

```math
\int_0^1 \mu^{a-1} (1 - \mu)^{b-1} d\mu
  = \frac {\Gamma(a) \Gamma(b)} {\Gamma(a + b)}
\tag{2.265}
```

であることは示されている。ゆえに、$\rm (ex0.2)$ が $C_{M-1}$ で成り立つと仮定して、$C_{M}$ でも成り立つことを示せばよい。



# 方針

数学的帰納法を使うために、$M-1$ 変数のディリクレ分布と $M$ 変数のディリクレ分布を行き来できる式があるとよい。

```math
\begin{align}
& {\rm Dir} (\mu_1, ..., \mu_M | \beta_1, ..., \beta_M)
  & = & \ C_M \prod_{k=1}^M \mu_k^{\beta_k - 1}
  \tag{ex0.3} \\
& {\rm Dir} (\mu_1, ..., \mu_{M-1} | \gamma_1, ..., \gamma_{M-1})
  & = & \ C_{M-1} \prod_{k=1}^{M-1} \mu_k^{\gamma_k - 1}
  \tag{ex0.4} \\
\end{align}
```

この式をじっくり見ると、$\rm (ex0.3)$ から $\mu_M$ を積分して消す（周辺化する）ことで、$\rm (ex0.4)$ と同じ形になることが分かる。言い方を変えると、***ディリクレ分布を周辺化した分布はディリクレ分布になる***という性質がある。
ただし同時に、$\rm (ex0.3)$ を積分するとそのまま $\rm (ex0.4)$ が出てくるわけではないことに注意する。なぜなら、$\rm (ex0.3)$ のパラメータ $\beta_1, ..., \beta_M$ と $\rm (ex0.4)$ のパラメータ $\gamma_1, ..., \gamma_{M-1}$ には直接的な関係がないからだ。

ともあれ基本的な方針として、$M$ 変数のディリクレ分布から変数を１つ積分消去した式と、$M-1$ 変数のディリクレ分布と対応させることで、$C_{M-1}$ を使って $C_M$ を書き表せられれば良いことが分かる。
ただし、ディリクレ分布を積分するのはあまり単純ではないので、そのための準備が必要になる。



# 解答

***証明***　ディリクレ分布は以下の式で表される。

```math
\begin{align}
{\rm Dir} (\boldsymbol{\mu} | \boldsymbol{\alpha})
  & = C_M \prod_{k=1}^M \mu_k^{\alpha_k - 1}
  \tag{ex1.1} \\
0 \leq \mu_k & \leq 1 \qquad (k = 1, ..., M)
  \tag{ex1.2} \\
\sum_{k=1}^M \mu_k & = 1
  \tag{ex1.3}
\end{align}
```

$\rm(ex1.1)$ の積分を行いたいのだが、それに先立って、扱いの難しい $\rm(ex1.3)$ の制約を使わない表記を考える。$\rm(ex1.3)$ は

```math
\mu_M = 1 - \sum_{k=1}^{M-1} \mu_k  \tag{ex1.4}
```

と書ける。これを $\rm(ex1.1)$ に代入すると、$M$ 変数のディリクレ分布は

```math
\begin{align}
p_M(\mu_1, ..., \mu_{M-1})
  & = C_M
      \left( \prod_{k=1}^{M-1} \mu_k^{\alpha_k - 1} \right)
      \left( 1 - \sum_{j=1}^{M-1} \mu_j \right) ^ {\alpha_M - 1}
  \tag{ex1.5} \\
0 \leq \mu_k & \leq 1 \qquad (k = 1, ..., M-1)
  \tag{ex1.6} \\
\sum_{k=1}^{M-1} \mu_k & \leq 1
  \tag{ex1.7}
\end{align}
```

と書き直すことができる。なお、変数の数は $M-1$ に減ったが、パラメータは依然 $\alpha_1, ..., \alpha_M$ の $M$ 個で構成されている。

この式を使うと、ディリクレ分布の積分は以下で表される。

```math
\int_0^m p_M(\mu_1, ..., \mu_{M-1}) d \mu_{M-1}
\tag{ex1.8}
```

積分範囲の上限 $m$ は、$\rm (ex1.7)$ より以下で表される。

```math
m = 1 - \sum_{k=1}^{M-2} \mu_k
\tag{ex1.9}
```

積分範囲を整理するため

```math
\mu_{M-1}
  = m t
  = \left( 1 - \sum_{k=1}^{M-2} \mu_k \right) t \tag{ex1.10}
```

として $\mu_{M-1}$ を $t$ に変数変換する。すると、積分範囲 $[0, m]$ は $[0, 1]$ になる。また、$d \mu_{M-1} = m \ dt$ となる。これらを使うことで積分 $\rm (ex1.8)$ が計算可能になる。

```math
\begin{align}
& \int_0^m p_M(\mu_1, ..., \mu_{M-1}) d \mu_{M-1} \\

= & \int_0^m
    C_M
    \left( \prod_{k=1}^{M-1} \mu_k^{\alpha_k - 1} \right)
    \left( 1 - \sum_{j=1}^{M-1} \mu_j \right) ^ {\alpha_M - 1}
    d \mu_{M-1} \\

= & \ C_M
    \left( \prod_{k=1}^{M-2} \mu_k^{\alpha_k - 1} \right)
    \int_0^m
    \mu_{M-1}^{\alpha_{M-1} - 1}
    \left( 1 - \sum_{j=1}^{M-2} \mu_j - \mu_{M-1} \right) ^ {\alpha_M - 1}
    d \mu_{M-1} \\

= & \ C_M
    \left( \prod_{k=1}^{M-2} \mu_k^{\alpha_k - 1} \right)
    \int_0^1
    m^{\alpha_{M-1} - 1}
    t^{\alpha_{M-1} - 1}
    \left(m - mt \right) ^ {\alpha_M - 1}
    m \ dt \\

= & \ C_M
    \left( \prod_{k=1}^{M-2} \mu_k^{\alpha_k - 1} \right)
    m ^ {\alpha_{M-1} + \alpha_{M} - 1}
    \int_0^1
    t^{\alpha_{M-1} - 1}
    \left(1 - t \right) ^ {\alpha_M - 1}
    \ dt \\

= & \ C_M
    \left( \prod_{k=1}^{M-2} \mu_k^{\alpha_k - 1} \right)
    \left( 1 - \sum_{k=1}^{M-2} \mu_k \right) ^ {\alpha_{M-1} + \alpha_{M} - 1}
    \frac {\Gamma(\alpha_{M+1}) \Gamma(\alpha_{M})}
          {\Gamma(\alpha_{M+1} + \alpha_{M})}
    \tag{ex1.11}
\end{align}
```

最後の行の積分の計算には $(2.265)$ が使われている。

$\rm (ex1.5)$ との類似性を比較すると、これは $M-1$ 個のパラメータを $\alpha_1, ..., \alpha_{M-2}, \alpha_{M-1} + \alpha_M$ に設定したディリクレ分布であることが分かる。これらの正規化定数を比較することで、以下の式が得られる。

```math
\begin{align}
\frac {\Gamma(\alpha_{M-1}) \Gamma(\alpha_{M})}
      {\Gamma(\alpha_{M-1} + \alpha_{M})}
\ C_M
= & \frac {\Gamma(\alpha_1 + \cdots + \alpha_{M-2} + \alpha_{M-1} + \alpha_{M})}
          {\Gamma(\alpha_1) \cdots \Gamma(\alpha_{M-2})
           \Gamma(\alpha_{M-1} + \alpha_{M})} \\
C_M = & \frac {\Gamma(\alpha_1 + \cdots + \alpha_{M})}
              {\Gamma(\alpha_1) \cdots \Gamma(\alpha_{M})}
    \tag{ex1.12}
\end{align}
```

よって、題意は示された。（証明終）