関東CV勉強会 Kernel PCA (2011.2.19)

29
5. Kernel methods for vector data (II) Akisato Kimura (Twitter ID: @_akisato)

description

 

Transcript of 関東CV勉強会 Kernel PCA (2011.2.19)

Page 1: 関東CV勉強会 Kernel PCA (2011.2.19)

5. Kernel methods for vector data (II)

Akisato Kimura (Twitter ID: @_akisato)

Page 2: 関東CV勉強会 Kernel PCA (2011.2.19)

初めての方もいらっしゃるので。。。

CV勉強会 2011.2.192

Social mediaでの自己紹介

これまでに関わった研究業界を国内研究会名で書くと

本業的: IEICE-PRMU, IEICE-IT, SITA, IEICE-IBISML

副業的: IEICE-DE, ASJ, VSJ, IPSJ-SIGMUS

これから?: NLP, IPSJ-SIGDIAL

Page 3: 関東CV勉強会 Kernel PCA (2011.2.19)

Contents1. Kernel PCA

多くのページがここに割かれています

2. FDA / CCA / Subspace methods

3. Manifold learning

ここまで手が回らなかったので、勘弁して下さい。

【注意】

教科書と全然違うストーリーで説明しています。

記号は合わせてありますが、ご注意下さい。

3 CV勉強会 2011.2.19

Cf. 赤穂 “カーネル多変量解析”、岩波書店

Page 4: 関東CV勉強会 Kernel PCA (2011.2.19)

5.1 Kernel PCA

Page 5: 関東CV勉強会 Kernel PCA (2011.2.19)

PCAって何?

CV勉強会 2011.2.195

多次元ベクトルとして表現される多数のサンプルから、それらの分散が大きくなる正規直交軸を見つける手法。

サンプルが多次元ガウス分布に従うときは非常に有効

そうでないときも、サンプル表現に寄与しない成分を捨てる目的で使用されることが多い。

Page 6: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCA って何?

主成分分析 (PCA) にカーネルトリックを利用することで、非線形次元削減を実現する方法。

6 CV勉強会 2011.2.19

Cf. 福水 “カーネル法による非線形解析法” http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf

Page 7: 関東CV勉強会 Kernel PCA (2011.2.19)

PCAの定式化 1

CV勉強会 2011.2.197

多次元ベクトルのサンプルが与えられているとする。

簡単のため、以降はサンプル平均=0であることを仮定します。

射影後のサンプルの分散が最大になる基底 を求める

要注意 (教科書に合わせています)

Page 8: 関東CV勉強会 Kernel PCA (2011.2.19)

PCAの定式化 2

CV勉強会 2011.2.198

各基底が単位ベクトルとなるように正規化

Lagrange 未定定数法を用いて、問題を書き直す。

基底での微分=0 とすると、

共分散行列の固有値問題を解けば良い!

Page 9: 関東CV勉強会 Kernel PCA (2011.2.19)

PCAにおける基底の選択

CV勉強会 2011.2.199

PCAの目的関数に固有値問題の解を導入すると

固有値=射影後のサンプルの分散→ 固有値が大きい順に対応する固有ベクトルを基底とする

寄与率・累積寄与率

寄与率: 所定の基底が表現できるサンプルの分散

(第 i 番目の基底の寄与率)

(第 i 番目までの基底の累積寄与率)

Page 10: 関東CV勉強会 Kernel PCA (2011.2.19)

PCAによる次元削減

CV勉強会 2011.2.1910

新しいサンプル を、選択された基底群で決まる部分空間に(直交)射影する。

要するに、サンプルと各基底との内積を取れば良い。

寄与率を考慮した射影を考える場合もある。

Page 11: 関東CV勉強会 Kernel PCA (2011.2.19)

PCA to Kernel PCA

CV勉強会 2011.2.1911

見かけ上は、非常に簡単に移行できます。

1. グラム行列を構成し、その固有値問題を解く。

2. 新しいサンプルと得られた固有ベクトルとの(カーネルで規定される空間上で)内積を取る。

…ですが、何でそうなるのか?

ということについて、これから説明します。

Page 12: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの定式化 1

CV勉強会 2011.2.1912

まず、サンプルを非線形変換する

言うまでもないですが、実際には計算できない変換です。

ここでも同様に、(変換後)サンプル平均=0を仮定します。

射影後のサンプルの分散が最大になる基底 を求める

Page 13: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの定式化 2

CV勉強会 2011.2.1913

各基底が単位ベクトルとなるように正規化

Lagrange 未定定数法を用いて、問題を書き直す。

基底での微分を取ると

共分散行列の固有値問題を…というわけにはいかない。

共分散行列を計算できない!

Page 14: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの定式化 3

CV勉強会 2011.2.1914

もう少し詳しく見てみよう

ゆえに、新しいサンプルの部分空間への射影は

グラム行列で計算できる!

Page 15: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの定式化 4

CV勉強会 2011.2.1915

あとは係数 v をどう求めるか? が課題。

もう一度、射影後のサンプルの分散を計算してみる。

Page 16: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの定式化 5

CV勉強会 2011.2.1916

各基底が単位ベクトルとなるように正規化

Lagrange 未定定数法を用いて、問題を書き直す。

基底での微分を取ると、

(グラム行列が正則であれば)グラム行列の固有値問題を解けば、基底が求まる!

Page 17: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAを行った例 1

CV勉強会 2011.2.1917

多項式カーネル(次数=3)を用いた場合

Page 18: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAを行った例 2

CV勉強会 2011.2.1918

ガウスカーネル(σ=40)を用いた場合

Page 19: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAを行った例 3

CV勉強会 2011.2.1919

Cf. 福水 “カーネル法による非線形解析法” http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf

Page 20: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel PCAの問題点

CV勉強会 2011.2.1920

結果はカーネルの選び方に大きく依存する。

どんな種類のカーネルを使うか?パラメータは?

しかし、カーネルの選び方に確固たる方法論はない。

どのような目的・応用に用いられるか? で異なる。

つまりは、その目的・応用で良い結果が得られるかどうか?が、カーネルを選択するための現時点で最良の方法

Page 21: 関東CV勉強会 Kernel PCA (2011.2.19)

5.2 FDA / CCA / Subspace methods

Page 22: 関東CV勉強会 Kernel PCA (2011.2.19)

多変量解析の全体像

CV勉強会 2011.2.1922

主成分分析

重回帰分析

判別分析

多次元変量を2組に拡張

目的変量yを多次元変量に拡張

多次元変量の制約を排除

正準相関分析

Page 23: 関東CV勉強会 Kernel PCA (2011.2.19)

正準相関分析 (CCA)

CV勉強会 2011.2.1923

2組の多次元ベクトル群が与えられているとする。

このベクトル群を個別に射影するための基底を求めたい。

基準: 射影後のサンプル群の正規化相関が最大になる基底

※ 簡単のため平均0を仮定します。

Cf. @_akisato “正準相関分析” http://www.slideshare.net/akisatokimura/090608-cca

Page 24: 関東CV勉強会 Kernel PCA (2011.2.19)

Topic Lecture 2009.6.8Page 24

CCAの定式化 1

各変換を以下のようにして正規化

正規化の意味: 変換先の変量を標準正規化する

Lagrange未定定数法を用いて、問題を書き直す。

各変換で微分すると・・・

Page 25: 関東CV勉強会 Kernel PCA (2011.2.19)

Topic Lecture 2009.6.8Page 25

共分散行列が正則であるとすると、下記の一般化固有値問題に変形可能

共分散行列のCholesky分解を用いることで、通常の固有値問題に変形可能

CCAの定式化 2

2

1

3

4

Page 26: 関東CV勉強会 Kernel PCA (2011.2.19)

CCA まとめ

CV勉強会 2011.2.1926

ということで、PCAとほぼ同様の手順を踏めばOKです。

これを特殊化することで、以下のような問題も解けます。

Fisher 線形判別分析

線形回帰分析 (重回帰分析)

Page 27: 関東CV勉強会 Kernel PCA (2011.2.19)

Kernel CCA

CV勉強会 2011.2.1927

Kernel CCAの導出も、PCAとほぼ同様にでき…たはず。

結果的に、共分散行列をグラム行列で置換すればOK。

ただし、正則化が事実上必須。

グラム行列が非正則になりやすいため

Cf. Max Welling “Kernel canonical correlation analysis”, http://ow.ly/3ZtZ3

Page 28: 関東CV勉強会 Kernel PCA (2011.2.19)

5.3 Manifold learning

(ごめんなさい、今回パスさせて下さい。。。)

Page 29: 関東CV勉強会 Kernel PCA (2011.2.19)

おしまい

CV勉強会 2011.2.1929