カーネル主成分分析(KPCA)

カーネル主成分分析(Kernel Principal Component Analysis, KPCA)は、非線形構造を持つデータに対して主成分分析(PCA)を拡張した手法であり、高次元特徴空間への写像とカーネル法を組み合わせることで非線形な分散構造を抽出する方法である。すなわち、入力空間 $\mathbb{R}^d$ 上のデータをヒルベルト空間 $\mathcal{H}$ に写像し、その空間において線形PCAを行うが、内積をカーネル関数によって置き換えることで、写像 $\phi$ を明示的に構成することなく計算を実行する。この枠組みは再生核ヒルベルト空間(RKHS)とメルサー核に基づく理論に支えられている。

基本設定と前提条件

データ集合 $\{x_1, x_2, \dots, x_n\} \subset \mathbb{R}^d$ に対し、写像

\[\phi : \mathbb{R}^d \to \mathcal{H}\]

を考える。ただし $\mathcal{H}$ は正定値カーネル $k(x,y)=\langle \phi(x), \phi(y)\rangle$ に対応するRKHSである。理論的には、$\phi(x)$ が可積分であり、$\mathbb{E}\|\phi(X)\|^2 < \infty$ が成立することが望ましい。

特徴空間における中心化

KPCAでは、特徴空間においてデータが中心化されている必要がある。すなわち

\[\tilde{\phi}(x_i) = \phi(x_i) - \mu, \quad \mu = \frac{1}{n} \sum_{j=1}^n \phi(x_j)\]

とする。このとき中心化されたカーネルは

\[\tilde{k}(x_i, x_j)= \langle \tilde{\phi}(x_i), \tilde{\phi}(x_j) \rangle\]

であり、行列形式では

\[\tilde{K} = HKH,\quad H = I - \frac{1}{n}\mathbf{1}\mathbf{1}^T\]

と簡潔に表現できる(元の式はこれと同値である)。ここで $H$ は中心化作用素である。

特徴空間における共分散作用素

共分散作用素は

\[C = \frac{1}{n} \sum_{i=1}^n \tilde{\phi}(x_i) \otimes \tilde{\phi}(x_i)\]

で定義される。これは $\mathcal{H}$ 上の自己共役・正作用素であり、有限標本の場合は有限ランク作用素である。

固有値問題と最適化問題

主成分は固有値問題

\[C v = \lambda v\]

の解として得られるが、これは同時に分散最大化問題

\[\max_{\|v\|_{\mathcal{H}}=1} \frac{1}{n} \sum_{i=1}^n \langle v, \tilde{\phi}(x_i) \rangle^2\]

の解でもある。すなわちKPCAはRKHSにおける分散最大化問題であり、線形PCAの完全な一般化である。

双対表現と有限次元固有値問題

解 $v \in \mathcal{H}$ はデータの張る部分空間に属する(Representer theoremの一種)ため

\[v = \sum_{i=1}^n \alpha_i \tilde{\phi}(x_i)\]

と書ける。これを固有値問題に代入すると

\[\tilde{K} \alpha = n \lambda \alpha\]

という有限次元の固有値問題に帰着される。この「双対化」により、無限次元空間での問題が計算可能となる点がカーネルトリックの本質である。

固有ベクトルの正規化条件

$\|v\|_{\mathcal{H}}=1$ を課すと

\[\|v\|^2 = \alpha^T \tilde{K} \alpha = 1\]

となる。固有値問題の解 $\alpha$ は通常 $\|\alpha\|=1$ で得られるため、対応する固有値 $\lambda$ を用いて

\[\alpha \leftarrow \frac{\alpha}{\sqrt{n\lambda}}\]

と正規化することでこの条件が満たされる。

主成分スコア(射影)

新しいデータ点 $x$ の主成分方向 $v$ への射影は

\[y = \langle v, \tilde{\phi}(x) \rangle= \sum_{i=1}^n \alpha_i \tilde{k}(x_i, x)\]

で与えられる。中心化カーネルは

\[\tilde{k}(x_i, x)= k(x_i, x)- \frac{1}{n} \sum_{j} k(x_j, x)- \frac{1}{n} \sum_{j} k(x_i, x_j)+ \frac{1}{n^2} \sum_{j,l} k(x_j, x_l)\]

である。

アルゴリズム

  • カーネル行列 $K_{ij}=k(x_i,x_j)$ を構成
  • $\tilde{K}=HKH$ により中心化
  • 固有値問題 $\tilde{K}\alpha = n\lambda \alpha$ を解く
  • $\alpha \leftarrow \alpha/\sqrt{n\lambda}$ により正規化
  • 上位固有値に対応する主成分を用いて射影を計算

カーネル関数と表現力

カーネル関数 $k$ は対称正定値である必要があり、これはRKHSの存在と同値である(メルサーの定理)。代表例として

  • 線形カーネル:$k(x,y)=x^T y$
  • 多項式カーネル:$k(x,y)=(x^T y + c)^d$
  • ガウスカーネル:$k(x,y)=\exp\left(-\frac{\|x-y\|^2}{2\sigma^2}\right)$

がある。特にガウスカーネルは無限次元特徴空間に対応し、高度な非線形構造を表現可能である。

通常のPCAとの関係

線形カーネルを用いると $\phi(x)=x$ に対応し、KPCAは通常のPCAと一致する。したがってKPCAは、内積を一般化したことによる自然な非線形拡張である。

作用素論的解釈

KPCAは確率変数 $X$ に対する共分散作用素

\[C = \mathbb{E}[\tilde{\phi}(X)\otimes \tilde{\phi}(X)]\]

のスペクトル分解に基づく手法であり、$\mathcal{H}$ 上のコンパクト自己共役作用素の固有分解として理解できる。固有値は分散の大きさ、固有ベクトルは主成分方向に対応する。

前像問題(pre-image problem)

KPCAで得られる主成分は特徴空間上の量であるため、入力空間に戻す($\phi^{-1}$ を求める)問題は一般に非自明である。これを前像問題と呼び、反復法や最適化により近似的に解く必要がある。この点は線形PCAとの重要な相違点である。

計算量と実務上の注意

KPCAはカーネル行列の固有値分解を必要とするため、計算量は $O(n^3)$、メモリは $O(n^2)$ である。このため大規模データに対しては、Nyström近似やランダム特徴(Random Fourier Features)による近似が用いられる。また、カーネルパラメータ(特にRBFの帯域幅)は結果に大きく影響する。

まとめ

カーネル主成分分析は、カーネル関数により定義されるRKHSにおいてPCAを実行することで非線形構造を抽出する手法である。カーネルトリックにより高次元写像を明示せずに計算可能であり、問題をグラム行列の固有値問題へと帰着させる点に本質がある。また、作用素論的には共分散作用素のスペクトル分解として理解され、理論的にも計算的にも重要な役割を果たす。さらに、前像問題や計算量の課題など、実用上の論点も含めて理解することが不可欠である。

Mathematics is the language with which God has written the universe.





















数理統計学 機械学習