LoginSignup
0
0

More than 3 years have passed since last update.

PRML 演習問題 3.11(標準) 解答

Last updated at Posted at 2020-06-05

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

問題

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

\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})$ が

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

を満たすことを示せ。

解釈

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

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}

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

\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の行列反転公式

\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 の結果である

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

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

\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)$ に

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

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

\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)$ に代入すると、

\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$ が半正定値行列である(※)ことから、

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

である。よって式 $(\rm ex1.3)$ の右辺第二項は0以上となり、式 $(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$ は半正定値行列です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0