27
カーネル法の実際 自然言語処理学講座 M2: 吉田康久 1 Monday, July 4, 2011

Kernel20110619

Embed Size (px)

Citation preview

Page 1: Kernel20110619

カーネル法の実際自然言語処理学講座

M2: 吉田康久

1Monday, July 4, 2011

Page 2: Kernel20110619

目次

• 3.1 カーネル主成分分析• 3.2 カーネル正準相関分析• 3.3 カーネルFisher判別分析

2Monday, July 4, 2011

Page 3: Kernel20110619

カーネル主成分分析

3Monday, July 4, 2011

Page 4: Kernel20110619

カーネル主成分分析の復習• 集合X上のデータX1, ..., XNに対し、X上の正定値カーネルkを用意• kの定めるRKHSをHkと置く

• 特徴写像Φ: X -> HkによりΦ(X1), ..., Φ(Xn)というHk内のデータを生成

• => カーネルPCAはHk上でΦ(X1), ..., Φ(Xn)に対しPCAを行なうもの

4Monday, July 4, 2011

Page 5: Kernel20110619

分散最大化• 元のデータの性質をなるべく保持したまま低次元へ射影したい => 分散最大化• (カーネルPCAではRKHSに飛ばしたところで、だが...)

ノルムは一定なら何でもいい

5Monday, July 4, 2011

Page 6: Kernel20110619

最適解の形

無限次元だったかもしれないものが有限次元で書けてしまう直交補空間成分が0の

ときに最適解が達成6Monday, July 4, 2011

Page 7: Kernel20110619

一般化固有値問題に帰着fを代入

内積の線形性を利用<Σi ai x, y> = Σi ai <x, y>

再生性を利用

7Monday, July 4, 2011

Page 8: Kernel20110619

拘束条件と中心化グラム行列

内積の線形性を使う

再生性を使う

8Monday, July 4, 2011

Page 9: Kernel20110619

http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf

曖昧な境界になってしまう…

9Monday, July 4, 2011

Page 10: Kernel20110619

http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf

指数関数のべき級数展開を行なって

σが大きくする→線形カーネルに近づいていく

10Monday, July 4, 2011

Page 11: Kernel20110619

http://www.ism.ac.jp/~fukumizu/papers/Kernel_rois2006.pdf11Monday, July 4, 2011

Page 12: Kernel20110619

カーネルFisher判別分析

12Monday, July 4, 2011

Page 13: Kernel20110619

Fisher線形判別分析• クラス間分散を大きく、クラス内分散を小さく• クラス内はなるべくまとまって、クラス間はなるべく離れて

分母も分子も二次形式 =>定数倍しても値はしない

=> 分母を1と仮定

一般化固有値問題になる13Monday, July 4, 2011

Page 14: Kernel20110619

カーネルFisher判別分析• X上の正定値カーネルと対応するRKHS Hおよび特徴写像Φを定める

• => Φ(X1), ..., Φ(Xn)によりHのデータを作成• パラメータベクトルwとの内積を考える代わりにHでのhとの内積を考える• =>

14Monday, July 4, 2011

Page 15: Kernel20110619

カーネルLDA• カーネルPCAと同様にJを最大化するhはサンプル(を特徴空間で飛ばしたもの)の線形和で書ける

hを線形和で書くと特徴ベクトルの内積が出てくるのでカーネルが使える!

15Monday, July 4, 2011

Page 16: Kernel20110619

カーネルLDA(続)• カーネルを使ってクラス間分散とクラス内分散の和を書くことができる((3.14)式)

• カーネルCCAと同様に不良設定性を持つので正則化して使う• 自由度が高すぎて過学習した状態になっているので、なまらせて使う

• 最終的には通常のLDAと同様に一般化固有値問題となる

αは最大固有値に対応する固有ベクトルとなる

16Monday, July 4, 2011

Page 17: Kernel20110619

カーネル正準相関分析

17Monday, July 4, 2011

Page 18: Kernel20110619

線形のCCA

• 2種類の多変量データXとYに依存関係があるか調べる方法• XとYの次元が異なっていてもよい(Xをm次元、Yをl次元とする)

• スカラーに射影したときに相関係数が最大になるようにaとbを決定• b=1と考えれば、線形回帰と同じ

18Monday, July 4, 2011

Page 19: Kernel20110619

一般化固有値問題

aとbをスカラー倍してもmaxは変わらない

19Monday, July 4, 2011

Page 20: Kernel20110619

一般化固有値問題(続)

左からaとbをかける

λa = λb = λとしてもう一回代入

20Monday, July 4, 2011

Page 21: Kernel20110619

カーネルCCA

• カーネルPCA、カーネルLDAの時と同様にRKHSに飛ばす• XとYにはそれぞれカーネルを用意• 通常のCCAではXとYはm次元、l次元の確率ベクトルとしていたが、カーネルCCAのほうでは構造化データなどでもよい• ベクトルa、bとの内積を考える代わりに、

RKHS Hにおいてf、gとの内積を考える

21Monday, July 4, 2011

Page 22: Kernel20110619

カネールCCA直交補空間を考える

22Monday, July 4, 2011

Page 23: Kernel20110619

不良設定問題• Φ(X1), ..., Φ(Xn)が線形独立ならばKXは正則 => Rank(KX) = N次元• K~X = QNKXQNの像は(N-1次元の)1Nの直交補空間を張る• Yについても同様に (N-1次元の)1Nの直交補空間を張る

• (3.10)式の探索空間は(N-1次元の)1Nの直交補空間中の任意のuとvなのでu=vとすれば正準相関が1。これでは意味がない• => 正則化

23Monday, July 4, 2011

Page 24: Kernel20110619

KXの正則性• KXは正定値行列なので、Σi, jcicjkij ≧ 0

• ⇔ Σi, jcicj <ΦX(Xi), ΦX(Xj)> ≧ 0

• ⇔ <ΣiciΦX(Xi), ΣjcjΦX(Xj)> ≧ 0

• 内積の引数が同じ(<z, z>ということ)で、それぞれは線形独立なのでΣiciΦX

(Xi) ≠ 0• ⇔ <ΣiciΦX(Xi), ΣjcjΦX(Xj)> ≠ 0なので、

det(KX) ≠ 0よりKXは正則

24Monday, July 4, 2011

Page 25: Kernel20110619

http://homepage.mac.com/davidrh/_papers/NC_Hardoon_2817_reg.pdf

画像にはガウス、テキストには線形のカーネルを使用

25Monday, July 4, 2011

Page 26: Kernel20110619

発展1

• CCA自体はXiとYiが対になっているものでないと使えない• 対になっていないものの情報もうまく使えないか(半教師あり)

• 例: テキストや画像はWebで大量に手に入る

26Monday, July 4, 2011

Page 27: Kernel20110619

発展2

• 対にして考えると面白いものは?

• 例: 対訳辞書の獲得• Aria Haghighi, Perry Liang, Taylor Berg-

Kirkpatrick and Dan Klein. Learning Bilingual Lexicons from Monolingual Corpora. ACL-2008.

• Jagadeesh Jagarlamudi, Seth Juarez, Hal Daumé III, Kernelized Sorting for Natural Language Processing, AAAI-2010.

27Monday, July 4, 2011