機械学習の本を読むと再生核ヒルベルト空間なるものが出てきます。しかしこの再生核とはなんぞや?となったので、フーリエ展開で再生核を求めると少し理解できた気がします。
ヒルベルト空間の再生核とは
$H$を$Q\in \mathbb{R}^d$上のヒルベルト空間とし,内積$(\cdot,\cdot)_H$を備えるとします.
任意の$x\in Q$、任意の$ f\in H$に対して$f(x)=(f(\cdot),K(x,\cdot))_H$となる$K(x,y):Q\times Q\rightarrow \mathbb{R}$が存在する時、$K(x,y)$を再生核と言い、$H$は再生核ヒルベルト空間と呼ばれます.
しかしこれを見ただけではイメージが僕にはつきませんね。「○○が存在する」と言ってるだけでどんな形なのかは明言してないのでイメージがわかなくて当然ですね。
こんな時は具体例を考えて○○を実際に求められる範囲で求めてみれば良いのです.
具体的なヒルベルト空間で再生核を求めてみる
さて具体例を考えるわけですがヒルベルト空間としてパット思いつくのはフーリエ解析でみなさんおなじみの$L^2$空間です.
$L^2$空間は工学部でもフーリエ級数を学ぶとき出てくるかもしれません。
ヒルベルト空間$H=L^2(Q)$には再生核$K(x,y)$は存在するのでしょうか?どんな形をしているのでしょうか?求めてみましょう.
$L^2(Q)$とは$Q$上で2乗可積分な関数全体で,内積を$(f,g)_{L^2(Q)}=\int_Qf(y)g(y)dy$と定義することでヒルベルト空間の定義を満たします.
任意の$f\in L^2(Q)$はラプラス作用素$\Delta$の無限個の固有関数$\phi_k (\underset{def}{\Leftrightarrow}\Delta\phi_k=\lambda_k\phi_k )$を使って,$$f(x)=\sum\limits_{k=1}^{\infty}\left[\int_Qf(y)\phi_k(y)dy\right]\phi_k(x)$$と固有関数展開で近似できることが知られています。
(=のノルムはユークリッドノルムではなく、L2ノルムです。以下の無限が出てくるところの=はすべてL2の意味での近似になるます。)
フーリエ級数展開は$Q$が直方体$[0,1]^d$の時の特別な呼び方です.この時はラプラシアン$\Delta$の固有関数は$\phi_k(x)=e^{2\pi ik\cdot x}$で,これを使った固有関数展開をフーリエ級数展開と呼びます.
要約すると$L^2$空間の関数は全部ラプラシアンの固有関数展開できて,フーリエ級数展開はそれの一部です.
また$H=L^2(Q)$の内積で再生核の定義:$f(x)=(f(\cdot),K(x,\cdot))_H$を書き換えてみると$$f(x)=\int_Qf(y)K(x,y)dy$$となります.内積が計算可能になって$\cdot$も$y$になって具体的にわかるようになりましたね。
さて再生核$K(x,y)$の定義式と固有関数展開の式(を少し変形したもの)を並べてみましょう.
再生核の定義式:f(x)=\int_Qf(y)K(x,y)dy
\\固有関数展開:f(x)=\sum\limits_{k=1}^{\infty}\left[\int_Qf(y)\phi_k(y)dy\right]\phi_k(x)=\int_Qf(y)\left[\sum_{k=1}^{\infty}\phi_k(y)\phi_k(x)\right]dy
この2つの積分の中身をにらめっこすると$$K(x,y):=\sum_{k=1}^{\infty}\phi_k(y)\phi_k(x)$$と作れば再生核の定義を満たすことが分かりますね。これで$L^2(Q)$の再生核が具体的に求まりました。
再生核展開の係数も求めてみる
再生核展開
「ヒルベルト空間$H$の再生核を$K(x,y)$とすると, $f\in H$に対して.$$f(x)=\sum_{i=1}^{m}\alpha_iK(x,y_i)$$を満たす$\alpha_i$と$m$が存在する.」
らしいです。ただこんな感じのステートメント「だけ」を書いてる人がいっぱいいて証明は見たことがないですが、これも「○○が存在する」とだけ言っていて色々謎ですね。
謎ポイント
1:$\alpha_i$はどうやって求めたらいいのか謎。
2:$m$個の足し算してるけど何個足し算するかはどう決めればいいのか謎。まさか$m$でも$m+1$でもどちらでも成立するわけあるまいし謎。
というわけで、これだけ見たら意味不明だし何も計算できないし全く自明じゃないですね。shine。
具体的な場合で係数を決定する
ですが,$H=L^2(Q)$の場合はすでに固有関数(フーリエ基底)を使って$K(x,y):=\sum_{k=1}^{\infty}\phi_k(y)\phi_k(x)$と表せたので具体的に求められそうです.
今度は再生核展開の式と固有関数展開の式を並べてにらめっこすれば良さそうです。
$L^2(Q)$の再生核は$$K(x,y):=\sum_{k=1}^{\infty}\phi_k(y)\phi_k(x)$$だったので、再生核展開の式に代入すると
再生核展開:f(x)=\sum_{i=1}^{m}\alpha_ik(x,y_i)=\sum_{k=1}^{\infty}\left[\sum_{i=1}^{m}\alpha_i\phi_k(y_i)\right]\phi_k(x)
固有関数展開:f(x)=\sum\limits_{k=1}^{\infty}\left[\int_Qf(y)\phi_k(y)dy\right]\phi_k(x)
となります。これらを$\phi_k(x)$の係数に注目してにらめっこすると、
\sum_{i=1}^{m}\alpha_i\phi_1(y_i)=\int_Qf(y)\phi_1(y)dy\ \ (\ :=C_1\ )
\sum_{i=1}^{m}\alpha_i\phi_2(y_i)=\int_Qf(y)\phi_2(y)dy\ \ (\ :=C_2\ )
\cdot
\cdot
\cdot
\sum_{i=1}^{m}\alpha_i\phi_k(y_i)=\int_Qf(y)\phi_k(y)dy\ \ (\ :=C_k\ )
\cdot
\cdot
\cdot
\cdot
という$\alpha_i$に関する連立方程式が得られます.この式は関数だらけの式に見えますが、よく見ると$\phi_k(y_i)$と$\int_Qf(y)\phi_k(y)dy$は定数なので本当にただの1次元連立方程式になります。
この連立方程式を行列で書くと
\begin{pmatrix}
\phi_1(y_1) & \phi_1(y_2) &\cdots & \phi_1(y_m) \\
\phi_2(y_1) & \phi_2(y_2) &\cdots & \phi_2(y_m) \\
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot \\
\phi_k(y_1) & \phi_k(y_2) &\cdots & \phi_k(y_m) \\
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot \\
\end{pmatrix}
\begin{pmatrix}
\alpha_1\\
\alpha_2\\
\cdot\\
\cdot\\
\cdot\\
\alpha_m
\end{pmatrix}
=
\begin{pmatrix}
C_1\\
C_2\\
\cdot\\
\cdot\\
\cdot\\
C_k
\cdot\\
\cdot\\
\cdot
\end{pmatrix}
となり、$\alpha_i$を決定するには$k=m$が必要ですね。
基底の数だけ$\alpha_i$を決定できるということですかね、言われてみれば当たりまえとも思えてきました。
終わり
$L^2$のような単純な空間の場合は再生核とフーリエ基底は同じ情報を持っていると考えられます。
そしてフーリエ級数展開できるか謎なヒルベルト空間を表現したいというのがこの再生核の役割ぽいですね。
実際は再生核を先に与えてそこからヒルベルト空間を構成するということをするようです。