102
Visualizing Data Using t-SNE 名古屋大学 情報科学研究科 武田研究室 林 知樹

Visualizing Data Using t-SNE

Embed Size (px)

Citation preview

Visualizing Data Using t-SNE

名古屋大学情報科学研究科

武田研究室林知樹

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

22015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

32015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Introduction高次元データの可視化は様々な分野で重要な課題

様々な次元数を取り扱う

例:乳がんに関連する細胞核の種類 → 30 種類

例:文書を表現する単語ベクトル → 数千次元

これまで様々な手法が研究されてきた

図像ベースの手法

Chernoff faces [Chernoff, 1973]

Pixel based technique [Keim, 2000]

次元削減手法

Principal Component Analysis [Hotteling, 1993]

Multi Dimensional Scaling [Torgerson, 1952]

42015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Introduction Chernoff Face [Chernoff, 1973]

多次元データを人間の顔で表示する

15種類の顔のパラメータを持つ

52015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Chernoff faceの例

Introduction Pixel-based technique [Keim, 2000]

高次元データを色やエッジで表現する(?)

62015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

20年間の日記を可視化した結果

Introduction高次元データの可視化は様々な分野で重要な課題

様々な次元数を取り扱う

例:乳がんに関連する細胞核の種類 → 30 種類

例:文書を表現する単語ベクトル → 数千次元

本論文の目的

高次元データ𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑛}を図示可能な低次元データ𝑌 = 𝑦1, 𝑦2, … , 𝑦𝑛 に変換

データのLocalな構造だけでなく多様体のようなGlobalな構造を保ったまま可視化

72015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Introduction多様体 (manifold) とは

高次元空間中に存在する実質的にはより低次元で表現できるような図形

82015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

多様体の例:スイスロール

Introduction Globalな構造とLocalな構造を両方保つとは?

92015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

例:手書き数字文字の可視化

Introduction Globalな構造とLocalな構造を両方保つとは?

102015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

例:手書き数字文字の可視化

クラスタが生成されているだけでなく9と7の判別がつきにくいものがきちんと近傍に位置している

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

112015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

SNE – (1)Stochastic Neighbor Embedding (SNE)

高次元空間上のユークリッド距離をデータ点の類似度を表現する条件付き確率に変換する手法

𝑥𝑗の𝑥𝑖に対する類似度を表す条件付き確率

𝑥𝑖を中心とするガウス分布の密度に比例して近傍が選択されてほしい

条件付き確率が高い → データ点が近い

条件付き確率が低い → データ点が遠い

122015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

𝑥𝑖 𝑥𝑗

類似度高い

𝑥𝑘

類似度低い

𝑥𝑖を中心とするガウス分布

SNE – (2)Stochastic Neighbor Embedding (SNE)

高次元空間上のユークリッド距離をデータ点の類似度を表現する条件付き確率に変換する手法

データ点𝑥𝑖に対するデータ点𝑥𝑗の条件付き確率は

条件付き確率:𝑥𝑖に対する𝑥𝑗の類似度を表現

二点間の類似度のモデル化のみに着目 → 𝑝𝑖|𝑖 = 0

132015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)1()2/exp(

)2/exp(

22

22

|

ik iki

iji

ij

xx

xxp

𝑥𝑖:高次元データ点𝑥𝑗:高次元データ点

𝜎𝑖: 𝑥𝑖を中心としたガウス分布の分散

SNE – (3)高次元データ点に対応する低次元データ点を定義

マップ点の条件付き確率

二点間の類似度のモデル化のみに着目 → 𝑞𝑖|𝑖 = 0

マップ点が正しくモデル化されたならば 𝑝𝑗|𝑖 = 𝑞𝑗|𝑖

142015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)2()2

1(

)exp(

)exp(

2

2

|

ik ki

ji

ij

yy

yyq

ji xx , ji yy ,高次元空間表現 低次元空間表現(マップ点表現)

𝑝𝑗|𝑖と𝑞𝑗|𝑖の間のKL距離を最小化するような

マップ点の探索

SNE – (4)勾配法を用いてKL距離の最小化を行う

すべてのデータ点に対するKL距離の和

KL距離は非対称

マップ上での距離は等しく重み付けられてはいない

マップ上で遠い点を近いデータ点に対応 → コスト大

マップ上で近い点を遠いデータ点に対応 → コスト小

152015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)3(log)|(|

|

| i j ij

ij

ij

i

iiq

ppQPKLC

𝑃𝑖:データ点𝑥𝑖に対するすべてのデータ点の条件付き確率分布𝑄𝑖:マップ点𝑦𝑖に対するすべてのマップ点の条件付き確率分布

マップ上で局所的な構造を保てる

SNE – (5)データ点𝑥𝑖に対するガウス分布の分散の選択

単一の分散をすべてのデータ点に与える → 不適切

密度の濃い領域のデータ点 → 分散小

密度の薄い領域のデータ点 → 分散大

Perplexity尺度による二値探索の導入

Perplexityを定義

𝑃𝑒𝑟𝑝:データ点𝑥𝑖の有効な近傍の数の尺度

指定された𝑃𝑒𝑟𝑝を持つように𝜎𝑖を設定

一般的には5~50の間を𝑃𝑒𝑟𝑝として設定

※ 𝜎𝑖に対して𝑃𝑒𝑟𝑝は単調増加

162015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)4(2)()( iPH

iPPerp ))5(log)(( |2|j

ijiji ppPH

SNE – (6)各マップ点の勾配は驚くことに非常にシンプル

物理的な勾配の解釈

マップ点𝑦𝑖と他のマップ点𝑦𝑗間のバネによる合成力

バネは 𝑦𝑖 − 𝑦𝑗 の向きに作用

マップ点が非常に近い → バネは反発する

マップ点が非常に遠い → バネは引き合う

バネの力は硬さと長さに比例する

172015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

j

jijijiijij

i

yyqpqpy

C)6())((2 ||||

)( |||| jijiijij qpqp )( ji yy

データ点の類似度とマップ点の類似度の不整合

マップ上での距離

SNE – (7)勾配法による更新

1. 平均0で分散が小さい等方性のガウス分布からランダムに初期マップ点をサンプリング

2. 局所解に陥らないようモーメンタムを導入し更新

学習初期段階では更新後にガウス性ノイズを付加

徐々にノイズの分散を小さくする

182015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)7()( )2()1()1()( tttt YYtY

CYY

𝑌(𝑡) ∶時刻𝑡におけるマップ点𝜂 ∶学習率𝛼 𝑡 ∶時刻𝑡におけるモーメンタム

局所解から脱出するのを手助けする

SNE – (8)SNEの弱点

ノイズの初期値と減衰率の設定が非常にシビア

上記のパラメータが学習率やモーメンタムとも関係

パラメータの探索に非常に時間を要する

収束が確約された他の手法の方が使いやすい

計算時間の削減されたパラメータの探索無しに良い結果が得られる最適化手法が必要

192015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-Distributed Stochastic

Neighbor Embedding

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

202015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNE SNE:非常に合理的な可視化を実現

コスト関数の最適化が困難

Crowding問題(後述)により扱いが困難

t-SNE:これらの問題を軽減した改良版SNE

改善点

SNEのコスト関数を対称的なバージョンを利用

勾配がよりシンプルに

低次元空間(マップ)上での二点間の類似度の計算をガウス分布ではなくStudent-t分布基準に

Crowding問題と最適化困難性を軽減

212015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Symmetric SNE – (1) SNE:条件付き確率分布 𝑝𝑗|𝑖と𝑞𝑗|𝑖のKL距離を最小化

代替案:同時確率分布 𝑝𝑗𝑖と𝑞𝑗𝑖のKL距離の最小化

コスト関数は

条件付き確率分布の場合と同様に 𝑝𝑖𝑗= 𝑞𝑖𝑗= 0

この場合を Symmetric SNE と呼ぶ

分布が任意の 𝑖 と 𝑗に対して対称 ( 𝑝𝑖𝑗= 𝑝𝑗𝑖 , 𝑞𝑖𝑗 = 𝑞𝑗𝑖)

222015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)8(log)|( i j ij

ij

ij

i q

ppQPKLC

Symmetric SNE – (2) Symmetric SNEのマップ点の類似度

Symmetric SNEのデータ点の類似度

が,データ点𝑥𝑖が外れ値の時に問題が発生

(すべてのデータ点に対して 𝑥𝑖 − 𝑥𝑗2が大きいとき)

232015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)10()2/exp(

)2/exp(

22

22

lk lk

ji

ij

xx

xxp

)9()exp(

)exp(

2

2

lk lk

ji

ij

yy

yyq

Symmetric SNE – (3) 外れ値による悪影響

1. データ点𝑥𝑖が外れ値の時 → 𝑥𝑖 − 𝑥𝑗2が大きい

2. 同時確率𝑝𝑖𝑗が非常に小さくなる

3. マップ点𝑦𝑖のコスト関数への影響力が小さくなる

4. マップ点の位置がうまく定まらなくなる

これを防ぐためデータ点の類似度の形を変更

これによりすべてのデータ点がコスト関数に貢献!

Symmetric SNEの勾配はよりシンプル

242015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

n

ppp

jiij

ij2

|| ( 𝑛はデータ点の総数)

j

jiijij

i

yyqpy

C)11())((4

Crowding problem – (1) 本質的に10次元を持った高次元空間上の多様体

手書き数字文字データセットを想像すると良い

10次元多様体上での距離を正確モデル化できない

例:10次元多様体上で相互に等間隔な11個のデータ点

二次元空間上への正確なマッピングは不可能

次元数+1までの個数しか等間隔に配置できない

252015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

二次元空間上で4個を等間隔二次元空間上で3個を等間隔

???

Crowding problem – (2)データ点が𝑥𝑖の周りに一様に分布

二次元空間上のスペースを考える

𝑥𝑖から適度に離れた点用のスペース : 狭い

𝑥𝑖の近くに位置する点用のスペース : 広い

→ 次元が増えるほど等間隔に位置する点は増加

→ 小さな距離を正確に表現すると適度に離れた点は非常に遠くに配置される

SNEでは非常に離れた点にはわずかな引力のみ

しかし,中心には非常に多くの引力が集まってしまい,潜在的なクラスタを形成するのを妨げてしまう

Crowding problem

262015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Crowding problem – (3)UNI-SNE [Cook et al., 2007]

小さな混同比 𝜌を持った一様背景分布モデルの導入

すべてのバネに微小な斥力を付加

SNEよりも優れた性能を示すが,最適化が困難

UNI-SNEの最適化

1. 通常のSNEで最適化

2. 混合比をわずかに増加させて最適化

3. クラスタを形成するためのギャップが生成がされる

2つのクラスタが最適化初期で分離された場合それらを再び引き寄せるための力がなくなる

272015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNE – (1)裾の広がりの異なる分布の利用

高次元空間:ガウス分布で類似度へ変換

低次元空間:自由度1のt-分布で類似度へ変換

→ 適度に離れた点をマップ上でより遠くに配置可能

→ データ点と似ていない点との間の引力を削除可能

282015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ガウス分布と自由度1のt分布の比較

より遠くへ配置される

より近くへ配置される

t-SNE – (2)自由度1のt分布を利用したマップ点の同時確率

自由度1のt分布を利用する理由

1 + 𝑦𝑖 − 𝑦𝑗2 −1

から,マップ上での大きな距離

𝑦𝑖 − 𝑦𝑗 に対して逆二乗則が成立

遠く離れた点によるマップのスケールの変化に対して不変

クラスタの集合に対しても同様のことが起きる

t分布は実は様々な分散の無限混合ガウス分布に等しい

表現力が高い上に計算コストも低い

292015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)12(1

1

12

12

lk

lk

ji

ij

yy

yyq

t-SNE – (3)データ点の類似度とマップ点の類似度

この場合の勾配は

302015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

n

ppp

jiij

ij2

||

lk

lk

ji

ij

yy

yyq

12

12

1

1

j

jijiijij

i

yyyyqpy

C)13()1)()((4 1

2

勾配の導出 – (1)高次元空間上での対称条件付き確率

マップ上での同時確率

KL距離に基づくコスト関数は

計算の簡単化のため2つの補助変数を導入

𝑦𝑖が変化したとき変化するのは𝑑𝑖𝑗 , 𝑑𝑗𝑖のみ

312015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

n

ppp

jiij

ij2

||

lk

lk

ji

ij

yy

yyq

12

12

1

1

i

ijijij

j

ij

i j ij

ij

ij

i

qpppq

ppQPKLC logloglog)|(

jiij yyd

lk

kldZ 12 )1(

j

ji

ijj

ji

jiiji

yyd

Cyy

d

C

d

C

y

C)(2)(

j

jijiijij

i

yyyyqpy

C 12

)1)()((4

勾配の導出 – (2) コスト関数は

322015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

i

ijijij

j

ij qpppC loglog

12

1212

1222

22

12

)1)((2

)1()1(2)1(2

)0))1((

()1(

2)1(2

1))1((1

)log(log

)(log

)(log

ijijij

lk

klijijijij

lk ij

klij

klij

ij

ij

lk ijij

kl

kl

kl

lk ij

klkl

lk ij

klkl

i j ij

ij

ij

ij

dqp

pdqdp

d

djlikwhen

Z

dpd

Zq

p

d

Z

Zd

d

Zqp

d

ZZqp

d

qp

d

qp

d

C

t-SNEの利点 – (1)

332015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

1. 似てない点をマップ上において近い距離でモデル化した場合きちんと斥力が働く

SNEは斥力がない

UNI-SNEは引力に比べて斥力が弱い

UNI-SNEはマップ上の距離が大きい時しか斥力が大きくならない

t-SNEの利点 – (2)

342015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

2. 斥力が大きくなり過ぎない

UNI-SNEは斥力が低次元空間上での距離に比例

データ点が互いに非常に遠く離れていってしまう

t-SNEの利点 – (3)t-SNEの特徴まとめ

1. データ点間の距離が大きいものを似ていない点としてモデル化

2. データ点間の距離が小さいものを似ていない点としてモデル化

3. コスト関数の最適化が容易(事前のパラメータ探索が不要)

352015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNEの更新アルゴリズム – (1)

362015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

最も単純なアルゴリズム

これだけでも他の手法よりも優れた結果を示す

t-SNEの更新アルゴリズム – (2)学習をより効果的にするための2つのテクニック

1. Early Compression

最適化開始時にマップ上の点を密集するようにする

コスト関数にL2ノルム正則化項を追加

クラスタが綺麗に分かれるのを手助けできる

2. Early exaggeration

最適化開始時に𝑝𝑖𝑗に適当な数字(4)とかをかける

𝑞𝑖𝑗は非常に小さいので𝑝𝑖𝑗に対応するため大きく動く

結果としてマップ点が広くバラけるのを促進

クラスタがGlobalな構造を見つけやすくできる

学習効率を上げるためにどちらかを利用可能

372015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNEの更新アルゴリズム実際の本誌で扱われたパラメータ

Early exaggeration: 4を最初の50回

イテレーション: 1000回

モーメンタム: 0.5 (𝑡 ≤ 250) 0.8 (𝑡 > 250)

学習率:100+Adaptive learning rateによる最適化

Perplexity: 40

382015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

392015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Experiments – (1)以下の7つの手法と比較

1. Sammon Mapping

2. Isomap

3. Locally Linear Embedding (LLE)

4. Curvilinear Components Analysis (CCA)

5. SNE

6. Maximum Variance Unfolding (MVU)

7. Laplacian Eigenmaps

本誌では上の3つのみに注目

402015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Sammon Mapping Sammon Mapping

高次元空間上での距離と射影された二次元空間上の距離をできるだけ近づけるような次元削減手法

誤差関数を次のように定義

勾配法で更新を行う

412015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ij ij

ijij

ij

ij d

dd

dE

*

2*

*

1 𝑑𝑖𝑗∗ :高次元空間上での距離

𝑑𝑖𝑗:低次元空間上での距離

Y

EYY tt

)1()(

𝑌(𝑡) ∶時刻𝑡におけるマップ点𝜂 ∶学習率

誤差関数が変化しただけ

Isomap – (1)Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

測地線距離とは

すごく単純に言うと多様体に沿った面における距離

422015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

参考:http://www.slideshare.net/kohta/risomap二次元多様体スイスロール

スイスロールを伸ばす

測地線距離

Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

𝒌-近傍グラフとは

ノードとそのノードの𝑘個の近傍ノードを直線距離に基づく有向リンクで結んだもの

Isomap – (2)

432015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

𝑘 = 3のときの近傍グラフの例

参考:http://www.slideshare.net/kohta/risomap

Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

どうやって測地線距離を測る?

多様体上でも近くの点同士はユークリッド距離関係に

𝑘-近傍グラフを作成することで測地線距離を近くの点のユークリッド距離の足しあわせで近似

Isomap – (3)

442015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap

多様体の面を𝑘-近傍グラフで近似 直線距離の足し合わせで近似

Isomap

k-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

多次元尺度構成法(MDS)とは

距離データのみが与えられたときにその距離を再現するような座標系を逆算する手法

Isomap – (4)

452015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap

データ点取得

近傍グラフ作成

測地線距離計算

多次元尺度構成法

による座標取得

散布図上に可視化

Locally Linear EmbeddingLocally Linear Embedding (局所線形埋め込み法)

多様体は狭い範囲で見れば線形空間とみなせる

狭い範囲で構築した線形モデルを滑らかに繋げば多様体がうまく表現できる

各データ点𝑥𝑖をその近傍の点の線形結合で表現

以下を最小化するようなパラメータ𝑊を求める

パラメータ𝑊を固定したまま低次元座標を求める

以下を最小化するような座標𝑌を求める

462015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

2

)(

minarg

iNj

jijiW

xwx𝑁 𝑖 : 𝑥𝑖の近傍集合制約条件 ∶ 𝑗𝑤𝑖𝑗 = 1

2

)(

minarg

iNj

jijiY

ywy 𝑦𝑖: 低次元空間表現

Experiments – (2)利用するデータセット

1. MNIST dataset (手書き数字文字)

28 × 28 = 784 (pixel)の0~9までの手書き数字

60000個データからランダムに6000個サンプリング

2. Olivetti faces dataset

40人の顔画像が一人につき10枚 (400枚)

92 × 112 = 10,304 (pixel)

3. COIL-20 dataset

20種類の物体の72方向から撮影された画像 (1440枚)

32 × 32 = 1024 (pixel)

472015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

MNIST dataset

482015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Olivetti faces dataset

492015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

COIL-20 dataset

502015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Experiments – (3)実験の流れ

1. PCAにより30次元に次元圧縮

各データ点間の距離計算時間の短縮

ノイズの抑圧

2. 各種法により2次元に次元圧縮

3. 散布図をプロット

各データセットはラベルを持っているが次元圧縮には一切利用しない

散布図の色付けと記号選択にのみ利用

512015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Experiments – (4)実験に用いたパラメータ

Sammon Mapping

Newton法による最適化 500 Iteration

Isomap & LLE

近傍グラフ上で最も接続数の多いデータ点群のみを可視化

522015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

MNIST dataset – (1)

532015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

MNIST dataset – (2)

542015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Olivetti faces dataset – (1)

552015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

Olivetti faces dataset – (2)

562015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

同じクラスの画像が2つのクラスタに分離

COIL-20 dataset – (1)

572015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

COIL-20 dataset – (2)

582015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

前方からと後方からのイメージがほとんど一緒

ソーセージ部分

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

592015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

大規模データセットへの適用 – (1)大規模データセットに手法を適用することは困難

計算の複雑さ・メモリ容量の問題

t-SNEの場合10000点を超えると厳しい

解決策は?

データセットの中からランダムにデータをサンプリング

サンプリングされたデータを用いて可視化を行う

が,裏に潜んだ多様体に関する情報を見失う可能性

602015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

サンプリングして利用することの問題点 (1)

612015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

データ空間

A

B

C

ランダムにサンプリングされたほぼ等距離の3点

一見AとBの類似度とAとCの類似度は同じ

サンプリングして利用することの問題点 (2)

622015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

データ空間

A

B

C

データ点全体を考えてみる

AとBの類似度の方がAとCの類似度よりも高そう!

ランダムウォークによる類似度計算 – (1)

ランダムウォークによる類似度𝒑𝒋|𝒊の計算

ランドマーク点から出発して別のランドマーク点に辿り着いたら即終了するランダムウォークを考える

1. 考慮する近傍数𝑘を選択

2. 𝑘-近傍グラフを作成

3. 各エッジに𝑒− 𝑥𝑖−𝑥𝑗2

に比例する選択確率を付与

4. ランダムにLandmark点(可視化する点)を選択

5. あるLandmark点𝑥𝑖から別のLandmark点𝑥𝑗へ辿り着くパスをすべて探索

6. あるLandmark点𝑥𝑖から別のLandmark点𝑥𝑗へ辿り着く割合を類似度𝑝𝑗|𝑖とする

632015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ランダムウォークによる類似度計算 – (2)

𝒌-近傍グラフ

ノードとそのノードの𝑘個の近傍ノードを有向リンクで結んだもの

642015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

𝑘 = 3のときの近傍グラフの例

ランダムウォークによる類似度計算 – (3)

最短パスではなく全体のパスを統合して用いる理由

“Short-circuit”問題の回避 [Lafon and Lee, 2006]

“Short-circuit”問題

データ空間中の2つの領域の間のノイズ点によって橋が形成されてしまうこと

652015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ノイズ点

本来のあるべき姿 ノイズ点によって橋が形成

解析的解法 – (1)類似度計算のもう一つの方法 [Grady, 2006]

Kakutani, 1945; Doyle and Shel, 1984 曰く

ランドマーク点でない点から初期化されたランダムウォークが特定のランドマーク点に最初にたどり着く確率

あるランドマーク点が1に固定され,別のランドマーク点を0とした場合の,あるランドマーク点の位置を境界条件とした組み合わせディリクレ問題の解

両者は等しくなる(そうです)

662015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

解析的解法 – (2)ランダムウォークが隣接行列𝐖で表現されるとき

隣接行列W とは

ノード間の接続の有無を0か1で表現した行列

672015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

nnn

n

ww

ww

1

111

W

1

2

3

4

5

00010

00110

01001

11001

00110

解析的解法 – (2)ランダムウォークが隣接行列𝐖で表現されるとき

次数行列D とは

ノード間の接続数が対角要素に入った行列

682015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

nnn

n

ww

ww

1

111

W

10000

02000

00200

00030

00002

1

2

3

4

5

解析的解法 – (2)ランダムウォークが隣接行列𝐖で表現されるとき

グラフラプラシアンL とは

隣接行列と次数行列から 𝐋 = 𝐃 −𝐖

692015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

nnn

n

ww

ww

1

111

W

10010

02110

01201

11031

00112

1

2

3

4

5

解析的解法 – (2)ランダムウォークが隣接行列𝐖で表現されるとき

グラフラプラシアンL とは

隣接行列と次数行列から 𝐋 = 𝐃 −𝐖

702015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

nnn

n

ww

ww

1

111

W

10010

02110

01201

11031

00112

1

2

3

4

5

解析的解法 – (3) 求める解は組み合わせディリクレ積分公式の最小化

一般性を失うことなくランドマーク点が先頭に来るように入れ替えを行える

𝑥𝑁に関して微分し臨界点を求めることは線形システムを解くことと等価

712015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)32(2

1][ TLxxxD

)34(22

1

)33(2

1][ TT

NN

T

NM

TT

NLL

T

L

N

L

N

T

L

NLN

xLxxBxxLx

x

x

LB

BLxxxD

)35(TBxL NN

解析的解法 – (4) 得られた特性方程式

𝐵𝑇:グラフラプラシアン𝐿のランドマーク点に対応する行成分を含んだ行列

線形システム (35)は以下の場合のみ非特異解

グラフが完全に結合

相互に結合している要素が少なくとも1つランドマーク点を含んでいる

得られた解を正規化した行ベクトル𝑋𝑁 ランドマークでない点から開始したランダムウォークがランドマーク点を終点とする確率に対応

我々が本当に知りたいもの

ランドマーク点から開始したランダムウォークが別のランドマーク点を終点とする確率に対応

722015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)35(TBxL NN

解析的解法 – (5)ランドマーク点を複製することで解決!

1. ランドマーク点を複製

2. 複製したランドマーク点からランダムウォークを開始

𝑋𝑁全体をメモリ内に保持しておくことは困難

欲しいのは複製したランドマーク点の部分

線形システムを一つ一つ順番に解く

欲しい部分のみをメモリ内に保持

実際に求める場合はコレスキー分解を利用

これを解くことで求める確率が得られる!

732015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

T

T

CCL

BxL

N

NN

yCx

BCy

N

T

大規模データセットへの適用 – (2)どちらの手法を利用すべきか

1. ランダムウォークによる類似度計算

2. 解析的解法による類似度計算

予備実験で両者の性能を比較 → 有意な差は無し

計算コストの優位性からランダムウォークを採用

ただし非常に大規模なデータセットの場合

ランドマーク点が非常にスパースになってしまう

このような場合はおそらく解析的解法の方が適切

742015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

MNIST dataset の可視化結果 – (1)

752015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)

MNIST dataset の可視化結果 – (1)

762015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

クラスタが生成されているだけでなく9と7の判別がつきにくいものがきちんと近傍に位置している

ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)

MNIST dataset の可視化結果 – (2)

772015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

次元削減された結果を用いてKNNで10交差検証

計算時間: CPUを用いた演算で1時間のみ

ランダムウォークの妥当性の証明

次元削減無し (784次元) 5.75 %

T-SNEによる次元削減 (2次元) 5.13 %

高次元空間上での構造が低次元空間上でもきちんと保たれている!

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

782015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

前回のろんぶんしょうかい!

792015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNEの特徴まとめ

1. データ点間の距離が大きいものを似ていない点としてモデル化

2. データ点間の距離が小さいものを似ていない点としてモデル化

3. コスト関数の最適化が容易(事前のパラメータ探索が不要)

データのLocalな構造とGlobalな構造を保持

が,10000点以上の大規模データセットへは適用困難

大規模データセットへの適用のための2つの手法

1. ランダムウォークによる類似度計算

2. 解析的解法による類似度計算

上記の手法により大規模データセットにも適用可能!

MNIST dataset の可視化結果 – (1)

802015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)

MNIST dataset の可視化結果 – (1)

812015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

クラスタが生成されているだけでなく9と7の判別がつきにくいものがきちんと近傍に位置している

ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)

Sammon Mapping Sammon Mapping

高次元空間上での距離と射影された二次元空間上の距離をできるだけ近づけるような次元削減手法

誤差関数を次のように定義

勾配法で更新を行う

822015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ij ij

ijij

ij

ij d

dd

dE

*

2*

*

1 𝑑𝑖𝑗∗ :高次元空間上での距離

𝑑𝑖𝑗:低次元空間上での距離

Y

EYY tt

)1()(

𝑌(𝑡) ∶時刻𝑡におけるマップ点𝜂 ∶学習率

誤差関数が変化しただけ

Isomap – (1)Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

測地線距離とは

すごく単純に言うと多様体に沿った面における距離

832015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

参考:http://www.slideshare.net/kohta/risomap二次元多様体スイスロール

スイスロールを伸ばす

測地線距離

Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

𝒌-近傍グラフとは

ノードとそのノードの𝑘個の近傍ノードを直線距離に基づく有向リンクで結んだもの

Isomap – (2)

842015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

𝑘 = 3のときの近傍グラフの例

参考:http://www.slideshare.net/kohta/risomap

Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

どうやって測地線距離を測る?

多様体上でも近くの点同士はユークリッド距離関係に

𝑘-近傍グラフを作成することで測地線距離を近くの点のユークリッド距離の足しあわせで近似

Isomap – (3)

852015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap

多様体の面を𝑘-近傍グラフで近似 直線距離の足し合わせで近似

Isomap

k-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

多次元尺度構成法(MDS)とは

距離データのみが与えられたときにその距離を再現するような座標系を逆算する手法

Isomap – (4)

862015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap

データ点取得

近傍グラフ作成

測地線距離計算

多次元尺度構成法

による座標取得

散布図上に可視化

Locally Linear EmbeddingLocally Linear Embedding (局所線形埋め込み法)

多様体は狭い範囲で見れば線形空間とみなせる

狭い範囲で構築した線形モデルを滑らかに繋げば多様体がうまく表現できる

各データ点𝑥𝑖をその近傍の点の線形結合で表現

以下を最小化するようなパラメータ𝑊を求める

パラメータ𝑊を固定したまま低次元座標を求める

以下を最小化するような座標𝑌を求める

872015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

2

)(

minarg

iNj

jijiW

xwx𝑁 𝑖 : 𝑥𝑖の近傍集合制約条件 ∶ 𝑗𝑤𝑖𝑗 = 1

2

)(

minarg

iNj

jijiY

ywy 𝑦𝑖: 低次元空間表現

他のノンパラ手法との比較 – (1)Classical scaling [Torgerson, 1952]

高次元空間上での距離と低次元空間上での距離の間の二乗和誤差を最小化するような線形変換

目的関数

Classical scalingの問題点

線形変換ではカーブした多様体をモデル化できない

近くのデータ点よりも遠くのデータ点の距離を保持することに注目している

この問題を解決しようとした手法がSammon mapping

882015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ij

ijij ddE2*

𝑑𝑖𝑗∗ :高次元空間上での距離

𝑑𝑖𝑗:低次元空間上での距離

他のノンパラ手法との比較 – (2) Sammon Mapping

高次元空間上での距離と射影された二次元空間上の距離をできるだけ近づけるような次元削減手法

目的関数

Sammon mappingの問題点

マップ上で保持している二点間の距離が二点間の距離の中の小さな違いに大きく依存

物凄く高次元中で近接した2点の距離の小さな誤差が目的関数に大きく影響を与えてしまう

892015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ij ij

ijij

ij

ij d

dd

dE

*

2*

*

1 𝑑𝑖𝑗∗ :高次元空間上での距離

𝑑𝑖𝑗:低次元空間上での距離

微分の際の計算を容易にするための定数

他のノンパラ手法との比較 – (3) Sammon mappingに比べてt-SNEが優れている理由

Localな構造とGlobalな構造の間に境界を定義

近くにいる2点の距離とガウス分布の分散を関連

2点間の分離のモデル化と実際の分離の度合いが独立

データの局所的密度に応じてそれぞれの分散を定義

902015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

他のノンパラ手法との比較 – (3)Isomap

𝑘-近傍グラフを用いて多様体上の測地線距離を求め多次元尺度構成法を用いて低次元空間に射影する

Isomapの問題点

Short-curcuitの影響を非常に受けやすい

主に小さな測地線距離より大きなものに注目

912015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

他のノンパラ手法との比較 – (4)Locally Linear Embedding (局所線形埋め込み法)

多様体は狭い範囲で見れば線形空間とみなせる

狭い範囲で構築した線形モデルを滑らかに繋げば多様体がうまく表現できる

LLEの問題点

すべてのデータ点が1つ点に集中するのを防いでいる

このことが低次元空間上の共分散に制約を与える

実用上この制約は以下のように満足される

ほとんどの点をマップの中央に配置

大きな共分散を得るためいくつかの点を幅広く配置

2015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

LLEの弱点が顕著に現れた様子

932015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

ほとんどの点が中央に集中いくつかの点だけが幅広く配置

他のノンパラ手法との比較 – (5) 𝑘-近傍グラフに基づいた手法の問題点

IsomapやLLEなどの手法

2つ以上の離れた多様体からなるデータを扱えない

データが結合されたグラフとして表現されないため

Short-circuitによる影響が大きい

一方でランダムウォークVer. t-SNE は?

近傍グラフ中のすべてのパスを統合して類似度を算出

Short-circuitの影響を受けにくい

似たような手法としてDiffusion mapが存在

942015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

他のノンパラ手法との比較 – (7)Diffusion map [Lafon and Lee, 2006]

近傍グラフ上のランダムウォークに基づいたDiffusion距離と低次元空間上での距離を最小化

Diffusion距離

目的関数

952015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)15(

)(),(

)0(

)()(

)(

k k

t

jk

t

ik

ji

t

x

ppxxD

𝑝𝑖𝑘(𝑡)

∶時刻𝑡において粒子が𝑥𝑖から𝑥𝑘に移動する確率

𝜓 𝑥𝑘(0):その点の局所的な密度 SNEと同様の考え方

)16(),(2

)(

ji

jiji

t yyxxDC

𝑦𝑖:低次元空間上での座標

他のノンパラ手法との比較 – (8)Diffusion map [Lafon and Lee, 2006]

近傍グラフ上のランダムウォークに基づいたDiffusion距離と低次元空間上での距離を最小化

目的関数

Diffusion mapの問題点

Classical scalingと同様の問題

遠い距離の点を重視しすぎてしまう

データのLocalな構造の情報が失われる

962015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

)16(),(2

)(

ji

jiji

t yyxxDC

t-SNEの弱点 t-SNEは他のどの手法よりも優れた可視化を提供

しかしながら潜在的に3つの弱点が存在

1. 一般的な次元削減タスクにおける振る舞いが未知

2. データの本質的な次元数の呪いを受ける

3. 目的関数の収束を保証しない

972015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNEの弱点 – (1) 1. 一般的な次元削減タスクにおける振る舞いが未知

評価を簡単にするため可視化のみに注目

非常に優れた可視化結果を提供

次元数が3より大きい場合の挙動は未知

t-分布の裾広がりの部分が確率質量の大部分を占める

Local構造をうまく保持することが困難に

より高次元空間に圧縮する場合

t-分布の自由度を大きくする必要がある

本誌ではこの適切な自由度に関する議論は無し

982015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

t-SNEの弱点 – (2)2. データの本質的な次元の呪いを受ける

t-SNEはデータのLocal構造に基づく

次元の呪いの影響を非常に受けやすい![Bengio, 2007]

以下のような条件で可視化がイマイチに

データの本質的な次元が非常に高い (100次元ほど)

それぞれ潜んでいる多様体が大きく異なっている

多様体上での局所的線形性の仮定が崩れるため

LLEやIsomapも全く同様の問題を持つ

より複雑なデータを可視化したい場合

Auto-encoder [Hinton et al., 2006] を利用

層構造で複雑な非線形関数を表現可能

992015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

そのような構造を二次元上に可視化することはそもそも不可能であるということを念頭を置くべき

t-SNEの弱点 – (3)3. 目的関数の収束が保証されていない

ほとんどの主要な次元削減手法 → 目的関数が凸状

が,t-SNEは目的関数の凸性が保証されていない

可視化結果がいくつかのパラメータに依存

しかしながら

パラメータをランダムに変更

可視化結果自体はそれほど変化しない

t-SNEの利用を拒む理由にはなり得ない!

他の手法も計算量の問題から結局似たような問題に

LLEやLaplacian eigenmapも逐次最適化手法

• Iterative Arnoldi [Arnoldi,1951]• Jacobi-Davidson [Fokkema et al., 1999]

1002015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

目次1. Introduction

2. Stochastic Neighbor Embedding

3. t-Stochastic Neighbor Embedding

4. Experiments

5. Applying t-SNE to large dataset

6. Discussion

7. Conclusion

1012015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -

まとめと今後の課題まとめ

t-SNEと呼ばれる可視化手法を提案

Local構造とクラスタのようなGlobalな構造を共に保持

ランダムウォークを利用することで非常に大きなデータセット(10000点以上)にも対応可能

今後の課題

t-分布の自由度の最適化の調査

低次元マップ点によって高次元データ点をモデル化する手法への拡張

明確な低次元空間へのマッピングを行うためのNNの学習のために,ホールドアウト検証用のテストデータの生成を可能にするパラメトリックVer.の開発

1022015/07/23 武田研究室論文紹介 - Visualizing Data Using t-SNE -