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

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

# 問題

データ集合のサイズが増えるにつれて、モデルパラメータの事後分布に関する不正確さが減少することについて説明した。次の行列の公式（付録 C 参照）

```math
\left( \mathbf{M} + \mathbf{vv}^\rm{T} \right) ^ {-1}
= \mathbf{M}^{-1} - 
  \frac {\left( \mathbf{M}^{-1} \mathbf{v} \right) \left( \mathbf{v}^\rm{T} \mathbf{M}^{-1} \right) }
        {1 + \mathbf{v}^\rm{T} \mathbf{M}^{-1} \mathbf{v}}
  \tag{3.110}
```

を用いて、$(3.59)$ の線形回帰モデルに関する不確かさ $\sigma_N^2(\mathbf{x})$ が

```math
\sigma_{N+1}^2(\mathbf{x}) \leq \sigma_N^2(\mathbf{x})
  \tag{3.111}
```

を満たすことを示せ。



# 解釈

この問題では、予測分布の分散を考えます。予測分布とは、訓練データ $\mathbf {X, t}$ を用いて新規の独立変数 $\mathbf{x}$ に対応する従属変数 $t$ を予想するもので、

```math
p(t|\mathbf{t}, \alpha, \beta)
 = \int
   p(t|\mathbf{w}, \beta)
   p(\mathbf{w}|\mathbf{t}, \alpha, \beta)
   \rm{d} \mathbf{w}
   \tag{3.57}
```

で表されました。この時、予測分布は正規分布となることがすでに示されており、

```math
\begin{align}
  p(t | \mathbf{x}, \mathbf{t}, \alpha, \beta)
    & = \mathcal{N} (t | \mathbf{m}_N^{\rm{T}} \boldsymbol{\phi}(x),
                         \sigma_N^2(\mathbf{x}))
        \tag{3.58} \\
  \sigma_N^2(\mathbf{x})
    & = \frac{1}{\beta} + 
        \boldsymbol{\phi}(\mathbf{x}) ^ {\rm{T}}
        \mathbf{S}_N
        \boldsymbol{\phi}(\mathbf{x})
        \tag{3.59} \\
  \mathbf{S}_N
    & = \left(
          \alpha \mathbf{I} - \beta \mathbf{\Phi} ^ \rm{T} \mathbf{\Phi}
        \right) ^ {-1}
        \tag{3.54}
\end{align}
```

となるのでした。ちなみに式 $(3.110)$ は、Woodburyの行列反転公式

```math
\mathbf{
  (A + B C D)^{-1}
    = A^{-1} - A^{-1} B (C^{-1} + D A^{-1} B)^{-1} D A^{-1}
} \tag{2.289}
```

に $\mathbf{A} = \mathbf{M}, \mathbf{B} = \mathbf{v}, \mathbf{C} = \mathbf{I}, \mathbf{D} = \mathbf{v}^\rm{T}$ を代入することで求まります。

この問題を解くには、練習問題 3.8 の結果である

```math
\mathbf{S}_{N+1}^{-1}
  = \mathbf{S}_N^{-1} + 
    \beta
    \boldsymbol{\phi}(\mathbf{x}_{N+1})
    \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
    \tag{ex0.1}
```

を使う必要があります。


# 解答

***証明***　式 $(3.59)$ より

```math
\sigma_{N+1}^2(\mathbf{x})
  = \frac{1}{\beta} + 
    \boldsymbol{\phi}(\mathbf{x}) ^ {\rm{T}}
    \mathbf{S}_{N+1}
    \boldsymbol{\phi}(\mathbf{x})
    \tag{ex1.1}
```

式 $(\rm ex0.1)$ より

```math
\begin{align}

\mathbf{S}_{N+1}

& = \left(
    \mathbf{S}_N^{-1} + 
    \beta
    \boldsymbol{\phi}(\mathbf{x}_{N+1})
    \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
    \right) ^ {-1} \\

& = \left(
    \mathbf{S}_N^{-1} + 
    \boldsymbol{\varphi}(\mathbf{x}_{N+1})
    \boldsymbol{\varphi}(\mathbf{x}_{N+1}) ^ {\rm T}
    \right) ^ {-1}
    & (\boldsymbol \varphi = \sqrt{\beta} \boldsymbol \phi)
    \tag {ex1.2}

\end{align}
```

式 $(3.110)$ に 

```math
\mathbf{M} = \mathbf{S}_N, \mathbf{v} = \boldsymbol{\varphi} (\mathbf{x}_{N+1})
```

を代入すると、式 $(\rm ex1.2)$ より

```math
\begin{align}

\mathbf{S}_{N+1}

& = \mathbf{S}_N - 
    \frac {\mathbf{S}_N
           \boldsymbol{\varphi}(\mathbf{x}_{N+1})
           \boldsymbol{\varphi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N}
          {1 + 
           \boldsymbol{\varphi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\varphi}(\mathbf{x}_{N+1})} \\

& = \mathbf{S}_N - 
    \frac {\beta \ 
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N}
          {1 + 
           \beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})}
    \tag {ex1.2} \\

\end{align}
```

これを式 $(\rm ex1.1)$ に代入すると、

```math
\begin{align}

\sigma_{N+1}^2(\mathbf{x})

& = \frac{1}{\beta} + 
    \boldsymbol{\phi}(\mathbf{x}) ^ {\rm{T}}
    \mathbf{S}_{N+1}
    \boldsymbol{\phi}(\mathbf{x}) \\

& = \frac{1}{\beta} + 
    \boldsymbol{\phi}(\mathbf{x}) ^ {\rm{T}}
    \left(
    \mathbf{S}_N - 
    \frac {\beta \ 
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N}
          {1 + 
           \beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})}
    \right)
    \boldsymbol{\phi}(\mathbf{x}) \\

& = \frac{1}{\beta} + 
    \boldsymbol{\phi}(\mathbf{x}) ^ {\rm{T}}
    \mathbf{S}_N
    \boldsymbol{\phi}(\mathbf{x}) - 
    \frac {\beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})}
          {1 + 
           \beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})} \\

& = \sigma_N^2(\mathbf{x}) - 
    \frac {\beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})}
          {1 + 
           \beta \ 
           \boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
           \mathbf{S}_N
           \boldsymbol{\phi}(\mathbf{x}_{N+1})}
    \tag{ex1.3}

\end{align}
```

$\mathbf{S}_N$ が半正定値行列である（※）ことから、

```math
\boldsymbol{\phi}(\mathbf{x}_{N+1}) ^ {\rm T}
\mathbf{S}_N
\boldsymbol{\phi}(\mathbf{x}_{N+1})
\geq 0
```

である。よって式 $(\rm ex1.3)$ の右辺第二項は０以上となり、式 $(3.111)$ は示された。（証明終）



# ※ について補足

$\mathbf{S}_N = \left( \alpha \mathbf{I} - \beta \mathbf{\Phi} ^ \rm{T} \mathbf{\Phi} \right) ^ {-1}$ が半正定値行列であることの説明をします。

まず、任意のベクトル $\mathbf x$ において $\mathbf{x}^{\rm T} \mathbf{Ax} \geq 0$ が成り立つとき、行列 $\mathbf A$ は半正定値であると言います。

共分散行列 $\mathbf{\Phi} ^ \rm{T} \mathbf{\Phi}$ が半正定値であることは、練習問題 $2.18$ で証明されています。単位行列 $\mathbf I$ は当然半正定値で、それらの線形和 $\left( \alpha \mathbf{I} - \beta \mathbf{\Phi} ^ \rm{T} \mathbf{\Phi} \right)$ も半正定値です。

さらに、半正定値行列の逆行列は半正定値行列です。なぜなら $\mathbf A$ の固有値において $\lambda_{\mathbf A} \geq 0$ が成り立つなら、逆行列 $\mathbf{A} ^ {-1}$ の固有値においても $\lambda_{\mathbf A^{-1}} = \lambda_{\mathbf A}^{-1} \geq 0$ が成り立つからです。以上より、$\mathbf{S}_N$ は半正定値行列です。