PRML　演習問題 2.10（標準）　解答

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

# 問題

ガンマ関数の性質 $\Gamma (x + 1) = x \Gamma (x)$ を用いて、$(2.38)$ のディリクレ分布の平均、分散、および共分散の結果を導出せよ。

```math
\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}
```

は、多項分布

```math
\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]$ もベクトルになり、

```math
\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]$ と呼んでいる。なお、ベクトルによる積分は以下のように書き下せる。

```math
\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} 
```


# 解答

### 期待値

***命題***

```math
\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}$ を定義する。

```math
\beta_k = \left\{
    \begin{array}{ll}
      \alpha_k     & (k \neq j) \\
      \alpha_k + 1 & (k = j)
    \end{array}
  \right. \tag{ex1.2}
```

また、このように $\beta_0$ を定義する。

```math
\beta_0 = \sum_{k=1}^K \beta_k = \alpha_0 + 1 \tag{ex1.3}
```

すると、式 $\rm (ex1.1)$ は以下のように表される。

```math
\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)$ 右辺の積分部分はディリクレ分布の正規化定数の逆数に一致する。よって

```math
\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}
```

が示された。（証明終）


### 分散

***命題***

```math
{\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]$ を計算すればよい。

```math
\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}$ を定義する。

```math
\gamma_k = \left\{
    \begin{array}{ll}
      \alpha_k     & (k \neq j) \\
      \alpha_k + 2 & (k = j)
    \end{array}
  \right. \tag{ex2.3}
```

また、このように $\gamma_0$ を定義する。

```math
\gamma_0 = \sum_{k=1}^K \gamma_k = \alpha_0 + 2 \tag{ex2.4}
```

すると、期待値の導出と同様の考え方ができる。

```math
\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)$ より、

```math
\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}
```

が示された。（証明終）


### 共分散

***命題***

```math
{\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]$ を計算すればよい。

```math
\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}$ を定義する。

```math
\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$ を定義する。

```math
\delta_0 = \sum_{k=1}^K \delta_k = \alpha_0 + 2 \tag {ex3.4}
```

すると、期待値の導出と同様の考え方ができる。

```math
\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)$ より、

```math
\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}
```

が示された。（証明終）