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