一般の特徴量変換から等価な再生核ヒルベルト空間を導く

## 概要

任意のベクトル空間への特徴量変換はある再生核ヒルベルト空間への特徴量変換と内積の意味で等価である.  

## 前提知識

距離空間と完備性ぐらいまでの位相空間論とそれに伴う極限操作, 関数空間を主とする無限次元ベクトル空間の内積周辺の知識が必要になる.  
厳密に分からなくていいならユークリッド空間の内積・直和分解ぐらいまでの幾何・線型代数を知っていればざっくりしたイメージは掴めると思う.  
加えて機械学習のカーネル法の諸理論が分かっているといい.  

## 再生核ヒルベルト空間速習

一般の距離空間 $X$ において $X$ の点列が収束する時[^cauchysequence], その収束先が $X$ に存在しない場合がある.  
それに対して任意の収束列が $X$ に収束先を持つような距離空間を完備であるといい, 内積を持つベクトル空間 (内積空間) で, 内積から導かれる距離に関して完備なものを**ヒルベルト空間**と呼ぶ.  
有限次元のベクトル空間は任意の内積に関して完備であることが分かっているので, 距離空間やその完備性が分からなければ有限次元ベクトル空間をイメージしておこう.  

[^cauchysequence]: コーシー列のことである.  

集合 $S$ があった時, $S$ 上の関数全体を $\mathcal{F}(S)$ と置くと, これはベクトル空間になる.  
関数の値域は実数全体 $\mathbb{R}$ と複素数全体 $\mathbb{C}$ のそれぞれを考えることがあり, それに対応して $\mathcal{F}(S)$ も実ベクトル空間か複素ベクトル空間のいずれかとなる[^functionspace].  
よって以降, $\mathcal{F}(S)$ の係数体を $K$ と書き, $\mathbb{R}, \mathbb{C}$ のいずれかを表すことにする.  

[^functionspace]: 複素関数を $2$ 次元実ベクトル空間への写像と考えて複素関数全体も実ベクトル空間として扱うことは稀にある.  

$\mathcal{F}(S)$ の部分空間 $\mathcal{H}$ で, 以下の (1), (2) を満たすものを**再生核ヒルベルト空間**と呼ぶ:  

(1) $\mathcal{H}$ には内積 $\langle\cdot, \cdot\rangle_\mathcal{H}$ が定められていて, それによってヒルベルト空間となる,  
(2) 任意の $x \in S$ に対して, $\mathcal{H} \ni f \mapsto f(x) \in K$ という写像は連続である[^continuity].  

[^continuity]: (2) は「$f \in \mathcal{H}$ が連続関数である」という主張ではないことに注意. 実際, $S$ としては位相が定められていない集合も取り得て, その場合は $f \in \mathcal{H}$ の連続性自体を議論できない.  

この (2) は**再生核等式**として知られる次の条件と同値になる.  

(2') 任意の $x \in S$ に対して $\kappa_x \in \mathcal{H}$ があって, 任意の $f \in \mathcal{H}$ に対して,  

$$ 
f(x) = \langle f, \kappa_x\rangle_\mathcal{H}, 
$$

が成り立つ[^reproducibility].  

[^reproducibility]: 通常は (1) と (2') を再生核ヒルベルト空間の定義とすることが多いが, 「[機械学習のための関数解析入門 ヒルベルト空間とカーネル法](http://www.rokakuho.co.jp/data/books/0171.html)」等では関数解析の立場から (1), (2) による定義が述べられている.  

この (2') における $\kappa_x$ または $k(x, x') := \kappa_x(x')$ と置いたものを $\mathcal{H}$ の**再生核**と呼ぶ.  
再生核等式から $k(x, x') = \langle\kappa_x, \kappa_{x'}\rangle_\mathcal{H}$ となるため, $k(x, x')$ は $x, x' \in S$ を $\kappa_x, \kappa_{x'} \in \mathcal{H}$ に写して内積を計算する関数となっていることが分かる.  

再生核 $\kappa_x$ ($x \in S$) が得られた時[^given], 対応する再生核ヒルベルト空間 $\mathcal{H}$ は,  

[^given]: 再生核は半正定値かつ (共役) 対称という性質で特徴付けられることが分かっており, 先に再生核を選んで対応する再生核ヒルベルト空間を構成する, という手続きも可能である.  

$$ 
\mathcal{H}^0 := \mathrm{span}{\\{\kappa_x \ \vert \ x \in S\\}} = \left\\{\sum_{i=0}^{n-1}\lambda_i\kappa_{x_i} \ \middle\vert \ \begin{array}{l} n = 0, 1, \dots, \\\\ x_0, x_1, \dots, x_{n-1} \in S, \\\\ \lambda_0, \lambda_1, \dots, \lambda_{n-1} \in K \end{array}\right\\} \subset \mathcal{F}(S), 
$$

で定まる $\mathcal{F}(S)$ の部分空間を完備化することで得られ, これを $\mathcal{H} := \overline{\mathcal{H}^0}$ と書く.  
内積は $\langle\kappa_x, \kappa_{x'}\rangle_{\mathcal{H}^0} := k(x, x')$ から生成される $\mathcal{H}^0$ の内積を極限操作で $\mathcal{H}$ に拡張することで定められる.  

## 特徴量変換と再生核ヒルベルト空間

カーネル法を愚直に考えると, データ集合 $X$ と再生核ヒルベルト空間 $\mathcal{H}$ (つまり $X$ 上の関数空間) について, $X \ni x \mapsto \kappa_x \in \mathcal{H}$ という特徴量変換をベースにした機械学習手法だと捉えられる.  
しかし関数空間への特徴量変換という解釈が天下り的であり, イメージも掴みにくいことから, 一般的な特徴量変換から等価な再生核ヒルベルト空間への特徴量変換が導かれることを解説しよう[^featuretransform].  

[^featuretransform]: この話題は Qiita や他技術ブログのカーネル法の解説ではあまり見ないが, 参考文献の他, [Wikipedia の再生核ヒルベルト空間のページ](https://ja.wikipedia.org/wiki/%E5%86%8D%E7%94%9F%E6%A0%B8%E3%83%92%E3%83%AB%E3%83%99%E3%83%AB%E3%83%88%E7%A9%BA%E9%96%93#%E7%89%B9%E5%BE%B4%E5%86%99%E5%83%8F)等でも取り上げられている.  

### 特徴量空間と内積が等価な再生核ヒルベルト空間

データ集合 $X$ からあるベクトル空間 (特徴量空間) $Y$ への特徴量変換 $\varphi: X \rightarrow Y$ を考える.  
通常の特徴量変換では $Y$ は一般のベクトル空間を考えるが, 適当な内積を入れて完備化することで $Y$ を拡張したヒルベルト空間 $\overline{Y}$ が得られて $\varphi$ は $X$ から $\overline{Y}$ への特徴量変換だと見なせるので, $Y$ は内積 $\langle\cdot, \cdot\rangle_Y$ を持ったヒルベルト空間であるとしていい.  
この時,  

$$ 
\kappa_x: X \ni x' \mapsto \langle\varphi(x), \varphi(x')\rangle_Y \in K, 
$$

と置いて, これら $\kappa_x$ が張る空間を完備化すれば再生核ヒルベルト空間が得られることを見る[^reproduce].  

[^reproduce]: 半正定値カーネルによる再生核の特徴付けを導入している場合は $k(x, x') := \langle\varphi(x), \varphi(x')\rangle_Y$ が半正定値かつ共役対称であることを示せば $\mathcal{H}$ の存在が言える.  

まず, $\mathcal{H}^0 := \mathrm{span}{\\{\kappa_x \ \vert \ x \in X\\}}$ に対して,  

$$ 
\left\langle\sum_{i=0}^{n-1}\lambda_i\kappa_{x_i}, \sum_{i=0}^{n'-1}\lambda'_i\kappa _{x' _i}\right\rangle _{\mathcal{H}^0} := \left\langle\sum _{i=0}^{n-1}\lambda_i\varphi(x_i), \sum _{i=0}^{n'-1}\lambda'_i\varphi(x'_i)\right\rangle_Y, 
$$

と定めると, $\langle\cdot, \cdot\rangle_{\mathcal{H}^0}$ は $\mathcal{H}^0$ の内積となり (演習), $f := \sum_{i=0}^{n-1}\lambda_i\kappa_{x_i} \in \mathcal{H}^0$ に対して,  

$$ 
\begin{align*} 
f(x) & = \sum_{i=0}^{n-1}\lambda_i\kappa_{x_i}(x) \\\\ 
& = \left\langle\sum_{i=0}^{n-1}\lambda_i\varphi(x_i), \varphi(x)\right\rangle_Y \\\\ 
& = \left\langle\sum_{i=0}^{n-1}\lambda_i\kappa_{x_i}, \kappa_x\right\rangle_{\mathcal{H}^0} = \langle f, \kappa_x\rangle_{\mathcal{H}^0}, \\\\ 
\end{align*} 
$$

となることが分かる.  
続いて $\mathcal{H} := \overline{\mathcal{H}^0}$ の内積を $\langle\cdot, \cdot\rangle_\mathcal{H}$ と書くと, 完備化の定義から $f, f' \in \mathcal{H}^0$ ならば $\langle f, f'\rangle_\mathcal{H} = \langle f, f'\rangle_{\mathcal{H}^0}$ が成り立つので, $f \in \mathcal{H} := \overline{\mathcal{H}^0}$ に対して, $f_0, f_1, \dots \in \mathcal{H}^0$ によって $f := \lim_{n\rightarrow\infty}f_n$ と書けるとすると, 内積の連続性から,  

$$ 
f(x) = \lim_{n\rightarrow\infty}f_n(x) = \lim_{n\rightarrow\infty}\langle f_n, \kappa_x\rangle_\mathcal{H} = \langle f, \kappa_x\rangle_\mathcal{H}, 
$$

が成り立つ.  

従って, $\kappa_x$ は $\mathcal{H}$ において再生核等式を満たし, $\mathcal{H}$ は再生核ヒルベルト空間となることが分かった.  
特に任意の $x, x' \in X$ に対して,  

$$ 
\langle\kappa_x, \kappa_{x'}\rangle_\mathcal{H} = \langle\varphi(x), \varphi(x')\rangle_Y, 
$$

が成り立ち, $\mathcal{H}$ の内積は $Y$ への特徴量変換による内積を保っていることが分かる.  

### 特徴量空間から再生核ヒルベルト空間への写像

続いて $\varphi(x) \mapsto \kappa_x$ の対応を保つ $Y$ から $\mathcal{H}$ への写像の構成を与える.  
再生核の定義 $\kappa_x(x') = k(x, x') = \langle\varphi(x), \varphi(x')\rangle_Y$ に基いて,  

$$ 
\pi_y(x) := \langle y, \varphi(x)\rangle_Y, 
$$

と置くと, $\pi(y) := \pi_y$ は $Y$ から $\mathcal{F}(X)$ への線型写像で $\pi(\varphi(x)) = \kappa_x$ を満たすことは直ちに分かるが, これが特に $Y$ から $\mathcal{H}$ への写像となることを見ていこう.  

まず,  

$$ 
Y_\varphi^0 := \mathrm{span}{\\{\varphi(x) \in Y \ \vert \ x \in X\\}} \subset Y, 
$$

と置いて, $\pi$ の $Y_\varphi^0$ への制限を $\pi_\varphi^0$ と書くと, $y = \sum_{i=0}^{n-1}\lambda_i\varphi(x_i) \in Y_\varphi^0$ に対して,  

$$ 
\pi_\varphi^0(y) = \sum_{i=0}^{n-1}\lambda_i\pi(\varphi(x_i)) = \sum_{i=0}^{n-1}\lambda_i\kappa_{x_i}, 
$$

より, $\pi_\varphi^0$ は $Y_\varphi^0$ から $\mathcal{H}^0$ への線型写像で, 特に全射となることが分かる.  
また, $\pi_\varphi^0(y) = 0$ (写像として零写像) の時, 任意の $x \in X$ に対して $\langle y, \varphi(x)\rangle_Y = 0$ であり, $Y_\varphi^0$ は $\\{\varphi(x) \ \vert \ x \in X\\}$ によって張られることからこれは $y = 0$ であることを示している.  
このため $\pi_\varphi^0$ は単射で $Y_\varphi^0$ から $\mathcal{H}^0$ への線型同型写像となり, $Y_\varphi^0$ の完備化で得られるベクトル空間を $Y_\varphi$ として $\pi$ の $Y_\varphi$ への制限を $\pi_\varphi$ とすれば, 完備化の一意性等から $\pi_\varphi$ は $\mathcal{H}$ への線型同型写像となることが分かる (演習).  

ここで,  

$$ 
Y_\varphi^\perp := \\{y' \in Y \ \vert \ \langle y, y'\rangle_Y = 0, \forall y \in Y_\varphi\\}, 
$$

で定まる $Y_\varphi$ の直交補空間を考えると, $y \in Y_\varphi^\perp$ について任意の $x \in X$ に対して $\langle y, \varphi(x)\rangle_Y = 0$ となることから, $\pi(y) = 0$ が導かれる[^perp].  
また, $Y_\varphi$ は完備化で得られる $Y$ の部分空間であることから閉部分空間であり, [射影定理](https://mathlandscape.com/proj-th/)により, 任意の $y \in Y$ に対して $y_\varphi \in Y_\varphi, y_\varphi^\perp \in Y_\varphi^\perp$ で $y = y_\varphi+y_\varphi^\perp$ と書けるものを一意に取れる.  
この時,  

[^perp]: つまり $Y_\varphi^\perp = \ker{(\pi)}$ である.  

$$ 
\pi(y) = \pi(y_\varphi)+\pi(y_\varphi^\perp) = \pi(y_\varphi), 
$$

より $\pi$ は $y \in Y$ の $Y_\varphi$ に関する成分のみによって定まり, $\mathcal{H}$ への全射線型写像となることが示された.  

この写像は $\pi(\varphi(x)) = \kappa_x$ を保つ線型写像として一意に得られるものではないことに注意しておこう.  
具体的には $Y_\varphi^\perp$ 上での振る舞いの自由度があり, $y \in Y_\varphi$ に対して $\rho(y) = 0$ となる任意の線型写像 $\rho: Y \rightarrow \mathcal{H}$ によって, $\pi+\rho: Y \ni y \mapsto \pi(y)+\rho(y) \in \mathcal{H}$ はこの条件を満たす.  
これは元々考えていた特徴量変換 $\varphi: X \rightarrow Y$ が, 実際には $Y_\varphi$ を値域として持っており $Y_\varphi^\perp$ の情報を利用しないことと関連しており, $Y_\varphi$ と線型同型な空間として得られる再生核ヒルベルト空間 $\mathcal{H}$ は $\pi(\varphi(x)) = \kappa_x$ を保つ最小のヒルベルト空間を与えていると言える[^minimum].  

[^minimum]: 圏論的に言うと普遍性があるということである.  

### 内積・ノルムの対応

前節の $\pi$ は $Y_\varphi$ 上では $\langle y, y'\rangle_Y = \langle\pi(y), \pi(y')\rangle_\mathcal{H}$ を満たし内積を保つが, $Y$ 全体においては成り立たず, $Y_\varphi$ への射影 $y \mapsto y_\varphi$ によって,  

$$ 
\langle\pi(y), \pi(y')\rangle_\mathcal{H} = \langle y_\varphi, y'_\varphi\rangle_Y, 
$$

となることに注意しよう.  
この時, 任意の $y \in Y_\varphi^\perp$ に対して $\pi(y) = 0$ となることから, $y, y' \in Y$ が $\pi(y) = \pi(y')$ を満たすならば $y_\varphi = y'_\varphi$ となり, $f \in \mathcal{H}$ に対して $\pi(y^f) = f$ となる $y^f \in Y$ を一つ選ぶと,  

$$ 
\pi^{-1}(f) = \\{y \in Y \ \vert \ \pi(y) = f\\} = \\{y^f+y \in Y \ \vert \ y \in Y_\varphi^\perp\\}, 
$$

と書けることが分かる.  

従って $\\|\cdot\\|_Y, \\|\cdot\\| _\mathcal{H}$ をそれぞれ $Y, \mathcal{H}$ の内積から導かれるノルムとすると,  

$$ 
\\|y _\varphi+y _\varphi^\perp\\|_Y = \\|y _\varphi\\|_Y+\\|y _\varphi^\perp\\|_Y \geq \\|y _\varphi\\|_Y, 
$$

に注意すれば,  

$$ 
\begin{align*} 
\\|f\\|_\mathcal{H} & = \\|y^f _\varphi\\|_Y \\\\ 
& = \inf{\\{\\|y^f _\varphi+y\\|_Y \ \vert \ y \in Y _\varphi^\perp\\}} \\\\ 
& = \inf{\\{\\|y^f+y\\|_Y \ \vert \ y \in Y _\varphi^\perp\\}} \\\\ 
& = \inf{\\{\\|y\\|_Y \ \vert \ \pi(y) = f\\}}, \\\\ 
\end{align*} 
$$

が導かれる.  
参考文献や Wikipedia ではこの表示を基に $\mathcal{H}$ の内積を構成しており, 実際には $Y_\varphi^\perp$ と同相な閉部分集合上での $\inf$ なので最小値を取ることができて, $\\|\pi(y)\\|_\mathcal{H} = \\|y _\varphi\\|_Y$ が言える.  

## 例: 恒等変換と双対空間からなる再生核ヒルベルト空間

ベクトル空間 (ヒルベルト空間) からなるデータ集合 $X$ をそのまま分析に用いる場合, $X$ からそれ自身への恒等変換 $\iota: X \rightarrow X$ による特徴量変換を行っていると解釈できる.  
これに対して前節の手続きで再生核ヒルベルト空間 $\mathcal{H}$ を書き下してみよう.  

この場合, 再生核は,  

$$ 
\kappa_x(x') = \langle\iota(x), \iota(x')\rangle_X = \langle x, x'\rangle_X, 
$$

という内積を取る有界な共役線型関数となり[^conjugate], $\\{\kappa_x \ \vert \ x \in X\\}$ 自体が $X$ と同型なベクトル空間をなすことから,  

[^conjugate]: 実ベクトル空間を考えれば単に線型関数である.  

$$ 
\mathcal{H} = \mathcal{H}^0 = \\{\kappa_x \ \vert \ x \in X\\}, 
$$

が成り立つ.  

ここで, 一般のベクトル空間 $V$ に対して, $V$ 上の有界で共役線型な関数全体を $V^*$ と書いて[^conjugate], $V$ の**双対空間**と呼ぶ[^dual].  
ヒルベルト空間においては, 有界な (共役) 線型関数はあるベクトルとの内積を取る関数として書かれることが知られており ([リースの表現定理](https://mathlandscape.com/riesz-repre/)),  

[^dual]: 線型関数全体を双対空間と呼ぶ場合もある. いずれにしてもヒルベルト空間では元の空間と線型同型になる.  

$$ 
\mathcal{H} = X^*, 
$$

が導かれる.  

特徴量空間から再生核ヒルベルト空間への写像 $\pi: X \rightarrow \mathcal{H}$ は, 内積に付随する共役線型関数 $x' \mapsto \langle x, x'\rangle_X$ を $x^* \in \mathcal{H}$ と書いて, $\pi(x) := x^ *$ によって得られる.  
これは任意のヒルベルト空間 $X$ の双対空間 $X^ *$ において再生核を構成する方法を示しており, $X^ *$ の内積を,  

$$ 
\langle x^*, x'^ *\rangle_{X^ *} := \langle x, x'\rangle_X, 
$$

で定めれば,  

$$ 
x^*(x') = \langle x, x'\rangle_X = \langle x^ *, x'^ *\rangle_{X^ *}, 
$$

により, $\kappa_{x'} := x'^*$ が任意の $x^ * \in X^ *$ に対して再生核等式を満たし, $X^ *$ の任意の元がその再生核となることが分かる.  

## 参考文献

https://www.jstage.jst.go.jp/article/sugaku/60/3/60_3_248/_pdf/-char/ja