2.6.4
Kernel-PCA
まとめ
- Kernel PCA はカーネル写像により非線形構造を高次元特徴空間で線形に捉える。
- RBF などのカーネル選択とパラメータが、分離できる構造を決める。
- 線形 PCA では表現しにくい曲線的な構造の圧縮・可視化に向く。
- 主成分分析(PCA) の概念を先に学ぶと理解がスムーズです
直感 #
線形PCAで分離できない形状でも、Kernel PCAは『見え方の座標系』を変えてから主成分を取ります。元空間では曲がって見える構造を、カーネル空間で直線的に扱えるのが本質です。
詳細な解説 #
1. 直感:非線形構造を扱うPCA #
- PCAは「分散が最大の方向」を探すが、線形構造しか表現できない。
- データが「円」や「渦巻き」のように非線形構造を持つと、PCAではうまく分けられない。
- Kernel PCAでは、データを高次元空間に写像してからPCAを適用する。
2. 数式でみる Kernel PCA #
データ点 \(x_i \in \mathbb{R}^d\) を非線形写像 \(\phi(x)\) によって高次元空間へ移す。
カーネル行列
$$ K_{ij} = \langle \phi(x_i), \phi(x_j) \rangle $$カーネル関数 \(k(x_i, x_j)\) を直接計算することで、高次元空間に行かずに内積を得る。
固有値問題
$$ K v = \lambda v $$を解くことで、非線形構造に対応した主成分を得る。
代表的なカーネル関数:
- RBFカーネル(ガウシアン): $$ k(x, x') = \exp(-\gamma \|x - x'\|^2) $$
- 多項式カーネル: $$ k(x, x') = (\langle x, x' \rangle + c)^d $$
3. 実験用データ(円環構造) #
| |
4. Kernel PCAで次元削減 #
| |
通常のPCAでは分離できなかった「同心円のクラス」が、Kernel PCAではきれいに分離できる。
5. 実務での応用 #
- 非線形構造の可視化(例:円形・渦巻きデータ)
- パターン認識:手書き文字や顔画像の特徴抽出
- 非線形分類の前処理:SVMなどと組み合わせ
発展:Kernel PCAの注意点 #
- カーネル選択が重要:データに合うカーネルを選ぶ必要がある。
- 計算コスト:カーネル行列は \(O(n^2)\) の計算量で大規模データでは重い。
- 固有値の解釈が難しい:通常のPCAのように「寄与率」を直接解釈しにくい。
- 主成分分析(PCA) — 線形版の基本手法
- t-SNE — 可視化向けの非線形手法
- Isomap — 多様体学習の別手法
- UMAP — 非線形な次元削減手法
γ と Kernel PCA #
RBF カーネルの γ を変えると Kernel PCA の結果がどう変化するか確認できます。