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

関西CVPRML勉強会 kernel PCA

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 関西CVPRML勉強会 kernel PCA

5. Kernel methods for vector data (II)5. e e et ods o ecto data ( )

Akisato Kimura (Twitter ID: @_akisato)

Page 2: 関西CVPRML勉強会 kernel PCA

初めての方もいらっしゃるので初めての方もいらっしゃるので… Social mediaでの自己紹介

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

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

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

これから?: NLP, IPSJ-SIGDIAL

CV勉強会 2011.2.192

Page 3: 関西CVPRML勉強会 kernel PCA

ContentsContents1. Kernel PCA

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

2. FDA / CCA / Subspace methods

3. Manifold learning

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

【注意】【注意】

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

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

3 CV勉強会 2011.2.19

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

Page 4: 関西CVPRML勉強会 kernel PCA

5.1 Kernel PCA5.1 Kernel PCA

Page 5: 関西CVPRML勉強会 kernel PCA

PCAって何?PCAって何?

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

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

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

CV勉強会 2011.2.195

Page 6: 関西CVPRML勉強会 kernel PCA

Kernel PCA って何?Kernel PCA って何?

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

6 CV勉強会 2011.2.19

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

Page 7: 関西CVPRML勉強会 kernel PCA

PCAの定式化 1PCAの定式化 1

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

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

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

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

CV勉強会 2011.2.197

Page 8: 関西CVPRML勉強会 kernel PCA

PCAの定式化 2PCAの定式化 2

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

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

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

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

CV勉強会 2011.2.198

Page 9: 関西CVPRML勉強会 kernel PCA

PCAにおける基底の選択PCAにおける基底の選択

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

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

寄与率・累積寄与率

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

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

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

CV勉強会 2011.2.199

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

Page 10: 関西CVPRML勉強会 kernel PCA

PCAによる次元削減PCAによる次元削減

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

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

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

CV勉強会 2011.2.1910

Page 11: 関西CVPRML勉強会 kernel PCA

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

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

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

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

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

CV勉強会 2011.2.1911

う 、 説明 す。

Page 12: 関西CVPRML勉強会 kernel PCA

Kernel PCAの定式化 1Kernel PCAの定式化 1

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

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

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

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

CV勉強会 2011.2.1912

Page 13: 関西CVPRML勉強会 kernel PCA

Kernel PCAの定式化 2Kernel PCAの定式化 2

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

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

基底での微分を取ると

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

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

CV勉強会 2011.2.1913

Page 14: 関西CVPRML勉強会 kernel PCA

Kernel PCAの定式化 3Kernel PCAの定式化 3

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

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

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

CV勉強会 2011.2.1914

Page 15: 関西CVPRML勉強会 kernel PCA

Kernel PCAの定式化 4Kernel PCAの定式化 4

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

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

CV勉強会 2011.2.1915

Page 16: 関西CVPRML勉強会 kernel PCA

Kernel PCAの定式化 5Kernel PCAの定式化 5

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

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

基底での微分を取ると、

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

CV勉強会 2011.2.1916

Page 17: 関西CVPRML勉強会 kernel PCA

Kernel PCAを行った例 1Kernel PCAを行った例 1

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

CV勉強会 2011.2.1917

Page 18: 関西CVPRML勉強会 kernel PCA

Kernel PCAを行った例 2Kernel PCAを行った例 2

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

CV勉強会 2011.2.1918

Page 19: 関西CVPRML勉強会 kernel PCA

Kernel PCAを行った例 3Kernel PCAを行った例 3

CV勉強会 2011.2.1919

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

Page 20: 関西CVPRML勉強会 kernel PCA

Kernel PCAの問題点Kernel PCAの問題点

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

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

ガウスカーネルの場合には,分散パラメータを自動的 選択する方法が く か提案され る自動的に選択する方法がいくつか提案されている.

(Mean shiftの節などを参照.)

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

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

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

CV勉強会 2011.2.1920

Page 21: 関西CVPRML勉強会 kernel PCA

5.2 FDA / CCA / Subspace methods5.2 / CC / Subspace et ods

Page 22: 関西CVPRML勉強会 kernel PCA

多変量解析の全体像多変量解析の全体像

多次元変量を2組に拡張

多次元変量の制約を排除

正準相関分析

主成分分析 判別分析

的変量 を

重回帰分析

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

CV勉強会 2011.2.1922

Page 23: 関西CVPRML勉強会 kernel PCA

正準相関分析 (CCA)正準相関分析 (CCA) 2組の多次元ベクトル群が与えられているとする。

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

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

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

CV勉強会 2011.2.1923

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

Page 24: 関西CVPRML勉強会 kernel PCA

CCAの定式化 1CCAの定式化 1

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

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

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

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

CV勉強会 2011.2.1924

Page 25: 関西CVPRML勉強会 kernel PCA

CCAの定式化 2CCAの定式化 2

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

4

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

2

11

3

CV勉強会 2011.2.1925

Page 26: 関西CVPRML勉強会 kernel PCA

CCAの特殊例CCAの特殊例

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

Fisher線形判別分析 (FDA)

CCAをマルチラベル分類と考えたときの、シングルラベル版。

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

:クラス間分散 :クラス内分散

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

通常は最小自乗法で求めるが、一般化固有値問題として解くこともできる。

CV勉強会 2011.2.1926

Cf. 木村+“拡張ペアワイズ表現を用いた一般化多変量解析” to appear in MIRU2011

Page 27: 関西CVPRML勉強会 kernel PCA

Kernel CCAKernel CCA Kernel CCAの導出もPCAとほぼ同様にできる。

PCA同様,形式的には共分散行列をグラム行列で置換.

正則化が事実上必須.

グラム行列のランクが元の次元数しかなく,解が安定しない.

Tikhonov正則化 (L2ノルム正則化)

CV勉強会 2011.2.1927

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

Tikhonov正則化 (L2ノルム正則化)

Page 28: 関西CVPRML勉強会 kernel PCA

5.3 Manifold learning5.3 Manifold learning

Page 29: 関西CVPRML勉強会 kernel PCA

多様体学習 とは何か?多様体学習,とは何か?

サンプル集合,もしくはそのサンプル間隣接行列が与えられたときに,その局所的な隣接関係に基づいてサンプルが分布する低次元部分空間を求める方法.

代表例: Swiss roll

ユ クリッド空間上では近いユークリッド空間上では近い

局所的な隣接関係を考慮すると,本当は遠い

CV勉強会 2011.2.1929

Page 30: 関西CVPRML勉強会 kernel PCA

多様体学習の重要性多様体学習の重要性

連続変化する属性を持つ対象のサンプル集合の表現

例) 3次元物体認識タスクで視点位置変動を表現したい視点位置変動を表現したい.

複数の属性を持つサンプル集合の識別学習の補助識別学習の補助

例) 顔画像から,人物・顔向き・表情それぞれを個別に識別したいそれぞれを個別に識別したい.

CV勉強会 2011.2.1930

Page 31: 関西CVPRML勉強会 kernel PCA

これってkernel PCAじゃないの?これってkernel PCAじゃないの?

原空間における非線形基底を求めているのと同じ

だが,どのようにカーネルを設計すれば所望の多様体を獲得できるのかがわからない.

(でも実際にはkernel PCAの特殊例になるんですが…)

CV勉強会 2011.2.1931

Page 32: 関西CVPRML勉強会 kernel PCA

代表的な多様体学習のための手法 (1)代表的な多様体学習のための手法 (1) Isomap [Tenenbaum+ 2000]

Isomap Homepage: http://isomap.stanford.edu

スパースな隣接行列を作る=サンプルを頂点に対応づけるサンプルを頂点に対応づける

グラフを作る

グラフ上の各頂点間の最短グラフ上の各頂点間の最短パスを見つけ,その距離を新しい隣接行列と考える.

(変換した)新しい隣接行列の固有ベクトルが,埋め込み先の基底となる

CV勉強会 2011.2.1932

基底となる.

Page 33: 関西CVPRML勉強会 kernel PCA

代表的な多様体学習のための手法 (2)代表的な多様体学習のための手法 (2) Local Linear Embedding (LLE) [Roweis+ 2000]

LLE page: http://ow.ly/4FsVz

所定数の近傍サンプルを取り出す

近傍サンプルのみから共分散行列を計算し,それに基づいて重み付け

重み行列の固有ベクトルが埋め込み先の基底となる

CV勉強会 2011.2.1933

Page 34: 関西CVPRML勉強会 kernel PCA

実は全部kernel PCAと見なせます実は全部kernel PCAと見なせます

が,それは文献 [27] を見て下さい. (実は間に合わなかっただけ)

CV勉強会 2011.2.1934

Page 35: 関西CVPRML勉強会 kernel PCA

おしまいおしまい

CV勉強会 2011.2.1935