ガウス過程の予測分散
ガウス過程の説明は以下の記事を参照してください。
https://zenn.dev/wsuzume/books/66b6fe7bb537b3e2b4bb/viewer/6d9140
必要な部分を抜粋します。ガウス過程を用いて未知の入力x ^ \astに対応する出力y ^ \astを予測するには、予測分布
p(y ^ \ast | x ^ \ast, \mathcal{D})
から生起させます。yが平均化されていれば予測分布は
p(y ^ \ast | x ^ \ast, \mathcal{D}) = \mathcal{N}(y ^ \ast | k _ {\ast} ^ \mathrm{T} K ^ {-1} y, k _ {\ast \ast} - k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast})
となります。面白い部分は予測分散ですね。予測分散の式は入力空間のデータと正定値カーネルによってのみ定まり、出力の値によらないというのも面白い部分ですが、さらによく見ると
k _ {\ast \ast} - k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast}
として引き算が入っているにも関わらず、ガウス分布の分散パラメータですから非負であり
k _ {\ast \ast} - k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast} \geq 0
が成り立ちます。ゆえに
k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast} \leq k _ {\ast \ast}
が言えます。さらにKは正定値対称行列ですから、K ^ {-1}もやはり正定値対称行列であり、
k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast} > 0
が常に成り立ちます。これら2つの不等式を合わせて
0 < k _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast} \leq k _ {\ast \ast}
となります。この不等式はk _ {\ast} ^ \mathrm{T} K ^ {-1} k _ {\ast}という一見どれくらいの値を取るのかわからない量が、正定値カーネルに応じて決まるk _ {\ast \ast}という定数でバインドできていることがとても面白いです。
この不等式をイメージ的に解釈しようとすれば「訓練データ中のすべての情報を用いて自身を説明しようとしても、訓練データ中に自分自身が存在していると仮定した場合の情報には満たない」という、カーネル法における本質的な性質を示しているとも言えます。
証明
予測分散の導出をもって証明としてもよいと思いますが、予測分散の導出自体は単なる行列の式変形でしかないため、予測分散が負の値を取らないことの証明とするには若干弱いと思います。再生核ヒルベルト空間の性質を使ってより直接的に証明しましょう。再生核ヒルベルト空間についてよく知らない人は以下を読んでください。
https://zenn.dev/wsuzume/books/66b6fe7bb537b3e2b4bb/viewer/4d8835
いま正定値カーネルk \colon \mathcal{X} \times \mathcal{X} \to \mathbb{R}が与えられたとき、Moore-Aronszajn の定理より、\mathcal{X}上の再生核ヒルベルト空間\mathcal{H}が存在して
\phi(x) = k(\cdot, x) \in \mathcal{H}
なる\phi \colon \mathcal{X} \to \mathcal{H}が存在する。さらにこのとき
k(x, y) = \bigl\langle \phi(x), \phi(y) \bigr\rangle _ \mathcal{H}
が成り立つ。\langle \cdot, \cdot \rangle _ \mathcal{H}は\mathcal{H}上の内積を表す。行列との対応を考えて、この内積は
\bigl\langle \phi(x), \phi(y) \bigr\rangle _ \mathcal{H} = \phi(x) ^ \mathrm{T} \phi(y)
と書いてもよいこととする。さらに訓練データ中の
\mathcal{D} _ \mathcal{X} = \{ x ^ {(1)}, x ^ {(2)}, \ldots, x ^ {(n)} \}
の情報を用いて入力x ^ \astに対して予測を行いたいとして
\begin{aligned}
k _ {\ast \ast} &= k(x ^ \ast, x ^ \ast) = \phi(x ^ \ast) ^ \mathrm{T} \phi(x ^ \ast) \\
\Phi ^ \mathrm{T} &= \begin{pmatrix}
\phi(x ^ {(1)}) ^ \mathrm{T} \\
\phi(x ^ {(2)}) ^ \mathrm{T} \\
\vdots \\
\phi(x ^ {(n)}) ^ \mathrm{T}
\end{pmatrix} \\
k _ \ast &= \Phi ^ \mathrm{T} \phi(x ^ \ast) = \begin{pmatrix}
\phi(x ^ {(1)}) ^ \mathrm{T} \phi(x ^ \ast) \\
\phi(x ^ {(2)}) ^ \mathrm{T} \phi(x ^ \ast) \\
\vdots \\
\phi(x ^ {(n)}) ^ \mathrm{T} \phi(x ^ \ast)
\end{pmatrix} \\
K &= \Phi ^ \mathrm{T} \Phi
\end{aligned}
と書くことにする。
Moore-Aronszajn の定理により、\phi(x ^ \ast)は適当にx ^ {(i)} \in \mathcal{H}を集めれば
\phi (x ^ \ast) = \sum _ {i = 1} ^ {+\infty} \alpha _ i \phi(x ^ {(i)})
と近似できるが、これはさらに訓練データ中の特徴量ベクトル\phi(x ^ {(i)})が張る部分空間\operatorname{span}\{ \phi(x) | x \in \mathcal{D} _ \mathcal{X} \}に属する成分\phi _ 0 (x ^ \ast)と、その直交補空間に属する成分\phi _ \bot(x ^ \ast)に分解することができ、
\phi(x ^ \ast) = \phi _ 0 (x ^ \ast) + \phi _ \bot(x ^ \ast)
と書ける。\phi _ 0 (x ^ \ast)は訓練データ中の特徴量ベクトルが張る部分空間の元なので
\phi _ 0 (x ^ \ast) = \sum _ {x ^ {(i)} \in \mathcal{D} _ \mathcal{X}} \alpha _ i \phi(x ^ {(i)})
と展開できる。また、\phi _ \bot(x ^ \ast)は直交補空間の成分であるから\Phi ^ \mathrm{T} \phi _ \bot(x ^ \ast) = 0となり、
\begin{aligned}
k _ \ast &= \Phi ^ \mathrm{T} \phi(x ^ \ast) \\
&= \Phi ^ \mathrm{T} (\phi _ 0(x ^ \ast) + \phi _ \bot(x ^ \ast)) \\
&= \Phi ^ \mathrm{T} \phi _ 0(x ^ \ast) + \Phi ^ \mathrm{T} \phi _ \bot(x ^ \ast) \\
&= \Phi ^ \mathrm{T} \phi _ 0(x ^ \ast) + 0 \\
&= \Phi ^ \mathrm{T} \phi _ 0(x ^ \ast) \\
&= \Phi ^ \mathrm{T} \sum _ {x ^ {(i)} \in \mathcal{D} _ \mathcal{X}} \alpha _ i \phi(x ^ {(i)}) \\
&= \sum _ {x ^ {(i)} \in \mathcal{D} _ \mathcal{X}} \alpha _ i \Phi ^ \mathrm{T} \phi(x ^ {(i)})
\end{aligned}
となる。さらに\Phi ^ \mathrm{T} \phi(x ^ {(i)})がKのi列目であることを考えれば
K ^ {-1} \Bigl( \Phi ^ \mathrm{T} \phi(x ^ {(i)}) \Bigr) = \delta _ i
である。ただし\delta _ i \in \mathbb{R} ^ nはi番目の要素が1でそれ以外が0のベクトルである。よって
K ^ {-1} k _ \ast = K ^ {-1} \Bigl( \sum _ {x ^ {(i)} \in \mathcal{D} _ \mathcal{X}} \alpha _ i \Phi ^ \mathrm{T} \phi(x ^ {(i)}) \Bigr)
= \begin{pmatrix}
\alpha _ 1 \\
\alpha _ 2 \\
\vdots \\
\alpha _ n
\end{pmatrix}
となるから、
\begin{aligned}
k _ \ast ^ \mathrm{T} K ^ {-1} k _ \ast &= \sum _ {i=1} ^ n \alpha _ i \phi (x ^ {(i)}) ^ \mathrm{T} \phi (x ^ \ast) \\
&= \sum _ {i=1} ^ n \alpha _ i \phi (x ^ {(i)}) ^ \mathrm{T} \phi _ 0 (x ^ \ast) \\
&= \sum _ {i=1} ^ n \alpha _ i \phi (x ^ {(i)}) ^ \mathrm{T} \Bigl( \sum _ {i = 1} ^ n \alpha _ i \phi(x ^ {(i)}) \Bigr) \\
&= \sum _ {i = 1} ^ n \alpha _ i ^ 2 \phi(x ^ {(i)}) ^ \mathrm{T} \phi(x ^ {(i)}) + 2 \sum _ {i < j} \alpha _ i \alpha _ j \phi(x ^ {(i)}) ^ \mathrm{T} \phi(x ^ {(j)})
\end{aligned}
である。また、
\begin{aligned}
k _ {\ast \ast} &= \phi (x ^ \ast) ^ \mathrm{T} \phi (x ^ \ast) \\
&= \Bigl(\phi _ 0 (x ^ \ast) ^ \mathrm{T} + \phi _ \bot (x ^ \ast) ^ \mathrm{T} \Bigr) \Bigl(\phi _ 0 (x ^ \ast) + \phi _ \bot (x ^ \ast) \Bigr) \\
&= \phi _ 0(x ^ \ast) ^ \mathrm{T} \phi _ 0 (x ^ \ast) + \phi _ \bot (x ^ \ast) ^ \mathrm{T} \phi _ \bot (x ^ \ast)
\end{aligned}
であり、\phi _ 0 (x ^ \ast)を展開すると容易に
\begin{aligned}
\phi _ 0(x ^ \ast) ^ \mathrm{T} \phi _ 0 (x ^ \ast) &= \sum _ {i = 1} ^ n \alpha _ i ^ 2 \phi(x ^ {(i)}) ^ \mathrm{T} \phi(x ^ {(i)}) + 2 \sum _ {i < j} \alpha _ i \alpha _ j \phi(x ^ {(i)}) ^ \mathrm{T} \phi(x ^ {(j)}) \\
&= k _ \ast ^ \mathrm{T} K ^ {-1} k _ \ast
\end{aligned}
が求まるので、
k _ {\ast \ast} = k _ \ast ^ \mathrm{T} K ^ {-1} k _ \ast + \phi _ \bot (x ^ \ast) ^ \mathrm{T} \phi _ \bot (x ^ \ast) \geq k _ \ast ^ \mathrm{T} K ^ {-1} k _ \ast
となる。等号成立条件は
\phi _ \bot (x ^ \ast) ^ \mathrm{T} \phi _ \bot (x ^ \ast) = 0
である。つまり予測したい入力データx ^ \astが与えられた有限個のデータの(再生核ヒルベルト空間\mathcal{H}上での)線型結合によって表現できることである。
さて、ここまでの議論に基づいてこの不等式を解釈してみる。まず
\phi(x ^ \ast) = \phi _ 0 (x ^ \ast) + \phi _ \bot(x ^ \ast)
という分解は、予測したいx ^ \astの特徴量ベクトル\phi(x ^ \ast)を、訓練データ中の情報で表現できる成分\phi _ 0 (x ^ \ast)と、できない成分\phi _ \bot(x ^ \ast)に分解していることを意味する。\phi _ \bot (x ^ \ast) = 0となるもっとも簡単なケースは訓練データ中の適当なx ^ {(i)}がx ^ \astと一致しているときで、
\phi(x ^ \ast) = \phi(x ^ {(i)})
と完璧に分解できる。したがって「訓練データ中のすべての情報を用いて自身を説明しようとしても、訓練データ中に自分自身が存在していると仮定した場合の情報には満たない」と解釈できるのである。
Discussion