機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

PRML演習問題 6.7(基本) www

問題

有効なカーネル関数を構成するために利用できる等式 (6.17)(6.18) を確かめよ。

参照

\begin{eqnarray}
k({\bf x},{\bf x}')=k_1({\bf x},{\bf x}')+k_2({\bf x},{\bf x}')\tag{6.17}
\end{eqnarray}

\begin{eqnarray}
k({\bf x},{\bf x}')=k_1({\bf x},{\bf x}')k_2({\bf x},{\bf x}')\tag{6.18}
\end{eqnarray}

解答

任意の \{{\bf x}_n\} に対して、
要素が k({\bf x}_n,{\bf x}_m) で与えられるグラム行列を {\bf K}
要素が k_1({\bf x}_n,{\bf x}_m) で与えられるグラム行列を {\bf K}_1
要素が k_2({\bf x}_n,{\bf x}_m) で与えられるグラム行列を {\bf K}_2 とします。

任意のベクトル {\bf a} について、{\bf a}^\top{\bf K}{\bf a} を計算します。

\begin{eqnarray}
{\bf a}^\top{\bf K}{\bf a}&=&{\bf a}^\top({\bf K}_1+{\bf K}_2){\bf a}\\
&=&{\bf a}^\top{\bf K}_1{\bf a}+{\bf a}^\top{\bf K}_2{\bf a}\geqslant 0\tag{1}
\end{eqnarray}

(1) より、{\bf K} は半正定値行列なので、k({\bf x},{\bf x}') は有効なカーネルです。
よって、(6.17) は有効なカーネルであることが示せました。

k_1({\bf x},{\bf x}')={\boldsymbol\phi}({\bf x})^\top{\boldsymbol\phi}({\bf x}'),\ k_2({\bf x},{\bf x}')={\boldsymbol\psi}({\bf x})^\top{\boldsymbol\psi}({\bf x}') とします。
{\boldsymbol\phi}M 次ベクトル、{\boldsymbol\psi}N 次ベクトルとします。

(6.18) を計算します。

\begin{eqnarray}
k({\bf x},{\bf x}')&=&k_1({\bf x},{\bf x}')k_2({\bf x},{\bf x}')\\
&=&{\boldsymbol\phi}({\bf x})^\top{\boldsymbol\phi}({\bf x}'){\boldsymbol\psi}({\bf x})^\top{\boldsymbol\psi}({\bf x}')\\
&=&\sum_{m=1}^M\phi_m({\bf x})\phi_m({\bf x}')\sum_{n=1}^N\psi_n({\bf x})\psi_n({\bf x}')\\
&=&\sum_{m=1}^M\sum_{n=1}^N\phi_m({\bf x})\phi_m({\bf x}')\psi_n({\bf x})\psi_n({\bf x}')\\
&=&\sum_{k=1}^{MN} \varphi_{k}(\mathbf{x}) \varphi_{k}\left(\mathbf{x}^{\prime}\right)\tag{2}\\
&=&{\boldsymbol\varphi}({\bf x})^\top{\boldsymbol\varphi}({\bf x}')\tag{3}
\end{eqnarray}

(2) \varphi_{k}(\mathbf{x}) は以下のようにおきました。

\begin{eqnarray}
\varphi_{k}({\bf x})=\phi_{((k-1) \oslash N)+1}({\bf x})\psi_{((k-1) \odot N)+1}({\bf x})\tag{4}
\end{eqnarray}

(4)((k-1) \oslash N)+1(k-1)N で割った整数部分 +1 です。
(4)((k-1) \odot N)+1(k-1)N で割った余り +1 です。

(3) より、(6.18) は有効なカーネルであることが示せました。

補足

(2) の変形がとても分かりにくいので、具体例を示します。
{\boldsymbol\phi}2 次ベクトル、{\boldsymbol\psi}3 次ベクトルとします。

\begin{eqnarray}
k({\bf x},{\bf x}')&=&k_1({\bf x},{\bf x}')k_2({\bf x},{\bf x}')\\
&=&\left(\phi_1({\bf x})\phi_1({\bf x}')+\phi_2({\bf x})\phi_2({\bf x}')\right)\left(\psi_1({\bf x})\psi_1({\bf x}')+\psi_2({\bf x})\psi_2({\bf x}')+\psi_3({\bf x})\psi_3({\bf x}')\right)\\
&=&\phi_1({\bf x})\phi_1({\bf x}')\psi_1({\bf x})\psi_1({\bf x}')+\phi_1({\bf x})\phi_1({\bf x}')\psi_2({\bf x})\psi_2({\bf x}')+\phi_1({\bf x})\phi_1({\bf x}')\psi_3({\bf x})\psi_3({\bf x}')\\
&+&\phi_2({\bf x})\phi_2({\bf x}')\psi_1({\bf x})\psi_1({\bf x}')+\phi_2({\bf x})\phi_2({\bf x}')\psi_2({\bf x})\psi_2({\bf x}')+\phi_2({\bf x})\phi_2({\bf x}')\psi_3({\bf x})\psi_3({\bf x}')\\
&=&\phi_1({\bf x})\psi_1({\bf x})\phi_1({\bf x}')\psi_1({\bf x}')+\phi_1({\bf x})\psi_2({\bf x})\phi_1({\bf x}')\psi_2({\bf x}')+\phi_1({\bf x})\psi_3({\bf x})\phi_1({\bf x}')\psi_3({\bf x}')\\
&+&\phi_2({\bf x})\psi_1({\bf x})\phi_2({\bf x}')\psi_1({\bf x}')+\phi_2({\bf x})\psi_2({\bf x})\phi_2({\bf x}')\psi_2({\bf x}')+\phi_2({\bf x})\psi_3({\bf x})\phi_2({\bf x}')\psi_3({\bf x}')\\
&=&\begin{pmatrix}\phi_1({\bf x})\psi_1({\bf x}) \\ \phi_1({\bf x})\psi_2({\bf x}) \\ \phi_1({\bf x})\psi_3({\bf x}) \\ \phi_2({\bf x})\psi_1({\bf x}) \\ \phi_2({\bf x})\psi_2({\bf x}) \\ \phi_2({\bf x})\psi_3({\bf x})\end{pmatrix}^\top
\begin{pmatrix}\phi_1({\bf x}')\psi_1({\bf x}') \\ \phi_1({\bf x}')\psi_2({\bf x}') \\ \phi_1({\bf x}')\psi_3({\bf x}') \\ \phi_2({\bf x}')\psi_1({\bf x}') \\ \phi_2({\bf x}')\psi_2({\bf x}') \\ \phi_2({\bf x}')\psi_3({\bf x}')\end{pmatrix}\\
&=&{\boldsymbol\varphi}({\bf x})^\top{\boldsymbol\varphi}({\bf x}')\tag{5}
\end{eqnarray}

目次へ戻る