LoginSignup
0
0

More than 3 years have passed since last update.

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

Posted at

問題

この演習問題では. (3.62)で定義される等価カーネルのより深い性質を調べよう.ただし. $S_N$ は(3.54)で定義される.基底関数$\phi_j(\mathbf{x})$は線形独立であると仮定し,データ点の数$N$ は基底関数の数$M$ よりも大きいものとする.さらに.基底関数の1 つは定数,すなわち. $\phi_0(\mathbf{x}) = 1 $とする.これらの基底関数の適当な線形結合を取り,同じ空間を張る新しい基底関数集合$\psi_j(\mathbf{x})$を生成することができる.ただし新しい基底関数は正規直交である.

\begin {align*}
\sum_{n=1}^{N} \psi_{j}\left(\mathbf{x}_{n}\right) \psi_{k}\left(\mathbf{x}_{n}\right)=I_{j k}
\tag{3.115}
\end {align*}

$ I_{jk} $は$j=k$のときを取り.それ以外は$0$を取る.また.$\psi_0(\mathbf{x}) = 1 $と定義する.このとき.$\alpha = 0$に対して.等価カーネルが $k(\mathbf{x}, \mathbf{x}') = \psi(\mathbf{x})^T\psi(\mathbf{x'})$と書けることを示せ.ただし$\psi =(\psi_0, ..., \psi_M)^T $である.そしてこの結果を用いて.上記のカーネルが

\begin {align*}
\sum_{n=1}^{N} k\left(\mathbf{x}, \mathbf{x}_{n}\right) = 1
\tag{3.116}
\end {align*}

を満たすことを示せ.

方針

等価カーネルは重みを定める役割があると述べられていたが、$\alpha = 0$、つまり無限に広い事前分布のもとでは

\begin {align*}
\sum_{n=1}^{N} k\left(\mathbf{x}, \mathbf{x}_{n}\right) = 1
\tag{3.116}
\end {align*}

となることを示す問題である。この(3.116)を示すには、もとの基底関数$\phi_j(\mathbf{x})$を、同じ空間を張る新しい正規直交の基底関数$\psi_j(\mathbf{x})$に置き換えることが必要となる。そしてこの結果を用いて(3.116)を示すことになる。

解答

$\alpha = 0$の時、

\begin {align*}
\mathbf{S}_{N}^{-1}=\alpha \mathbf{I}+\beta \boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi}
\tag{3.54}
\end {align*}

より、

\begin {align*}
\mathbf{S}_{N}^{-1}&=\beta \boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi}\\
\mathbf{S}_{N}&=\beta^{-1}( \boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi})^{-1}
\tag{ex3.14.1}
\end {align*}

また、基底関数は、

\begin {align*}
k\left(\mathbf{x}, \mathbf{x}^{\prime}\right)=\beta \phi(\mathbf{x})^{\mathrm{T}} \mathbf{S}_{N} \phi\left(\mathbf{x}^{\prime}\right)
\tag{3.62}
\end {align*}

であるため(ex3.14.1)を代入して

\begin {align*}
k\left(\mathbf{x}, \mathbf{x}^{\prime}\right)
&=\beta \phi(\mathbf{x})^{\mathrm{T}} \beta^{-1}( \boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi})^{-1}\phi\left(\mathbf{x}^{\prime}\right)\\ 
&=\phi(\mathbf{x})^{\mathrm{T}}( \boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi})^{-1}\phi\left(\mathbf{x}^{\prime}\right)
\tag{ex3.14.2}
\end {align*}

この時元の基底関数$\phi_j(\mathbf{x})$が正規直交していれば$\boldsymbol{\Phi}^{\mathrm{T}} \boldsymbol{\Phi} = I$の単位行列となるため$k\left(\mathbf{x}, \mathbf{x}^{\prime}\right)
=\phi(\mathbf{x})^{\mathrm{T}}\phi(\mathbf{x}^{\prime})$となる。ただし、$\phi_j(\mathbf{x})$が正規直交しているかはわからないため、正規直交の基底関数に直す必要がある。そのため、新しい正規直交の基底関数を$\psi_j(\mathbf{x})$とすると、$\phi(\mathbf{x})$から$\psi(\mathbf{x})$への変換行列を$\mathbf{V}$とすると、
$\psi(\mathbf{x}) =(\psi_0(\mathbf{x}), ..., \psi_M(\mathbf{x}))^T $、
$\phi(\mathbf{x}) =(\phi_0(\mathbf{x}), ..., \phi_M(\mathbf{x}))^T $
であるため、

\begin {align*}
\mathbf{V}\phi(\mathbf{x}) &= \psi(\mathbf{x})\\
\phi(\mathbf{x}) &= \mathbf{V}^{-1}\psi(\mathbf{x})
\tag{ex3.14.3}
\end {align*}
\begin {align*}
\phi(\mathbf{x})^T &= \psi(\mathbf{x})^T(\mathbf{V}^{-1})^T
\tag{ex3.14.4}
\end {align*}

行列形式にすると、

\begin {align*}
  \Psi = \left(
    \begin{array}{c}
      \psi(\mathbf{x_1})^T \\
      :\\
      \psi(\mathbf{x_N})^T
    \end{array}
  \right)
\end {align*}
\begin {align*}
  \Phi = \left(
    \begin{array}{c}
      \phi(\mathbf{x_1})^T \\
      :\\
      \phi(\mathbf{x_N})^T
    \end{array}
  \right)
\end {align*}

となることから、(ex3.14.4)を用いて、

\begin {align*}
  \Phi &= \left(
    \begin{array}{c}
      \psi(\mathbf{x_1})^T(\mathbf{V}^{-1})^T \\
      :\\
      \psi(\mathbf{x_N})^T(\mathbf{V}^{-1})^T
    \end{array}
  \right)\\
\Phi&= \Psi(\mathbf{V}^{-1})^T
\tag{ex3.14.5}
\end {align*}

以上のことから、(ex3.14.2)に(ex3.14.3)(ex3.14.5)を代入すると、

\begin {align*}
k\left(\mathbf{x}, \mathbf{x}^{\prime}\right)=\psi(\mathbf{x})^T(\mathbf{V}^{-1})^T\{(\Psi(\mathbf{V}^{-1})^T)^T\Psi(\mathbf{V}^{-1})^T\}^{-1}\mathbf{V}^{-1}\psi(\mathbf{x})
\tag{ex3.14.6}
\end {align*}

また、

\begin {align*}
\{(\Psi(\mathbf{V}^{-1})^T)^T\Psi(\mathbf{V}^{-1})^T\}^{-1} = \{\mathbf{V}^{-1}\Psi^T\Psi(\mathbf{V}^{-1})^T\}^{-1}
\end {align*}

$\psi_j(\mathbf{x})$は正規直交の基底関数のため、$\Psi^T\Psi = I$となる。よって、(ex3.14.6)から下の式が成り立つ。

\begin {align*}
k(\mathbf{x}, \mathbf{x}') = \psi(\mathbf{x})^T\psi(\mathbf{x'})
\end {align*}

さらに、等価カーネルの足し合わせについて考えると、

\begin {align*}
\sum_{n=1}^{N} k\left(\mathbf{x}, \mathbf{x}_{n}\right) &= \sum_{n=1}^{N}\psi(\mathbf{x})^T\psi(\mathbf{x_N})\\
&= \sum_{m=0}^{M-1}\psi_{m}\left(\mathbf{x}\right) \sum_{n=1}^{N}\psi_{m}\left(\mathbf{x}_{n}\right)
\tag{ex3.14.7}
\end {align*}

最初に出てきた正規直交の基底関数における性質、(3.115)において$j = 0$を代入すると、

\begin {align*}
\sum_{n=1}^{N}\psi_{m}\left(\mathbf{x}_{n}\right)=I_{0 m}
\tag{3.115}
\end {align*}

よって(ex3.14.7)は

\begin {align*}
\sum_{n=1}^{N} k\left(\mathbf{x}, \mathbf{x}_{n}\right)
&= \sum_{m=0}^{M-1}\psi_{m}\left(\mathbf{x}\right) I_{0 m}\\
&= 1
\end {align*}

このことから下の(3.116)が示された。

\begin {align*}
\sum_{n=1}^{N} k\left(\mathbf{x}, \mathbf{x}_{n}\right) = 1
\tag{3.116}
\end {align*}
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