Edited at

カーネルトリックと関数解析についてまとめてみた

More than 1 year has passed since last update.

この記事は、「数学カフェ」アドベントカレンダー19日目の記事です。


記事の趣旨

蔵本モデルでよく出てきた関数解析って?

「現実でどう役に立つの?」 これに尽きます。

※なので今回は、関数解析的な証明は行いません(できません…の方が適切ですが…)

※誤植勘違い等もあると思いますが、温かい目でお願いします。


トピック


  • 「関数解析は機械学習でどう役に立つの?」

  • カーネルトリック


今回のアドベントカレンダーで関数解析について触れてる記事


「関数解析は機械学習でどう役に立つの?」


機械学習における関数解析の使いどころ


  • 再生核ヒルベルト空間

  • ニューラルネットの積分表現理論

  • 確率的最適化

  • 正則化の収束レート

  • etc

まだいろいろあると思いますが、パッとトピックが浮かぶのがこのあたりです。

詳しくは、機械学習の中でも統計的学習などのトピックの書籍を参考にしてください。

他にもパラパラ、本や論文を読んでいる感じ、強化学習の本もちらっと読みましたが、だいぶ関係性が深いと思います。


カーネルトリックについて

実際の応用例として、機械学習で用いられる手法(カーネル法)の保証に関数解析で重要なリースの表現定理が使われているということを紹介します。


カーネル法


カーネル法(カーネルトリック)

データを高次元のヒルベルト空間(一般には無限次元)へ写像し、解析しやすいデータに変換する方法があり、ヒルベルト空間に再生核ヒルベルト空間を用いる手法のことのようです。


再生核ヒルベルト空間の定義

入力空間を $ \mathcal{X} $ 、$\mathcal{X}$ からなるヒルベルト空間を $\mathcal{H}$ 、$\mathcal{H}$ より与えられる内積を$\langle \cdot, \cdot \rangle_{\mathcal{H}}$とする.

このとき,関数 $k:\mathcal{X}^2 \rightarrow \mathbb{R}$ が存在して,任意の $x\in\mathcal{X}$ と $f\in\mathcal{H}$ に対して

$$ k(x, \cdot) \in \mathcal{H}, \langle f, k(x, \cdot) \rangle_{\mathcal{H}} = f(x)$$

が成り立つとき, $\mathcal{H}$ を 集合 $ \mathcal{X} $ 上の再生核ヒルベルト空間(RKHS)という.


リースの表現定理

$\mathcal{H}$ をヒルベルト空間とし、$\mathcal{H}$ より与えられる内積を$\langle \cdot, \cdot \rangle_{\mathcal{H}}$とする.

$\mathcal{H}$ で定義された有界線形半関数 $f(x)$ に対して

$$f(a) = \langle h, a \rangle_{\mathcal{H}} \quad \forall h \in \mathcal{H}$$

が成り立つような $\mathcal{H}$ の元 $a$ が一意的定まる.


二つの定義と定理を見比べてください

だいたい同じ形してますよね。(二つを見やすいように引用した文献から記号を変えています。)

リースの表現定理の詳しい証明は、下の資料の関数解析の書籍を参照してください。


主張

入力空間から特徴空間への写像を考えたとき、特徴ベクトルの内積計算が、関数に置き換えられるため、内積計算さえできれば,特徴ベクトルの具体的な形は知らなくてもよいということをカーネルトリックでは言っています。


今後…

リースの表現定理の具体的な証明やカーネル法の実装などそのうち…


参考資料