Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visualizing Data Using t-SNE

13,082 views

Published on

研究室での論文紹介スライド.
Laurens van der Maaten, Geoffrey Hinton, ”Visualizing Data
using t-SNE”, Journal of Machine Learning Research (2008)
pp.1-48

Published in: Education
  • Be the first to comment

Visualizing Data Using t-SNE

  1. 1. Visualizing Data Using t-SNE 名古屋大学 情報科学研究科 武田研究室 林 知樹
  2. 2. 目次 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 -
  3. 3. 目次 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 -
  4. 4. 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 -
  5. 5. Introduction  Chernoff Face [Chernoff, 1973]  多次元データを人間の顔で表示する  15種類の顔のパラメータを持つ 52015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - Chernoff faceの例
  6. 6. Introduction  Pixel-based technique [Keim, 2000]  高次元データを色やエッジで表現する(?) 62015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 20年間の日記を可視化した結果
  7. 7. Introduction  高次元データの可視化は様々な分野で重要な課題  様々な次元数を取り扱う  例:乳がんに関連する細胞核の種類 → 30 種類  例:文書を表現する単語ベクトル → 数千次元 本論文の目的  高次元データ𝑋 = {𝑥1, 𝑥2, … , 𝑥 𝑛}を図示可能な 低次元データ𝑌 = 𝑦1, 𝑦2, … , 𝑦𝑛 に変換  データのLocalな構造だけでなく 多様体のようなGlobalな構造を保ったまま可視化 72015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  8. 8. Introduction 多様体 (manifold) とは  高次元空間中に存在する実質的にはより低次元で 表現できるような図形 82015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 多様体の例:スイスロール
  9. 9. Introduction  Globalな構造とLocalな構造を両方保つとは? 92015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 例:手書き数字文字の可視化
  10. 10. Introduction  Globalな構造とLocalな構造を両方保つとは? 102015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 例:手書き数字文字の可視化 クラスタが生成されているだけでなく 9と7の判別がつきにくいものが きちんと近傍に位置している
  11. 11. 目次 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 -
  12. 12. SNE – (1) Stochastic Neighbor Embedding (SNE)  高次元空間上のユークリッド距離をデータ点の類似度 を表現する条件付き確率に変換する手法  𝑥𝑗の𝑥𝑖に対する類似度を表す条件付き確率  𝑥𝑖を中心とするガウス分布の密度に比例して近傍が 選択されてほしい  条件付き確率が高い → データ点が近い  条件付き確率が低い → データ点が遠い 122015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 𝑥𝑖 𝑥𝑗 類似度高い 𝑥 𝑘 類似度低い 𝑥𝑖を中心とするガウス分布
  13. 13. 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 xx p   𝑥𝑖: 高次元データ点 𝑥𝑗: 高次元データ点 𝜎𝑖: 𝑥𝑖を中心としたガウス分布の分散
  14. 14. SNE – (3)  高次元データ点に対応する低次元データ点を定義  マップ点の条件付き確率  二点間の類似度のモデル化のみに着目 → 𝑞𝑖|𝑖 = 0  マップ点が正しくモデル化されたならば 𝑝𝑗|𝑖 = 𝑞 𝑗|𝑖 142015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - )2() 2 1 ( )exp( )exp( 2 2 |        ik ki ji ij yy yy q ji xx , ji yy , 高次元空間表現 低次元空間表現(マップ点表現) 𝑝𝑗|𝑖と𝑞𝑗|𝑖の間のKL距離を最小化するような マップ点の探索
  15. 15. SNE – (4)  勾配法を用いてKL距離の最小化を行う  すべてのデータ点に対するKL距離の和  KL距離は非対称  マップ上での距離は等しく重み付けられてはいない  マップ上で遠い点を近いデータ点に対応 → コスト大  マップ上で近い点を遠いデータ点に対応 → コスト小 152015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - )3(log)|( | | |  i j ij ij ij i ii q p pQPKLC 𝑃𝑖: データ点𝑥𝑖に対するすべてのデータ点の条件付き確率分布 𝑄𝑖: マップ点𝑦𝑖に対するすべてのマップ点の条件付き確率分布 マップ上で局所的な構造を保てる
  16. 16. SNE – (5)  データ点𝑥𝑖に対するガウス分布の分散の選択  単一の分散をすべてのデータ点に与える → 不適切  密度の濃い領域のデータ点 → 分散小  密度の薄い領域のデータ点 → 分散大 Perplexity尺度による二値探索の導入  Perplexityを定義  𝑃𝑒𝑟𝑝:データ点𝑥𝑖の有効な近傍の数の尺度  指定された𝑃𝑒𝑟𝑝を持つように𝜎𝑖を設定  一般的には5~50の間を𝑃𝑒𝑟𝑝として設定  ※ 𝜎𝑖に対して𝑃𝑒𝑟𝑝は単調増加 162015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - )4(2)( )( iPH iPPerp  ))5(log)(( |2| j ijiji ppPH
  17. 17. SNE – (6)  各マップ点の勾配は驚くことに非常にシンプル 物理的な勾配の解釈  マップ点𝑦𝑖と他のマップ点𝑦𝑗間のバネによる合成力  バネは 𝑦𝑖 − 𝑦𝑗 の向きに作用  マップ点が非常に近い → バネは反発する  マップ点が非常に遠い → バネは引き合う  バネの力は硬さと長さに比例する 172015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -   j jijijiijij i yyqpqp y C )6())((2 ||||   )( |||| jijiijij qpqp  )( ji yy  データ点の類似度と マップ点の類似度の不整合 マップ上での距離
  18. 18. SNE – (7) 勾配法による更新 1. 平均0で分散が小さい等方性のガウス分布から ランダムに初期マップ点をサンプリング 2. 局所解に陥らないようモーメンタムを導入し更新  学習初期段階では更新後にガウス性ノイズを付加  徐々にノイズの分散を小さくする 182015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -   )7()( )2()1()1()(   tttt YYt Y C YY     𝑌(𝑡) ∶ 時刻𝑡におけるマップ点 𝜂 ∶ 学習率 𝛼 𝑡 ∶ 時刻𝑡におけるモーメンタム 局所解から脱出するのを手助けする
  19. 19. SNE – (8) SNEの弱点  ノイズの初期値と減衰率の設定が非常にシビア  上記のパラメータが学習率やモーメンタムとも関係  パラメータの探索に非常に時間を要する  収束が確約された他の手法の方が使いやすい 計算時間の削減されたパラメータの探索無しに 良い結果が得られる最適化手法が必要 192015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - t-Distributed Stochastic Neighbor Embedding
  20. 20. 目次 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 -
  21. 21. t-SNE SNE:非常に合理的な可視化を実現  コスト関数の最適化が困難  Crowding問題(後述)により扱いが困難 t-SNE:これらの問題を軽減した改良版SNE  改善点  SNEのコスト関数を対称的なバージョンを利用  勾配がよりシンプルに  低次元空間(マップ)上での二点間の類似度の計算を ガウス分布ではなくStudent-t分布基準に  Crowding問題と最適化困難性を軽減 212015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  22. 22. 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 p pQPKLC
  23. 23. 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 xx p   )9( )exp( )exp( 2 2      lk lk ji ij yy yy q
  24. 24. Symmetric SNE – (3)  外れ値による悪影響 1. データ点𝑥𝑖が外れ値の時 → 𝑥𝑖 − 𝑥𝑗 2 が大きい 2. 同時確率𝑝𝑖𝑗が非常に小さくなる 3. マップ点𝑦𝑖のコスト関数への影響力が小さくなる 4. マップ点の位置がうまく定まらなくなる  これを防ぐためデータ点の類似度の形を変更 これによりすべてのデータ点がコスト関数に貢献!  Symmetric SNEの勾配はよりシンプル 242015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - n pp p jiij ij 2 ||   ( 𝑛 はデータ点の総数)   j jiijij i yyqp y C )11())((4  
  25. 25. Crowding problem – (1)  本質的に10次元を持った高次元空間上の多様体  手書き数字文字データセットを想像すると良い  10次元多様体上での距離を正確モデル化できない  例:10次元多様体上で相互に等間隔な11個のデータ点  二次元空間上への正確なマッピングは不可能  次元数+1までの個数しか等間隔に配置できない 252015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 二次元空間上で4個を等間隔二次元空間上で3個を等間隔 ???
  26. 26. Crowding problem – (2)  データ点が𝑥𝑖の周りに一様に分布  二次元空間上のスペースを考える  𝑥𝑖から適度に離れた点用のスペース : 狭い  𝑥𝑖の近くに位置する点用のスペース : 広い → 次元が増えるほど等間隔に位置する点は増加 → 小さな距離を正確に表現すると適度に 離れた点は非常に遠くに配置される  SNEでは非常に離れた点にはわずかな引力のみ  しかし,中心には非常に多くの引力が集まってしまい, 潜在的なクラスタを形成するのを妨げてしまう Crowding problem 262015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  27. 27. 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 -
  28. 28. t-SNE – (1)  裾の広がりの異なる分布の利用  高次元空間:ガウス分布で類似度へ変換  低次元空間:自由度1のt-分布で類似度へ変換 → 適度に離れた点をマップ上でより遠くに配置可能 → データ点と似ていない点との間の引力を削除可能 282015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - ガウス分布と自由度1のt分布の比較 より遠くへ配置される より近くへ配置される
  29. 29. 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 yy q
  30. 30. t-SNE – (3)  データ点の類似度とマップ点の類似度  この場合の勾配は 302015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - n pp p jiij ij 2 ||            lk lk ji ij yy yy q 12 12 1 1    j jijiijij i yyyyqp y C )13()1)()((4 12  
  31. 31. 勾配の導出 – (1)  高次元空間上での対称条件付き確率  マップ上での同時確率  KL距離に基づくコスト関数は  計算の簡単化のため2つの補助変数を導入  𝑦𝑖が変化したとき変化するのは𝑑𝑖𝑗, 𝑑𝑗𝑖のみ 312015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - n pp p jiij ij 2 ||            lk lk ji ij yy yy q 12 12 1 1   i ijijij j ij i j ij ij ij i qppp q p pQPKLC logloglog)|( jiij yyd     lk kldZ 12 )1(            j ji ijj ji jiiji yy d C yy d C d C y C )(2)(        
  32. 32.    j jijiijij i yyyyqp y 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 kl kl lk ij kl kl i j ij ij ij ij dqp pdqdp d d jlikwhen Z d pd Zq p d Z Zd d Zq p d ZZq p d q p d q p d C                
  33. 33. t-SNEの利点 – (1) 332015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 1. 似てない点をマップ上において近い距離で モデル化した場合きちんと斥力が働く  SNEは斥力がない  UNI-SNEは引力に比べて斥力が弱い  UNI-SNEはマップ上の距離が大きい時しか斥力が 大きくならない
  34. 34. t-SNEの利点 – (2) 342015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 2. 斥力が大きくなり過ぎない  UNI-SNEは斥力が低次元空間上での距離に比例  データ点が互いに非常に遠く離れていってしまう
  35. 35. t-SNEの利点 – (3) t-SNEの特徴まとめ 1. データ点間の距離が大きいものを似ていない点としてモデル化 2. データ点間の距離が小さいものを似ていない点としてモデル化 3. コスト関数の最適化が容易(事前のパラメータ探索が不要) 352015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  36. 36. t-SNEの更新アルゴリズム – (1) 362015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -  最も単純なアルゴリズム  これだけでも他の手法よりも優れた結果を示す
  37. 37. t-SNEの更新アルゴリズム – (2) 学習をより効果的にするための2つのテクニック 1. Early Compression  最適化開始時にマップ上の点を密集するようにする  コスト関数にL2ノルム正則化項を追加  クラスタが綺麗に分かれるのを手助けできる 2. Early exaggeration  最適化開始時に𝑝𝑖𝑗に適当な数字(4)とかをかける  𝑞𝑖𝑗は非常に小さいので𝑝𝑖𝑗に対応するため大きく動く  結果としてマップ点が広くバラけるのを促進  クラスタがGlobalな構造を見つけやすくできる  学習効率を上げるためにどちらかを利用可能 372015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  38. 38. 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 -
  39. 39. 目次 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 -
  40. 40. 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 -
  41. 41. Sammon Mapping Sammon Mapping  高次元空間上での距離と射影された二次元空間上の 距離をできるだけ近づけるような次元削減手法  誤差関数を次のように定義  勾配法で更新を行う 412015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -         ij ij ijij ij ij d dd d E * 2* * 1 𝑑𝑖𝑗 ∗ : 高次元空間上での距離 𝑑𝑖𝑗: 低次元空間上での距離 Y E YY tt     )1()( 𝑌(𝑡) ∶ 時刻𝑡におけるマップ点 𝜂 ∶ 学習率 誤差関数が変化しただけ
  42. 42. Isomap – (1) Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  測地線距離とは  すごく単純に言うと多様体に沿った面における距離 422015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap二次元多様体スイスロール スイスロールを伸ばす 測地線距離
  43. 43. Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  𝒌-近傍グラフとは  ノードとそのノードの𝑘個の近傍ノードを直線距離に 基づく有向リンクで結んだもの Isomap – (2) 432015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 𝑘 = 3のときの近傍グラフの例 参考:http://www.slideshare.net/kohta/risomap
  44. 44. Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  どうやって測地線距離を測る?  多様体上でも近くの点同士はユークリッド距離関係に  𝑘-近傍グラフを作成することで測地線距離を近くの 点のユークリッド距離の足しあわせで近似 Isomap – (3) 442015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap 多様体の面を𝑘-近傍グラフで近似 直線距離の足し合わせで近似
  45. 45. Isomap  k-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  多次元尺度構成法(MDS)とは  距離データのみが与えられたときにその距離を再現 するような座標系を逆算する手法 Isomap – (4) 452015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap デ ー タ 点 取 得 近 傍 グ ラ フ 作 成 測 地 線 距 離 計 算 多 次 元 尺 度 構 成 法 に よ る 座 標 取 得 散 布 図 上 に 可 視 化
  46. 46. Locally Linear Embedding Locally Linear Embedding (局所線形埋め込み法)  多様体は狭い範囲で見れば線形空間とみなせる  狭い範囲で構築した線形モデルを滑らかに繋げば 多様体がうまく表現できる  各データ点𝑥𝑖をその近傍の点の線形結合で表現  以下を最小化するようなパラメータ𝑊を求める  パラメータ𝑊を固定したまま低次元座標を求める  以下を最小化するような座標𝑌を求める 462015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 2 )( minarg   iNj jiji W xwx 𝑁 𝑖 : 𝑥𝑖の近傍集合 制約条件 ∶ 𝑗 𝑤𝑖𝑗 = 1 2 )( minarg   iNj jiji Y ywy 𝑦𝑖: 低次元空間表現
  47. 47. 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 -
  48. 48. MNIST dataset 482015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  49. 49. Olivetti faces dataset 492015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  50. 50. COIL-20 dataset 502015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  51. 51. Experiments – (3) 実験の流れ 1. PCAにより30次元に次元圧縮  各データ点間の距離計算時間の短縮  ノイズの抑圧 2. 各種法により2次元に次元圧縮 3. 散布図をプロット  各データセットはラベルを持っているが次元圧縮には 一切利用しない  散布図の色付けと記号選択にのみ利用 512015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  52. 52. Experiments – (4)  実験に用いたパラメータ  Sammon Mapping  Newton法による最適化 500 Iteration  Isomap & LLE  近傍グラフ上で最も接続数の多いデータ点群のみを 可視化 522015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  53. 53. MNIST dataset – (1) 532015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  54. 54. MNIST dataset – (2) 542015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  55. 55. Olivetti faces dataset – (1) 552015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  56. 56. Olivetti faces dataset – (2) 562015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 同じクラスの画像が2つのクラスタに分離
  57. 57. COIL-20 dataset – (1) 572015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  58. 58. COIL-20 dataset – (2) 582015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 前方からと後方からの イメージがほとんど一緒 ソーセージ部分
  59. 59. 目次 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 -
  60. 60. 大規模データセットへの適用 – (1)  大規模データセットに手法を適用することは困難  計算の複雑さ・メモリ容量の問題  t-SNEの場合10000点を超えると厳しい  解決策は?  データセットの中からランダムにデータをサンプリング  サンプリングされたデータを用いて可視化を行う が,裏に潜んだ多様体に関する情報を見失う可能性 602015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  61. 61. サンプリングして利用することの問題点 (1) 612015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - データ空間 A B C  ランダムにサンプリングされたほぼ等距離の3点  一見AとBの類似度とAとCの類似度は同じ
  62. 62. サンプリングして利用することの問題点 (2) 622015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - データ空間 A B C  データ点全体を考えてみる  AとBの類似度の方がAとCの類似度よりも高そう!
  63. 63. ランダムウォークによる類似度計算 – (1) ランダムウォークによる類似度𝒑𝒋|𝒊の計算  ランドマーク点から出発して別のランドマーク点に 辿り着いたら即終了するランダムウォークを考える 1. 考慮する近傍数𝑘を選択 2. 𝑘-近傍グラフを作成 3. 各エッジに𝑒− 𝑥 𝑖−𝑥 𝑗 2 に比例する選択確率を付与 4. ランダムにLandmark点(可視化する点)を選択 5. あるLandmark点𝑥𝑖から別のLandmark点𝑥𝑗へ辿り 着くパスをすべて探索 6. あるLandmark点𝑥𝑖から別のLandmark点𝑥𝑗へ辿り 着く割合を類似度𝑝𝑗|𝑖とする 632015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  64. 64. ランダムウォークによる類似度計算 – (2) 𝒌-近傍グラフ  ノードとそのノードの𝑘個の近傍ノードを有向リンクで 結んだもの 642015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 𝑘 = 3のときの近傍グラフの例
  65. 65. ランダムウォークによる類似度計算 – (3)  最短パスではなく全体のパスを統合して用いる理由  “Short-circuit”問題の回避 [Lafon and Lee, 2006] “Short-circuit”問題  データ空間中の2つの領域の間のノイズ点によって 橋が形成されてしまうこと 652015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - ノイズ点 本来のあるべき姿 ノイズ点によって橋が形成
  66. 66. 解析的解法 – (1)  類似度計算のもう一つの方法 [Grady, 2006] Kakutani, 1945; Doyle and Shel, 1984 曰く  ランドマーク点でない点から初期化されたランダム ウォークが特定のランドマーク点に最初にたどり着く確率  あるランドマーク点が1に固定され,別のランドマーク点 を0とした場合の,あるランドマーク点の位置を境界条件 とした組み合わせディリクレ問題の解  両者は等しくなる(そうです) 662015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  67. 67. 解析的解法 – (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
  68. 68. 解析的解法 – (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
  69. 69. 解析的解法 – (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
  70. 70. 解析的解法 – (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
  71. 71. 解析的解法 – (3)  求める解は組み合わせディリクレ積分公式の最小化  一般性を失うことなくランドマーク点が先頭に来る ように入れ替えを行える  𝑥 𝑁に関して微分し臨界点を求めることは線形 システムを解くことと等価 712015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - )32( 2 1 ][ T LxxxD      )34(2 2 1 )33( 2 1 ][ TT NN T NM TT NLL T L N L N T L NLN xLxxBxxLx x x LB BL xxxD               )35(T BxL NN 
  72. 72. 解析的解法 – (4)  得られた特性方程式 𝐵 𝑇: グラフラプラシアン𝐿のランドマーク点に対応する 行成分を含んだ行列  線形システム (35) は以下の場合のみ非特異解  グラフが完全に結合  相互に結合している要素が少なくとも1つランドマーク 点を含んでいる  得られた解を正規化した行ベクトル𝑋 𝑁  ランドマークでない点から開始したランダムウォークが ランドマーク点を終点とする確率に対応  我々が本当に知りたいもの  ランドマーク点から開始したランダムウォークが 別のランドマーク点を終点とする確率に対応 722015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - )35(T BxL NN 
  73. 73. 解析的解法 – (5)  ランドマーク点を複製することで解決! 1. ランドマーク点を複製 2. 複製したランドマーク点からランダムウォークを開始  𝑋 𝑁全体をメモリ内に保持しておくことは困難  欲しいのは複製したランドマーク点の部分  線形システムを一つ一つ順番に解く  欲しい部分のみをメモリ内に保持  実際に求める場合はコレスキー分解を利用  これを解くことで求める確率が得られる! 732015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -      T T CCL BxL N NN      yCx BCy N T
  74. 74. 大規模データセットへの適用 – (2)  どちらの手法を利用すべきか 1. ランダムウォークによる類似度計算 2. 解析的解法による類似度計算  予備実験で両者の性能を比較 → 有意な差は無し  計算コストの優位性からランダムウォークを採用  ただし非常に大規模なデータセットの場合  ランドマーク点が非常にスパースになってしまう  このような場合はおそらく解析的解法の方が適切 742015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  75. 75. MNIST dataset の可視化結果 – (1) 752015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -  ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)
  76. 76. MNIST dataset の可視化結果 – (1) 762015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - クラスタが生成されているだけでなく 9と7の判別がつきにくいものが きちんと近傍に位置している  ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)
  77. 77. MNIST dataset の可視化結果 – (2) 772015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -  次元削減された結果を用いてKNNで10交差検証  計算時間: CPUを用いた演算で1時間のみ  ランダムウォークの妥当性の証明 次元削減無し (784次元) 5.75 % T-SNEによる次元削減 (2次元) 5.13 % 高次元空間上での構造が低次元空間上でも きちんと保たれている!
  78. 78. 目次 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 -
  79. 79. 前回のろんぶんしょうかい! 792015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - t-SNEの特徴まとめ 1. データ点間の距離が大きいものを似ていない点としてモデル化 2. データ点間の距離が小さいものを似ていない点としてモデル化 3. コスト関数の最適化が容易(事前のパラメータ探索が不要)  データのLocalな構造とGlobalな構造を保持  が,10000点以上の大規模データセットへは適用困難  大規模データセットへの適用のための2つの手法 1. ランダムウォークによる類似度計算 2. 解析的解法による類似度計算 上記の手法により大規模データセットにも適用可能!
  80. 80. MNIST dataset の可視化結果 – (1) 802015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -  ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)
  81. 81. MNIST dataset の可視化結果 – (1) 812015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - クラスタが生成されているだけでなく 9と7の判別がつきにくいものが きちんと近傍に位置している  ランドマーク点6000個 + ランダムウォーク (𝑘 = 20)
  82. 82. Sammon Mapping Sammon Mapping  高次元空間上での距離と射影された二次元空間上の 距離をできるだけ近づけるような次元削減手法  誤差関数を次のように定義  勾配法で更新を行う 822015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -         ij ij ijij ij ij d dd d E * 2* * 1 𝑑𝑖𝑗 ∗ : 高次元空間上での距離 𝑑𝑖𝑗: 低次元空間上での距離 Y E YY tt     )1()( 𝑌(𝑡) ∶ 時刻𝑡におけるマップ点 𝜂 ∶ 学習率 誤差関数が変化しただけ
  83. 83. Isomap – (1) Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  測地線距離とは  すごく単純に言うと多様体に沿った面における距離 832015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap二次元多様体スイスロール スイスロールを伸ばす 測地線距離
  84. 84. Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  𝒌-近傍グラフとは  ノードとそのノードの𝑘個の近傍ノードを直線距離に 基づく有向リンクで結んだもの Isomap – (2) 842015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 𝑘 = 3のときの近傍グラフの例 参考:http://www.slideshare.net/kohta/risomap
  85. 85. Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  どうやって測地線距離を測る?  多様体上でも近くの点同士はユークリッド距離関係に  𝑘-近傍グラフを作成することで測地線距離を近くの 点のユークリッド距離の足しあわせで近似 Isomap – (3) 852015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap 多様体の面を𝑘-近傍グラフで近似 直線距離の足し合わせで近似
  86. 86. Isomap  k-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  多次元尺度構成法(MDS)とは  距離データのみが与えられたときにその距離を再現 するような座標系を逆算する手法 Isomap – (4) 862015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 参考:http://www.slideshare.net/kohta/risomap デ ー タ 点 取 得 近 傍 グ ラ フ 作 成 測 地 線 距 離 計 算 多 次 元 尺 度 構 成 法 に よ る 座 標 取 得 散 布 図 上 に 可 視 化
  87. 87. Locally Linear Embedding Locally Linear Embedding (局所線形埋め込み法)  多様体は狭い範囲で見れば線形空間とみなせる  狭い範囲で構築した線形モデルを滑らかに繋げば 多様体がうまく表現できる  各データ点𝑥𝑖をその近傍の点の線形結合で表現  以下を最小化するようなパラメータ𝑊を求める  パラメータ𝑊を固定したまま低次元座標を求める  以下を最小化するような座標𝑌を求める 872015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - 2 )( minarg   iNj jiji W xwx 𝑁 𝑖 : 𝑥𝑖の近傍集合 制約条件 ∶ 𝑗 𝑤𝑖𝑗 = 1 2 )( minarg   iNj jiji Y ywy 𝑦𝑖: 低次元空間表現
  88. 88. 他のノンパラ手法との比較 – (1) Classical scaling [Torgerson, 1952]  高次元空間上での距離と低次元空間上での距離の 間の二乗和誤差を最小化するような線形変換  目的関数  Classical scalingの問題点  線形変換ではカーブした多様体をモデル化できない  近くのデータ点よりも遠くのデータ点の距離を保持 することに注目している この問題を解決しようとした手法がSammon mapping 882015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -    ij ijij ddE 2* 𝑑𝑖𝑗 ∗ : 高次元空間上での距離 𝑑𝑖𝑗: 低次元空間上での距離
  89. 89. 他のノンパラ手法との比較 – (2) Sammon Mapping  高次元空間上での距離と射影された二次元空間上の 距離をできるだけ近づけるような次元削減手法  目的関数  Sammon mappingの問題点  マップ上で保持している二点間の距離が 二点間の距離の中の小さな違いに大きく依存  物凄く高次元中で近接した2点の距離の小さな誤差が 目的関数に大きく影響を与えてしまう 892015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -         ij ij ijij ij ij d dd d E * 2* * 1 𝑑𝑖𝑗 ∗ : 高次元空間上での距離 𝑑𝑖𝑗: 低次元空間上での距離 微分の際の計算を 容易にするための定数
  90. 90. 他のノンパラ手法との比較 – (3)  Sammon mappingに比べてt-SNEが優れている理由  Localな構造とGlobalな構造の間に境界を定義  近くにいる2点の距離とガウス分布の分散を関連  2点間の分離のモデル化と実際の分離の度合いが独立  データの局所的密度に応じてそれぞれの分散を定義 902015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  91. 91. 他のノンパラ手法との比較 – (3) Isomap  𝑘-近傍グラフを用いて多様体上の測地線距離を求め 多次元尺度構成法を用いて低次元空間に射影する  Isomapの問題点  Short-curcuitの影響を非常に受けやすい  主に小さな測地線距離より大きなものに注目 912015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  92. 92. 他のノンパラ手法との比較 – (4) Locally Linear Embedding (局所線形埋め込み法)  多様体は狭い範囲で見れば線形空間とみなせる  狭い範囲で構築した線形モデルを滑らかに繋げば 多様体がうまく表現できる  LLEの問題点  すべてのデータ点が1つ点に集中するのを防いでいる  このことが低次元空間上の共分散に制約を与える  実用上この制約は以下のように満足される  ほとんどの点をマップの中央に配置  大きな共分散を得るためいくつかの点を幅広く配置 2015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  93. 93. LLEの弱点が顕著に現れた様子 932015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE - ほとんどの点が中央に集中 いくつかの点だけが幅広く配置
  94. 94. 他のノンパラ手法との比較 – (5)  𝑘-近傍グラフに基づいた手法の問題点  IsomapやLLEなどの手法  2つ以上の離れた多様体からなるデータを扱えない  データが結合されたグラフとして表現されないため  Short-circuitによる影響が大きい  一方でランダムウォークVer. t-SNE は?  近傍グラフ中のすべてのパスを統合して類似度を算出  Short-circuitの影響を受けにくい  似たような手法としてDiffusion mapが存在 942015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  95. 95. 他のノンパラ手法との比較 – (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 pp xxD  𝑝𝑖𝑘 (𝑡) ∶ 時刻𝑡において粒子が𝑥𝑖から𝑥 𝑘に移動する確率 𝜓 𝑥 𝑘 (0) : その点の局所的な密度 SNEと同様の考え方   )16(),( 2)(   ji jiji t yyxxDC 𝑦𝑖: 低次元空間上での座標
  96. 96. 他のノンパラ手法との比較 – (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
  97. 97. t-SNEの弱点  t-SNEは他のどの手法よりも優れた可視化を提供  しかしながら潜在的に3つの弱点が存在 1. 一般的な次元削減タスクにおける振る舞いが未知 2. データの本質的な次元数の呪いを受ける 3. 目的関数の収束を保証しない 972015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  98. 98. t-SNEの弱点 – (1) 1. 一般的な次元削減タスクにおける振る舞いが未知  評価を簡単にするため可視化のみに注目  非常に優れた可視化結果を提供  次元数が3より大きい場合の挙動は未知  t-分布の裾広がりの部分が確率質量の大部分を占める  Local構造をうまく保持することが困難に  より高次元空間に圧縮する場合  t-分布の自由度を大きくする必要がある  本誌ではこの適切な自由度に関する議論は無し 982015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
  99. 99. 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 - そのような構造を二次元上に可視化することは そもそも不可能であるということを念頭を置くべき
  100. 100. 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 -
  101. 101. 目次 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 -
  102. 102. まとめと今後の課題 まとめ  t-SNEと呼ばれる可視化手法を提案  Local構造とクラスタのようなGlobalな構造を共に保持  ランダムウォークを利用することで非常に大きなデータ セット(10000点以上)にも対応可能 今後の課題  t-分布の自由度の最適化の調査  低次元マップ点によって高次元データ点をモデル化 する手法への拡張  明確な低次元空間へのマッピングを行うためのNNの 学習のために,ホールドアウト検証用のテストデータ の生成を可能にするパラメトリックVer.の開発 1022015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -

×