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

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

# 問題

演習問題 4.9 の分類モデルを考え、クラスの条件付き確率密度が共通の共分散行列を持つガウス分布によって与えられる、つまり、以下の式が成立すると仮定する。

```math
p(\boldsymbol{\phi} | \mathcal{C}_k)
 = \mathcal{N} ( \boldsymbol{\phi} | \boldsymbol{\mu}_k, \mathbf{\Sigma} ).
 \tag{4.160}
```

クラス $\mathcal{C}_k$ のガウス分布の平均に対する最尤解が以下の式で与えられることを示せ。

```math
\boldsymbol{\mu}_k
 = \frac{1}{N_k} \sum_{n=1}^N t_{nk} \boldsymbol{\phi}_n.
 \tag{4.161}
```

これは、クラス $\mathcal{C}_k$ に割り当てられる特徴ベクトルの平均を表す。同様に、共通の共分散に対する最尤解が、以下の式で与えられることを示せ。

```math
\mathbf{\Sigma}
 = \sum_{k=1}^K \frac{N_k}{N} \mathbf{S}_k.
 \tag{4.162}
```

ここで

```math
\mathbf{S}_k
 = \frac{1}{N_k} \sum_{n=1}^N t_{nk} 
   (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
   (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
 \tag{4.163}
```

である。よって、$\mathbf \Sigma$ は、各クラスのデータの共分散 $\mathbf{S}_k$ の重み付き平均で与えられる。重み付け係数はクラスの事前確率で与えられる。

# 解説

演習問題 4.9 に引き続き、多クラスの分類問題におけるパラメータの最尤解を求める問題である。ただし、演習問題 4.9 では $p(\boldsymbol{\phi} | \mathcal{C}_k)$ について何の仮定も置いていなかったことに対して、こちらの問題では正規分布を仮定することで解を導いている。

# 解答

### 命題１

***命題***　$ \boldsymbol{\mu_{\rm k}} $ の最尤解は $(4.161)$ で与えられる。

***証明***　まず、尤度は以下のように表される。

```math
\begin{align}
L(\boldsymbol{\mu}_1, ..., \boldsymbol{\mu}_K, \mathbf{\Sigma} | 
  \mathbf{\Phi}, \mathbf{T})

 & = p(\mathbf{\Phi}, \mathbf{T} | 
       \boldsymbol{\mu}_1, ..., \boldsymbol{\mu}_K, \mathbf{\Sigma}) \\

 & = \prod_{n=1}^N
     p(\boldsymbol{\phi}_n, \mathbf{t}_n | 
       \boldsymbol{\mu}_1, ..., \boldsymbol{\mu}_K, \mathbf{\Sigma}) \\

 & = \prod_{n=1}^N
     \left\{
     p(\boldsymbol{\phi}_n| 
       \mathbf{t}_n,
       \boldsymbol{\mu}_1, ..., \boldsymbol{\mu}_K, \mathbf{\Sigma})
     p(\mathbf{t}_n |
       \boldsymbol{\mu}_1, ..., \boldsymbol{\mu}_K, \mathbf{\Sigma})
     \right\} \\

 & = \prod_{n=1}^N
     \prod_{k=1}^K
     \left\{
       \mathcal{N}(\boldsymbol{\phi}_n |
                   \boldsymbol{\mu}_k, \mathbf{\Sigma})
       p(\mathcal{C}_k)
     \right\} ^ {t_{nk}}
     \tag{ex4.10.1} \\

\end{align}
```

すると、対数尤度は以下のようになる。

```math
\begin{align}
{\rm ln}  \, L

 & = \sum_{n=1}^N
     \sum_{k=1}^K
     t_{nk}
     \left\{
       {\rm ln} \ 
       \mathcal{N}(
         \boldsymbol{\phi}_n | \boldsymbol{\mu}_k, \mathbf{\Sigma}
       ) + 
     {\rm ln} \, p(\mathcal{C}_k)
     \right\}
     \tag{ex4.10.2} \\

\end{align}
```

これを $\boldsymbol{\mu}_k$ で偏微分すると以下のようになる。

```math
\begin{align}
\frac{\partial}{\partial \boldsymbol{\mu}_k}
{\rm ln} \,  L

 & = \sum_{n=1}^N
     \left\{
     t_{nk}
     \frac{\partial}{\partial \boldsymbol{\mu}_k}
     {\rm ln} \, 
     \mathcal{N}(
       \boldsymbol{\phi}_n | \boldsymbol{\mu}_k, \mathbf{\Sigma}
     )
     \right\} \\

 & = - \frac{1}{2}
     \sum_{n=1}^N
     \left\{
     t_{nk}
     \frac{\partial}{\partial \boldsymbol{\mu}_k}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     \right\} \\

 & = \sum_{n=1}^N
     \left\{
     t_{nk}
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     \right\} \\

 & = \mathbf{\Sigma} ^ {-1}
     \sum_{n=1}^N
     \left\{
     t_{nk}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     \right\} \\

 & = \mathbf{\Sigma} ^ {-1}
     \left(
     \sum_{n=1}^N
     t_{nk}
     \boldsymbol{\phi}_n - 
     \sum_{n=1}^N
     t_{nk}
     \boldsymbol{\mu}_k
     \right) \\

 & = \mathbf{\Sigma} ^ {-1}
     \left(
     \sum_{n=1}^N
     t_{nk}
     \boldsymbol{\phi}_n - 
     N_k \boldsymbol{\mu}_k
     \right)
      \tag{ex4.10.3} \\

\end{align}
```

これを $0$ と置くことで、最尤解

```math
\boldsymbol{\mu}_k
   = \frac{1}{N_k}
     \sum_{n=1}^N
     t_{nk}
     \boldsymbol{\phi}_n
     \tag{ex4.10.4} \\
```

が得られる。以上より、題意は示された。（証明終）


### 命題２

***命題***　$ \boldsymbol{\Sigma} $ の最尤解は $(4.162)$ で与えられる。

***証明***　対数尤度 $\rm (ex4.10.2)$ から $ \boldsymbol{\Sigma} $ に関連する部分を抽出すると以下のようになる。

```math
\begin{align}
{\rm ln} \,  L

 & = \sum_{n=1}^N
     \sum_{k=1}^K
     \left\{
     t_{nk}
     {\rm ln} \, 
     \mathcal{N}(
       \boldsymbol{\phi}_n | \boldsymbol{\mu}_k, \mathbf{\Sigma}
     )
     \right\} \\

 & = \sum_{n=1}^N
     \sum_{k=1}^K
     \left\{
     t_{nk}
     \left[
     - \frac{1}{2}
     {\rm ln} \, |\Sigma|
     - \frac{1}{2}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     \right]
     \right\} + {\rm const.} \\

 & = - \frac{1}{2}
     \sum_{n=1}^N
     \sum_{k=1}^K
     t_{nk} {\rm ln} \, |\Sigma| -
     \frac{1}{2}
     \sum_{n=1}^N
     \sum_{k=1}^K
     t_{nk}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     + {\rm const.}  \\

& = - \frac{N}{2} {\rm ln} \, |\Sigma| -
     \frac{1}{2}
     \sum_{n=1}^N
     \sum_{k=1}^K
     t_{nk}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     + {\rm const.}  \\

 & = - \frac{N}{2} {\rm ln} \, |\Sigma| -
     \frac{1}{2}
     \sum_{n=1}^N
     \sum_{k=1}^K
     t_{nk}
     {\rm Tr} \left\{
     \mathbf{\Sigma} ^ {-1}
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \right\}
     + {\rm const.}  \\

 & = - \frac{N}{2} {\rm ln} \, |\Sigma| -
     \frac{1}{2}
     t_{nk}
     {\rm Tr} \left\{
     \mathbf{\Sigma} ^ {-1}
     \sum_{n=1}^N
     \sum_{k=1}^K
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
     (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
     \right\}
     + {\rm const.}  \\

 & = - \frac{N}{2} {\rm ln} \, |\Sigma| -
     \frac{N}{2}
     {\rm Tr} \left\{ \mathbf{\Sigma}^{-1} \mathbf{S} \right\}
     + {\rm const.}     \tag{ex4.10.5} \\

\end{align}
```

ここで、一般的な行列の性質 $\mathbf{x^{\rm T} A x} = {\rm Tr} (\mathbf{A x x^{\rm T}}) $ を利用した。また、 $\mathbf{S}$ を以下のように定義した。

```math
\mathbf{S}
 = \sum_{k=1}^K \frac{N_k}{N} \mathbf{S}_k
 = \frac{1}{N}
   \sum_{n=1}^N
   \sum_{k=1}^K
   (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k)
   (\boldsymbol{\phi}_n - \boldsymbol{\mu}_k) ^ {\rm T}
\tag{ex4.10.6}
```

これらを用いて、対数尤度の偏微分を $0$ とおくことで $\mathbf{\Sigma}$ の最尤解が得られる。

```math
\begin{align}

\frac{\partial}{\partial \boldsymbol{\Sigma}}
{\rm ln} \,  L
 & = 0 \\

\frac{\partial}{\partial \boldsymbol{\Sigma}}
{\rm ln} \, |\boldsymbol{\Sigma}|
 & = - \frac{\partial}{\partial \boldsymbol{\Sigma}}
     {\rm Tr} \left\{ \mathbf{\Sigma}^{-1} \mathbf{S} \right\} \\

\boldsymbol{\Sigma} ^ {-1}
 & = \mathbf{\Sigma}^{-1} \mathbf{S} \mathbf{\Sigma}^{-1} \\

\boldsymbol{\Sigma} & = \mathbf{S} \tag{ex4.10.7}

\end{align}
```

ここで、一般的な行列の性質 $\frac{\partial}{\partial \mathbf{X}} {\rm ln} \, |\mathbf{X}| = (\mathbf{X} ^ {-1} ) ^ {\rm T}$, $\frac{\partial}{\partial \mathbf{X}}{\rm Tr} (\mathbf{X}^ {-1} \mathbf{A}) = - (\mathbf{X}^ {-1} ) ^ {\rm T} \mathbf{A} ^ {\rm T} ( \mathbf{X}^ {-1} ) ^ {\rm T}$ を利用した。以上より、題意は示された。（証明終）