Visualizing Data Using t-SNE
2019.7.12
論⽂輪講 D1 ⽊村
Maaten, Laurens van der, and Geoffrey Hinton. "Visualizing data using t-SNE." Journal of
machine learning research 9.Nov (2008): 2579-2605.
内容
1. ⾼次元空間の可視化とは
2. t-SNEでできること
3. 関連研究
4. SNE
5. t-SNE
6. 結果
7. Conclusion
8. 感想
1.⾼次元空間の可視化とは
たとえば、1000次元のデータがあるとき、どうにか
して2(or 3)次元で表現できれば、プロットできて、⼈
間の⽬で⾒て分布などを確認できる
本当に可能か? −−−> 可能だが妥協が必要
2. t-SNEでできること
MNISTから60,000個
(6000次元)
各画像をベクトルに変換
t-SNE
t-SNEは何の略か?
Stochastic Neighbor Embedding
t-SNE
randomely
determined
An embedding is a representation
of a topological object, manifold,
graph, field, etc. in a certain space
in such a way that its connectivity
or algebraic properties are
preserved
t-distribution
3. 関連研究
• 1969 Sammon mapping
• 1997 curvilinear components analysis
• 2000 Isomap
• 2000 Locally Linear Embedding
• 2002 Stochastic Neighbor Embedding (SNE)
• 2002 Laplacian Eigenmaps
• 2004 Maximum Variance Unfolding
問題:現実の⾼次元データで local, global な構造を両⽅表現するのが難しい
4. SNE
1. 低次元での座標を適当に決める
2. ⾼次元、低次元でのあらゆる2点の類似度(確率)を計算
3. 2つの類似度⾏列が近づくように低次元のデータの座標を調整
(KL divergence使う)
低次元に変換する関数を決めるわけではない
⼤きな流れ ここは t-SNEも同じ ここで違いが出る
4. SNE 類似度の計算 softmaxに似ている
低次元
⾼次元
xi を基準に考えた時のxjとxiの類似確率.... i とj は⾮互換
σのあるなしのみの違い
4. SNE: 類似度の意味
ガウス関数
⾼次元での
類似度
xi を基準(μ)と
考えるとガウス関数
と同じ
4. SNE: 類似度の意味
xi からの距離
近くにある点を⾼く評価
4. SNE: 類似度の意味
• i, j 以外の点の散らばり具
合で pi|jの値が変わる
• 左右でi-jの距離は同じだが、
類似度は左の図では低く、
右では⾼くなる
• 特に、左図で、jが遠くな
ると値がゼロに近くなり、
距離への依存が減少
→遠い点の距離が保存され
ない問題
データA データB
4. SNE: 類似度の意味
つまり、類似度pj|iは、ただの距離ではなく、xiと他点との距離も考慮した距離。
各空間でデータの数の⼆乗
個のpを計算する必要があ
る
StarQuest : https://www.youtube.com/watch?v=NEaUSP4YerM
4. SNE: 損失関数
ワイ
t:最適化のための
繰り返しの回数
• 局所解を避けるため
• 最適化のスピードアップのため
のモーメンタム
• KL ダイバージェンスを
ゼロに近づける
• C ≧ 0 (ギブスの不等式より)
SNEの問題点
• 初期にガウシアンノイズを加えるが、ノイズの初期値、分散の
減衰速度などの決定が難しい(通常、最適化の処理を何度か⾏
い、パラメータを決定する)
• Crowding problem (後述)
改善案としてt−SNEを提案
5. t−SNE
•対称な損失関数
•ガウス分布の代わりに t 分布
で
• 難儀な最適化
• Crowding problem を改善
対称な損失関数
pij = pji
にしたい。そのためには、
最適化を簡単にするために
や
が考えられる。しかし、
i, j は交換可能
仮に xi が outlier の場合、p は著しく⼩さくなり、C への影響が少なくなる。
結果として、i の位置への信頼性が低くなる。そこで、
対称な類似度
そこで、 とすれば、
が保証され、極端に⼩さくならない。 (JS divergence みたいな発想?)
勾配は となる
Crowding Problem
• 例えば、データの intrinsic dimension が、10次元の時、等距離の
点は11個存在しうる。この距離を2次元で保持するのは不可能。
• 例えば、データ点 i を中⼼とする球の体積はrmでスケールする。
仮にデータが10次元空間の球⾯に⼤体⼀様に分布しているとす
ると、2次元に embed することで、本来離れていた2点が接近し
てしまうという問題が発⽣
• UNI-SNE(Cook et. al. 2007)がこれを改善すべく、qの最⼩値を
設定。遠い点では、qが常にpより⼤きくなり、反発⼒が⽣じ
る
t−分布の効果
• t−分布とは
ガウス分布
fat tail
• ⾼次元でガウス分布、低次
元でt−分布を使⽤すること
で、点の不必要な集まりを
防げる
• ⾃由度1のt−分布を使⽤
n:データ数
http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/SAS/SAS4-OneSampleTtest/SAS4-OneSampleTtest5.html
遠い点同⼠でも
差がつく
離れる
i
j
j
低次元での距離
gap
3モデルの⽐較 理想:点線。q = p
2
4
Gradientがゼロのときに点線に乗りたい t-SNEが最もきれ
いに乗っている。ただし距離が短い場合。
☓
☓
正確ではないが遠くの点を遠く
に置く可能性はある
Applying t-SNE to Large Data Sets
• 計算量が多い(O(n2))ので、
例えば 10,000個のデータなど
では厳しい
• ランダムウォークで改善できる
1. ランダムにlandmarksを選ぶ
(図の⾊付き丸)
2. k-近傍グラフを作成
3. landmarkから他のlandmarkまで
ランダムウォーク
• ABCは互いに同じ距離に⾒えるが
上の⽅法だとABが同じクラスタ
Algorithm
perplexity を決める
σを決める
=
6. 結果
t−SNE
Isomap LLE
sammon mapping
MNIST
• 6,000個の⼿書き⽂字
• 10個の数字
• 784 pixels
結果
t−SNE
Isomap LLE
sammon mapping
Olivetti faces
• 400枚の顔の画像
• 40⼈の顔
• 10,304 pixels
結果
t−SNE
Isomap LLE
sammon mapping
COIL-20
• 1440枚の画像
• 20種類の物
• 1024 pixels
他のモデル
• sammon mapping (Sammon, 1969)
⾼次元でのこの2点が⾮常に近い場合、分⼦のカッコ内の差が
ある程度⼩さくてもコスト関数が⼤きくなってしまう
ものすごく近い2点の距離の保持にこだわるモデル
(本来は普通〜遠⽬の距離を保持したい)
他のモデル
• Isomap (Balasubramanian et. al. 2002)
近傍点とのグラフを作成 エッジで距離を計算
*近傍での線形性を前提
Weakness
• 4次元以上への次元削減
Heavy tail の存在が4次元以上への次元削減に⽀障?
• Instrinsic dimensionality の呪い
intrinsic dimensionality が⼤きい場合、t-SNEが前提としている多様体の
線形性が崩れる。オートエンコーダで特徴量を抽出してからt-SNEで視
覚化するとよい?
• 損失関数の⾮凸性
⾮凸のため、複数パラメータのチューニングが必要だが、推奨範囲は
あるので⼤丈夫?
7. まとめ
• 類似度の対称化とt−分布の導⼊に新規性
• 低次元のデータ点は最初はとりあえずランダムに配置し、低次
元での類似度を計算、後はKLダイバージェンスで最適化し座標
を修正していく。
• おおむねうまく⾏っている。他の⼿法よりもいい結果である
• 計算量が多い(O(n2))が、ランダムウォークで改善する
8. 感想
• ⼿法の定量的評価⽅法は?
• 解釈がトリッキー
https://distill.pub/2016/misread-tsne/?_ga=2.135835192.888864733.1531353600-1779571267.1531353600
• 視覚化はできてるが分類問題などに使えるのか?
• 最後尾の隠れ層の特徴量
を視覚化
• CNN内部の視覚化として
補助的に
Esteva, Andre, et al. "Dermatologist-level classification of skin cancer with
deep neural networks." Nature 542.7639 (2017): 115.
最近の関連研究
UMAP UMAP
t-SNE

t-SNE Explained