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
xx
p

 𝑥𝑖: 高次元データ点
𝑥𝑗: 高次元データ点
𝜎𝑖: 𝑥𝑖を中心としたガウス分布の分散
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距離を最小化するような
マップ点の探索
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
𝑃𝑖: データ点𝑥𝑖に対するすべてのデータ点の条件付き確率分布
𝑄𝑖: マップ点𝑦𝑖に対するすべてのマップ点の条件付き確率分布
マップ上で局所的な構造を保てる
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
yyqpqp
y
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
YYt
Y
C
YY 



𝑌(𝑡)
∶ 時刻𝑡におけるマップ点
𝜂 ∶ 学習率
𝛼 𝑡 ∶ 時刻𝑡におけるモーメンタム
局所解から脱出するのを手助けする
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
p
pQPKLC
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
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


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
yy
q
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


勾配の導出 – (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)(








 

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
















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
d
E *
2*
*
1 𝑑𝑖𝑗
∗
: 高次元空間上での距離
𝑑𝑖𝑗: 低次元空間上での距離
Y
E
YY 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 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 𝑦𝑖: 低次元空間表現
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
][ 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 
解析的解法 – (4)
 得られた特性方程式
𝐵 𝑇: グラフラプラシアン𝐿のランドマーク点に対応する
行成分を含んだ行列
 線形システム (35) は以下の場合のみ非特異解
 グラフが完全に結合
 相互に結合している要素が少なくとも1つランドマーク
点を含んでいる
 得られた解を正規化した行ベクトル𝑋 𝑁
 ランドマークでない点から開始したランダムウォークが
ランドマーク点を終点とする確率に対応
 我々が本当に知りたいもの
 ランドマーク点から開始したランダムウォークが
別のランドマーク点を終点とする確率に対応
722015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
)35(T
BxL 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
d
E *
2*
*
1 𝑑𝑖𝑗
∗
: 高次元空間上での距離
𝑑𝑖𝑗: 低次元空間上での距離
Y
E
YY 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 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 𝑦𝑖: 低次元空間表現
他のノンパラ手法との比較 – (1)
Classical scaling [Torgerson, 1952]
 高次元空間上での距離と低次元空間上での距離の
間の二乗和誤差を最小化するような線形変換
 目的関数
 Classical scalingの問題点
 線形変換ではカーブした多様体をモデル化できない
 近くのデータ点よりも遠くのデータ点の距離を保持
することに注目している
この問題を解決しようとした手法がSammon mapping
882015/07/23 武田研究室 論文紹介 - Visualizing Data Using t-SNE -
 

ij
ijij ddE
2*
𝑑𝑖𝑗
∗
: 高次元空間上での距離
𝑑𝑖𝑗: 低次元空間上での距離
他のノンパラ手法との比較 – (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 𝑑𝑖𝑗
∗
: 高次元空間上での距離
𝑑𝑖𝑗: 低次元空間上での距離
微分の際の計算を
容易にするための定数
他のノンパラ手法との比較 – (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
pp
xxD

𝑝𝑖𝑘
(𝑡)
∶ 時刻𝑡において粒子が𝑥𝑖から𝑥 𝑘に移動する確率
𝜓 𝑥 𝑘
(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 -

Visualizing Data Using t-SNE

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