ポタージュを垂れ流す。

マイペースこうしん(主に旅行)

ガウス過程回帰とカーネルリッジ回帰

ガウス過程回帰

確率過程からガウス過程へ

区間 $ \mathcal{I} $ に対して $ \mathcal{C}(\mathcal{I}) $ を連続関数 $\nu:\mathcal{I}\to\mathbb{R} $ の全体とする。

確率過程 確率空間 $(\Omega,\mathcal{F},P)$ 上に定義された実数値確率変数族 $Y=(Y(\,\cdot\,,t))_{t\in\mathcal{I}}=(Y_t)_{t\in\mathcal{I}}$ を $\mathcal{I}$ 上の確率過程という。

ここで $ Y(\,\cdot\,,\cdot):\Omega\times\mathcal{I}\to\mathbb{R} $ であり、各 $t\in\mathcal{I}$ ごとに $Y_t:\Omega\to\mathbb{R}$ は確率変数である。

ある確率1の事象 $ \Omega ^ * \in \mathcal{F} $ が存在して、任意の $\omega\in\Omega^*$ に対して $\mathcal{I}\ni t\mapsto Y_t(\omega)$ が連続であるとき、過程 $Y$ が連続であるというが、このことを仮定すると $Y:\Omega\to C(\mathcal{I})$ (a.s.)であり、以下でも連続性を仮定する。

ガウス過程 確率過程 $Y=(Y_t)_{t\in \mathcal{I}}$ を考える。任意の有限集合 $\mathcal{I}_d=\{t_0,\ldots,t_{d-1}\}\subset \mathcal{I}$ に対して $Y _ {\mathcal{I}_d}=(Y_t)_{t\in \mathcal{I}_d}=(Y_{t_0},\ldots,Y_{t_{d-1}})$ が多変量正規分布に従うとき、この確率過程 $Y$ をガウス過程という。

適当な条件をみたす関数 $ \mu:\mathcal{I}\to\mathbb{R} $ と $ k:\mathcal{I}\times \mathcal{I}\to \mathbb{R} $ が存在して、 $ Y _ {\mathcal{I} _ d}=(Y _ t) _ {t\in \mathcal{I} _ d} $ が

$$ \mu _ {\mathcal{I} _ d} = (\mu(t)) _ {t\in\mathcal{I} _ d}, Σ _ { \mathcal{I} _ d } = (k(t _ i,t _ j)) _ {t _ i,t _ j\in\mathcal{I} _ d} $$

で定まる多変量ガウス分布 $\mathcal{N}(\mu _ {\mathcal{I} _ d},Σ _ {\mathcal{I} _ d})$ に従うとき、$Y$ はガウス過程 $\mathcal{GP}(\mu,k)$ に従うといい

$$ Y\sim\mathcal{GP}(\mu,k) $$

と書く。$Y:\Omega\to C(\mathcal{I})$ であることから、$\omega\in\Omega$ をとってガウス過程のsample path $Y(\omega)=(Y _ t(\omega)) _ {t\in\mathcal{I}}$ を考えれば、これは $Y(\omega):\mathcal{I}\to\mathbb{R}$ となる。したがって、ある種ランダムシードの空間とみなせる $\Omega$ からシード $\omega$ を選んで関数 $y(\,\cdot\,)=Y(\omega,\,\cdot\,)$ を定めると、これはガウス過程に従う1つの関数となる、つまり $ y:\mathcal{I}\to\mathbb{R} $ となる。

ガウス過程の例

ウィナー過程はガウス過程の一例である。1次元の標準ウィナー過程 $W$ は $ \mu(t) = 0, k(t _ i,t _ j) = \min\lbrace t _ i, t _ j\rbrace $ によって定まる $ \mu, k $ を用いて $ W \sim \mathcal{GP}( \mu, k) $ と書ける。

記号の定義

以下では $X=(x_1,\ldots,x_n)^\top\in\mathbb{R}^{n\times k}$ や $y=(y _ 1,\ldots,y _ n) ^ \top\in\mathbb{R} ^ n$ とし、$\mu(X)=(\mu(x_1),\ldots,\mu(x_n))^\top$ や $(k(X,X)) _ {i,j}=k(x _ i,x _ j)$ で定める。また $k _ {\,\cdot\,X}=k _ X(\,\cdot\,)=k(\,\cdot\,,X)$ などで定め、$k _ {XX}=k(X,X)$ とする。

ガウス過程回帰

問題設定

ガウス過程回帰は、入力 $ x $ に対して出力 $ y $ を予測する回帰問題において、「入力が近ければ出力も近い」という依存関係を仮定したノンパラメトリック回帰モデルであり、 $y _ i=f( x _ i )+\epsilon _ i$ の $f$ をガウス過程に従うランダムな関数であると考えて近似するものである。

データセット $ \mathcal{D}= {(x _ 1,y _ 1),\ldots,(x _ n,y _ n)}\subset\mathcal{X}\times\mathbb{R},\mathcal{X}\subset\mathbb{R} ^ k$ が与えられたときに、回帰モデル

$$ y _ i=f(x _ i)+\varepsilon _ i,\quad\varepsilon _ i\overset{\textrm{i.i.d.}}{\sim}\mathcal{N}(0,σ ^ 2) $$

を考える。ガウス過程回帰は、この関数 $f$ が $\mathcal{X}$ 上のガウス過程に従うランダムな関数であると仮定して推論を行う(つまり $f:\Omega\times\mathcal{X}\to\mathcal{C}(\mathcal{X})$ であり $f(x):\Omega\to\mathbb{R}$ は確率変数となっている)。

予測

$f\sim\mathcal{GP}(\mu,k)$ であることを仮定する(事前ガウス過程)。この仮定のもとで観測されたデータ $\mathcal{D}$ は $y=f(X)+\varepsilon\sim\mathcal{N}(\mu(X),k(X,X)+σ ^ 2I _ n)$ に従う確率変数の実現値となる(尤度関数)。

このとき、未知の入力 $X ^ * = (x _ 1 ^ * ,\ldots,x _ m ^ * ) ^ \top $ に対応する出力 $ y ^ * = (y _ 1 ^ * , \ldots,y _ m ^ * ) ^ \top $ を予測することを考える。これらの観測値が得られた後の事後ガウス過程 $ f ^ * $ は

$$ \begin{split} \overline{\mu}(x) &= \mu(x)+k _ {xX}(k _ {XX}+σ ^ 2I _ n)^{-1}(y - \mu(X)),\quad x\in\mathcal{X} \cr \overline{k}(x,x') &= k(x,x')-k _ {xX}(k _ {XX}+σ ^ 2I _ n)^{-1}k _ {Xx'},\quad x,x'\in\mathcal{X} \end{split}
$$

なる $ \overline{\mu}, \overline{k}$ を使って $f ^ * \sim\mathcal{GP}(\overline{\mu},\overline{k})$ によって決まる。事後ガウス過程にノイズも加味する場合には、 $f^*+\varepsilon \sim\mathcal{GP}(\overline{\mu}, \overline{k}+σ ^ 2\delta)$ を考えることになる( $ \delta $ は $i = j$ ならば $ \delta(i,j) = 1$ であり、$i \neq j$ ならば$ \delta(i,j) = 0$ となるカーネル)。

カーネルリッジ回帰

カーネルリッジ回帰

カーネルリッジ回帰は、入力 $ x $ に対して出力 $ y $ を予測する回帰問題において、データを非線形ヒルベルト空間に写像し、写像先のヒルベルト空間上でリッジ回帰を行ってしまおうというものである。

回帰の中に現れるのは基底関数ではなくて内積カーネル)である。適当な性質をみたすカーネルをとれば、それは無限次元の基底関数により表現できることがわかる。したがって、カーネルを使うことでいわば無限個の基底を使って回帰しているのと同じことになる。さらに、推定に際しては、得られているデータによって計算される有限個のカーネルによって作れば、それが最適解であることが保証されている。

問題設定と推定

データセット $\mathcal{D}={(x _ 1,y _ 1),\ldots,(x _ n,y _ n)}\subset\mathcal{X}\times\mathbb{R},\mathcal{X}\subset\mathbb{R}^k$ が与えられたとき、(二乗誤差最小化のもとでの)カーネルリッジ回帰の最適化問題およびカーネルリッジ回帰推定量は以下で定まる。

$$ \hat{f}=\arg\min _ {f\in\mathcal{H} _ k}\frac{1}{n}\sum_{i=1} ^ n(f(x _ i)-y _ i) ^ 2+λ\lVert f\rVert _ {\mathcal{H} _ k} ^ 2 $$

これは無限次元空間での最適化問題だが、リプレゼンター定理により、有限次元の最適化問題に置き換えられることが知られている。この帰結として、最適解としては $\operatorname{span}\lbrace k(\,\cdot\,,x_i):x_i\in\mathcal{X},i=1,\ldots,n\rbrace$ の元を考えればよいことがわかる。この条件のもとで考えてとくと

$$ \hat{f}(x)=k _ {xX}(k _ {XX}+n\lambda I _ n )^{-1}y = \sum_{i=1} ^ n \alpha_i k(x,x _ i),\quad x\in\mathcal{X} $$

ただし

$$ (\alpha _ 1,\ldots,\alpha _ n) ^ \top=(k _ {XX}+n\lambda I _ n)y\in\mathbb{R} ^ n $$

で定まる。

理論的な背景

ここでは冒頭に述べた

回帰の中に現れるのは基底関数ではなくて内積カーネル)である。適当な性質をみたすカーネルをとれば、それは無限次元の基底関数により表現できることがわかる。したがって、カーネルを使うことでいわば無限個の基底を使って回帰しているのと同じことになる。さらに、推定に際しては、得られているデータによって計算される有限個のカーネルによって作れば、それが最適解であることが保証されている。

について保証している定理を紹介する。また、同時に上では記号の定義をしていなかったので、ここで詳しく述べる。

正定値カーネル $\mathcal{X}$ は空でない集合とする。入力となる2変数に関して対称な関数 $k:\mathcal{X}\times\mathcal{X}\to\mathbb{R}$ が正定値カーネルであるとは、任意の $n$ と $c _ 1,\ldots,c _ n \in\mathbb{R}$ と $x _ 1,\ldots, x _ n\in\mathcal{X}$ に対して次をみたすことである: $$ \sum _ {i=1} ^ n \sum _ {j=1} ^ n c _i c _ j k(x _ i, x _ j)\geq 0 $$

正定値カーネルは、見ての通り(半)正定値行列の無限次元への拡張のようなものである。なお、カーネルという名前の由来はおそらく関数解析積分方程式論のあたりから来ていると思われる。線形代数群論などのカーネルとは別物。

再生核ヒルベルト空間 $\mathcal{X}$ は空でない集合とし $k$ は $\mathcal{X}$ 上の正定値カーネルとする。内積 $\langle\,\cdot\,,\,\cdot\,\rangle_{\mathcal{H} _ k}$ を備える $\mathcal{X}$ 上の関数を要素にもつヒルベルト空間 $\mathcal{H} _ k$ が再生核 $k$ をもつ再生核ヒルベルト空間である(RHKS)とは次の2性質をみたすことである:
  • 任意の $x\in\mathcal{X}$ に対して $k(\,\cdot\,,x)\in\mathcal{H} _ k$
  • 再生性:任意の $x\in\mathcal{X}$ と任意の $f\in\mathcal{H} _ k$ について $f(x)=\langle f,k(\,\cdot\,,x)\rangle_{\mathcal{H} _ k}$ をみたす
  • 再生性は、$f$ の具体的な値は $k(\,\cdot\,,x)$ だけから計算できるということを言っている性質である。

    $ k $ が与えられたとき、$ \mathcal{H} _ k $ は次のように作ることができる。まず、 $ \mathcal{H}_0 $ を

    $$ \mathcal{H} _ 0 = \mathrm{span} \lbrace k(\,\cdot\,, x):x\in\mathcal{X}\rbrace = \left\lbrace f=\sum_{i=1} ^ n c _ i k(\,\cdot\,, x _ i): n\in\mathbb{N}, c _ 1,\ldots, c _ n\in\mathbb{R}, x _ 1, \cdots, x _ n\in\mathcal{X}\right\rbrace $$

    によって定める。さらに、これに対して次のように内積を入れる。任意の $ f = \sum _ {i = 1} ^ n a _ i k (\,\cdot\,, x _ i ) $ と $ g=\sum _ {j=1} ^ m b _ j k(\,\cdot\,, y _ j)$( $ n,m \in\mathbb{N},\, a _ 1,\ldots, a _ n, b _ 1, \ldots, b _ m\in\mathbb{R}$ と $x _ 1,\ldots, x _ n, y _ 1, \ldots, y _ m\in\mathcal{X}$)に対して

    $$ \langle f,g \rangle_{\mathcal{H} _ 0} = \sum _ {i=1} ^ n \sum _ {j=1} ^ m a _ i b _ j k ( x _ i, y _ j) $$

    によって定める。ノルムはこの内積から誘導されるものとして定める:$\lVert f\rVert _ {\mathcal{H} _ 0} ^ 2 = \langle f,f \rangle_{\mathcal{H} _ 0}$。さて、このノルムについて完備にした空間を $\mathcal{H} _ k$ とする:

    $$ \mathcal{H} _ k = \overline{\mathcal{H}} _ 0 = \left\lbrace f = \sum _ {i=1} ^ n c _ i k(\,\cdot\,, x _ i): c _ 1,\ldots\in\mathbb{R}, x _ 1, \cdots\in\mathcal{X}\, \textrm{s.t.}\,\lVert f\rVert _ {\mathcal{H} _ k} ^ 2 = \lim _ {n\to\infty} \left\lVert \sum _ {i = 1} ^ n c _ i k (\,\cdot\,, x _ i)\right\rVert _ { \mathcal{H} _ 0} < \infty\right\rbrace $$

    このとき、この $\mathcal{H} _ k$ は再生核ヒルベルト空間になっていることが示せる。さらに、一意であることも示せる。

    Moore-Aronszajnの定理 任意の正定値カーネル $k$ に対して再生核ヒルベルト空間 $\mathcal{H}_k$ が一意に定まる。

    この定理により、 $k$ を決めると上のような再生核ヒルベルト空間 $\mathcal{H}_k$ が1つに決まり、さらにその元は正定値カーネルの線形結合によって表現できることがわかる。

    さらに、リプレゼンター定理によって、有限個の正定値カーネルの線形結合が最適解となることが知られている(下の定理での表現をみても、この文を少し厳密な書き方をしたくらいでしかないが...)。

    リプレゼンター定理 正定値カーネル $k:\mathcal{X}\times\mathcal{X}\to\mathbb{R}$ とそれによって定まる再生核ヒルベルト空間 $\mathcal{H} _ k$ を考える。このとき、データセット $\mathcal{D}=\{(x _ 1,y _ 1),\ldots,(x _ n,y _ n)\}\subset\mathcal{X}\times\mathbb{R}$ と狭義単調増加関数 $g:[0,\infty)\to\mathbb{R}$ と任意の誤差関数 $L$ に対して、経験リスク最小化を達成する $f\in \mathcal{H} _ k$を解とする最適化問題を考える: $$ \hat{f}=\arg\min_{\mathcal{H} _ k} L\left(\lbrace x _ i, y _ i, f (x _ i)\rbrace _ {i=1} ^ n\right) + g(\lVert f\rVert _ { \mathcal{H} _ k }) $$ この最適化問題の解 $\hat{f}$ は $\mathcal{H} _ k$ は、ある $\alpha _ 1,\ldots, \alpha _ n$ によって $$ \hat{f} = \sum _ {i=1} ^ n \alpha _ i k (\,\cdot\,, x _ i) $$ のような有限個の $k$ の線形結合によって表現できる。

    ところで、ここまでカーネルというのを使っていたが、基底関数を使うのが普通の線形回帰とかそういうやつではないか?という疑問が湧くかもしれない。カーネル法は、正定値カーネルをとると、それが無限次元の基底関数からできているものと考えられるという事実を利用したものである。つまり、正定値カーネルは何らかの基底関数によって表現できるということである。これを正当化しているのがMercerの定理である。

    Mercerの定理 コンパクト距離空間 $\mathcal{X}$ とし、 $\nu$ を$\mathcal{X}$ 上にsupportをもつボレル測度とする。二乗可積分カーネル $k:\mathcal{X}\times\mathcal{X}\to\mathbb{R}$ をとる。このとき、有界線形作用素 $ T _ k $ を次のように決める: $$ T _ k: L _ 2(\nu)\to L _ 2 (\nu); T _ k f = \int k (\,\cdot\,,x)f(x)d\nu(x) $$ この $T _ k$ が正値自己共役作用素なら $(\phi _ i,\lambda _ i) _ {i\in I}\subset L _ 2(\nu)\times(0,\infty)$ が正規直交基底とそれに対応する固有値となり( $T _ k\phi _ i=\lambda _ i\phi _ i$)、$T _ k f=\sum _ {i\in I}\lambda _ i\langle \phi _ i,f\rangle_{L _ 2(\nu)}\phi _ i$ と展開できる。
    このとき、次の展開が $\mathcal{X}$ の任意のコンパクト集合において絶対一様収束する: $$ k(x,x')=\sum _ {i\in I}\lambda _ i\phi _ i(x)\phi _ i(x'),\quad x,x'\in\mathcal{X} $$

    このことを認めれば、 $\mathcal{H} _ k$ の元である $f$ は $$ f=\sum _ {i\in I}\alpha _ i\sqrt\lambda _ i\phi _ i $$ のように、明示的に基底関数 $\phi _ i$ によって表現されることがわかる(Mercer Representation)。

    したがって、カーネルリッジ回帰は $\mathcal{H} _ k$ 上で、この基底関数 $\phi _ i$ の線形結合で表される関数によって回帰を行うものだということがわかる。

    ガウス過程回帰とカーネルリッジ回帰の等価性

    ガウス過程回帰とカーネルリッジ回帰の間には次のような関係がある。

    ガウス過程回帰の平均関数とカーネルリッジ回帰の解の関係 ガウス過程回帰において $σ ^ 2 = n\lambda$ とすれば $\overline{\mu} = \hat{f}$ が成り立つ
    ガウス過程回帰の分散関数とカーネルリッジ回帰の解の誤差の関係 ガウス過程回帰での事後分散は、カーネルリッジ回帰では最悪ケース誤差である: $$ \sqrt{\overline{k}(x,x)+σ ^ 2}=\sup _ {g\in\mathcal{H} _ {k+σ^ 2\delta}:\lVert g\rVert _ {\mathcal{H} _ {k+σ ^ 2 \delta}}\leq 1}\left(g(x)-\sum _ {i=1}^n(k _ {XX}+σ ^ 2I _ n) ^ {-1}k _ {X}(x)g(x _ i)\right) $$

    左辺はガウス過程回帰での事後分散(標準偏差)である。

    右辺は各要素に分解してみることにする。$g\in\mathcal{H} _ {k+σ^ 2\delta}:\lVert g\rVert _ {\mathcal{H} _ {k+σ ^ 2\delta}}\leq 1$ を固定したときに $\sum _ {i=1} ^ n(k _ {XX}+σ ^ 2I_n) ^ {-1}k _ {X}(x)g(x_i)$ は訓練データ $(x _ i,g(x _ i)) _ {i=1}^n$ のもとでの事後平均であり、 $g(x)$ は真値である。これに対してsupをとっているので、最悪ケースの誤差になっている。ところで、$\mathcal{H} _ {k+σ^ 2 \delta}=\mathcal{H} _ {k}+\mathcal{H} _ {σ ^ 2\delta}$ と分解できることが知られており、 $g=f+h\in \mathcal{H} _ {k}+\mathcal{H} _ {σ ^ 2\delta}$ と分解すると $h(x _ i)$ は独立ノイズと解釈できる。

    このようにみると、MAP推定とリッジ回帰の関係性のようなものが見えてくることがわかる。

    参考文献

    arxiv.org