関東CV勉強会 Kernel PCA (2011.2.19)
-
Upload
akisato-kimura -
Category
Documents
-
view
2.729 -
download
0
description
Transcript of 関東CV勉強会 Kernel PCA (2011.2.19)
5. Kernel methods for vector data (II)
Akisato Kimura (Twitter ID: @_akisato)
初めての方もいらっしゃるので。。。
CV勉強会 2011.2.192
Social mediaでの自己紹介
これまでに関わった研究業界を国内研究会名で書くと
本業的: IEICE-PRMU, IEICE-IT, SITA, IEICE-IBISML
副業的: IEICE-DE, ASJ, VSJ, IPSJ-SIGMUS
これから?: NLP, IPSJ-SIGDIAL
Contents1. Kernel PCA
多くのページがここに割かれています
2. FDA / CCA / Subspace methods
3. Manifold learning
ここまで手が回らなかったので、勘弁して下さい。
【注意】
教科書と全然違うストーリーで説明しています。
記号は合わせてありますが、ご注意下さい。
3 CV勉強会 2011.2.19
Cf. 赤穂 “カーネル多変量解析”、岩波書店
5.1 Kernel PCA
PCAって何?
CV勉強会 2011.2.195
多次元ベクトルとして表現される多数のサンプルから、それらの分散が大きくなる正規直交軸を見つける手法。
サンプルが多次元ガウス分布に従うときは非常に有効
そうでないときも、サンプル表現に寄与しない成分を捨てる目的で使用されることが多い。
Kernel PCA って何?
主成分分析 (PCA) にカーネルトリックを利用することで、非線形次元削減を実現する方法。
6 CV勉強会 2011.2.19
Cf. 福水 “カーネル法による非線形解析法” http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf
PCAの定式化 1
CV勉強会 2011.2.197
多次元ベクトルのサンプルが与えられているとする。
簡単のため、以降はサンプル平均=0であることを仮定します。
射影後のサンプルの分散が最大になる基底 を求める
要注意 (教科書に合わせています)
PCAの定式化 2
CV勉強会 2011.2.198
各基底が単位ベクトルとなるように正規化
Lagrange 未定定数法を用いて、問題を書き直す。
基底での微分=0 とすると、
共分散行列の固有値問題を解けば良い!
PCAにおける基底の選択
CV勉強会 2011.2.199
PCAの目的関数に固有値問題の解を導入すると
固有値=射影後のサンプルの分散→ 固有値が大きい順に対応する固有ベクトルを基底とする
寄与率・累積寄与率
寄与率: 所定の基底が表現できるサンプルの分散
(第 i 番目の基底の寄与率)
(第 i 番目までの基底の累積寄与率)
PCAによる次元削減
CV勉強会 2011.2.1910
新しいサンプル を、選択された基底群で決まる部分空間に(直交)射影する。
要するに、サンプルと各基底との内積を取れば良い。
寄与率を考慮した射影を考える場合もある。
PCA to Kernel PCA
CV勉強会 2011.2.1911
見かけ上は、非常に簡単に移行できます。
1. グラム行列を構成し、その固有値問題を解く。
2. 新しいサンプルと得られた固有ベクトルとの(カーネルで規定される空間上で)内積を取る。
…ですが、何でそうなるのか?
ということについて、これから説明します。
Kernel PCAの定式化 1
CV勉強会 2011.2.1912
まず、サンプルを非線形変換する
言うまでもないですが、実際には計算できない変換です。
ここでも同様に、(変換後)サンプル平均=0を仮定します。
射影後のサンプルの分散が最大になる基底 を求める
Kernel PCAの定式化 2
CV勉強会 2011.2.1913
各基底が単位ベクトルとなるように正規化
Lagrange 未定定数法を用いて、問題を書き直す。
基底での微分を取ると
共分散行列の固有値問題を…というわけにはいかない。
共分散行列を計算できない!
Kernel PCAの定式化 3
CV勉強会 2011.2.1914
もう少し詳しく見てみよう
ゆえに、新しいサンプルの部分空間への射影は
グラム行列で計算できる!
Kernel PCAの定式化 4
CV勉強会 2011.2.1915
あとは係数 v をどう求めるか? が課題。
もう一度、射影後のサンプルの分散を計算してみる。
Kernel PCAの定式化 5
CV勉強会 2011.2.1916
各基底が単位ベクトルとなるように正規化
Lagrange 未定定数法を用いて、問題を書き直す。
基底での微分を取ると、
(グラム行列が正則であれば)グラム行列の固有値問題を解けば、基底が求まる!
Kernel PCAを行った例 1
CV勉強会 2011.2.1917
多項式カーネル(次数=3)を用いた場合
Kernel PCAを行った例 2
CV勉強会 2011.2.1918
ガウスカーネル(σ=40)を用いた場合
Kernel PCAを行った例 3
CV勉強会 2011.2.1919
Cf. 福水 “カーネル法による非線形解析法” http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf
Kernel PCAの問題点
CV勉強会 2011.2.1920
結果はカーネルの選び方に大きく依存する。
どんな種類のカーネルを使うか?パラメータは?
しかし、カーネルの選び方に確固たる方法論はない。
どのような目的・応用に用いられるか? で異なる。
つまりは、その目的・応用で良い結果が得られるかどうか?が、カーネルを選択するための現時点で最良の方法
5.2 FDA / CCA / Subspace methods
多変量解析の全体像
CV勉強会 2011.2.1922
主成分分析
重回帰分析
判別分析
多次元変量を2組に拡張
目的変量yを多次元変量に拡張
多次元変量の制約を排除
正準相関分析
正準相関分析 (CCA)
CV勉強会 2011.2.1923
2組の多次元ベクトル群が与えられているとする。
このベクトル群を個別に射影するための基底を求めたい。
基準: 射影後のサンプル群の正規化相関が最大になる基底
※ 簡単のため平均0を仮定します。
Cf. @_akisato “正準相関分析” http://www.slideshare.net/akisatokimura/090608-cca
Topic Lecture 2009.6.8Page 24
CCAの定式化 1
各変換を以下のようにして正規化
正規化の意味: 変換先の変量を標準正規化する
Lagrange未定定数法を用いて、問題を書き直す。
各変換で微分すると・・・
Topic Lecture 2009.6.8Page 25
共分散行列が正則であるとすると、下記の一般化固有値問題に変形可能
共分散行列のCholesky分解を用いることで、通常の固有値問題に変形可能
CCAの定式化 2
2
1
3
4
CCA まとめ
CV勉強会 2011.2.1926
ということで、PCAとほぼ同様の手順を踏めばOKです。
これを特殊化することで、以下のような問題も解けます。
Fisher 線形判別分析
線形回帰分析 (重回帰分析)
Kernel CCA
CV勉強会 2011.2.1927
Kernel CCAの導出も、PCAとほぼ同様にでき…たはず。
結果的に、共分散行列をグラム行列で置換すればOK。
ただし、正則化が事実上必須。
グラム行列が非正則になりやすいため
Cf. Max Welling “Kernel canonical correlation analysis”, http://ow.ly/3ZtZ3
5.3 Manifold learning
(ごめんなさい、今回パスさせて下さい。。。)
おしまい
CV勉強会 2011.2.1929