カーネルちょび復習(PRML6章)
- カーネル関数: 対称な半正定値関数 k(x, x')
- 特徴ベクトル φ(x) から作る:
- カーネル関数から φ(x) を得ることも(双対性)
- φ(x) で高次元の特徴空間への写像し、そこで線形な処理を行う
- 元の空間で非線形なモデルを考えているのと等価
- カーネルトリック
- 特徴空間上で計算する代わりに、カーネル関数を使ってデータ点から直接計算
- おおむね [データ点の個数] < [特徴空間の次元(無限大とか)] なので
カーネル法だと何が嬉しい?
カーネル主成分解析(kernel PCA)
: 観測変数 (n = 1, ..., N)
: M次元の特徴空間(feature space)への非線形変換
- 特徴空間において {φ(x_n)} に対して通常の PCA を行う代わりに、カーネル関数+データ点だけで(特徴空間上で計算せずに解く)のが Kernel PCA のゴール。
- ★ M は特徴空間の次元(≠主成分空間の次元)。ここまでの章と違うんだから、記号変えてくれればいいのに。
- まず と仮定する(一般の場合は後で)。
- 特徴空間におけるサンプル共分散行列 C
- C の固有方程式は
(i=1, ..., M)
- C を入れて
- λ_i>0 を仮定すると、v_i は φ(x_n) の線形結合で書ける
- (★ λ_i=0 だと、そもそも主成分たりえないから?)
- v_i を固有方程式に代入し、左から φ(x_l)^T をかける
- に置き換えると
- K : (n, m) 成分を k(x_n, x_m) とするグラム行列
- とすると、
- λ_i, a_i は次の固有方程式の解として得られる
- ゼロ固有値の分の差はあるが、主成分による射影には影響しない → (Ex.12.26)
- a_i は定数倍の自由度を持つが、特徴空間での規格化(正規化)を行う
- 主成分への射影は、特徴空間から部分主成分空間への射影によって得られる。
- 第 i 成分を計算すると、下記の通りカーネル関数により表せる。
Ex.12.26 (主成分への射影はゼロ固有値の影響を受けない)
グラム行列 K に対して、以下が成り立つことを示せ。
(1)
(2)
(3) (2) の に対し とおくと
【証明】 (1), (2) は明らか。
(3) とおくと、
から .
よって .
(つまり ってこと)
特徴空間の次元と主成分の数
- 主成分の数の上限=特徴空間上でのサンプル共分散 C のランク
- C のランクは、その作り方から、高々 N
- つまり主成分の数の上限 ≦ min{M, N}
特徴ベクトルの中心化
仮定 がない場合。
- 中心化された特徴ベクトル についてグラム行列を求めると
where は全ての要素が 1/N という値を取る N×N 行列
この に対し、固有方程式 を解けばよい。
(「カーネル多変量解析」の場合)
「カーネル多変量解析」でのカーネル PCA は、PRML とちょっと違う。
(以下、記号は PRML に合わせた)
- φ(x_n) が中心化されている場合
- L に代入し より を得る(★右辺の N を省略)
- φ(x_n) が中心化されていない場合
- where は 1 を N 個並べたベクトル
- より を得る(★PRMLと異なる。この差は?←未検証……)