Upgrade to Pro — share decks privately, control downloads, hide ads and more …

t-SNEをざっくりと理解 / Overview of t-SNE

kaityo256
December 07, 2023

t-SNEをざっくりと理解 / Overview of t-SNE

以下の論文の簡単な説明
L. J. P van der Maaten, “Visualizing Data Using t-SNE”, G. E. Hinton, J. Mach. Learn. .Res. 9: 2579–2605 (2008).

kaityo256

December 07, 2023
Tweet

More Decks by kaityo256

Other Decks in Programming

Transcript

  1. 2 17 t-SNEとは? 次元削減手法の一つ SNEの改良版 t分布型確率的近傍埋め込み法 t-Distributed Stochastic Neighbor Embedding

    Ԧ 𝑦 = 𝑓( Ԧ 𝑥) 入力データ 高次元ベクトル 出力データ 低次元ベクトル (D=2 or 3)
  2. 3 17 次元削減でしたいこと 元の空間で近い点は、変換後の空間でも近くしたい | Ԧ 𝑥𝑖 − Ԧ 𝑥𝑗

    |が小さいなら | Ԧ 𝑦𝑖 − Ԧ 𝑦𝑗 |も小さくしたい Ԧ 𝑦 = 𝑓( Ԧ 𝑥)
  3. 4 17 SNE 入力データの間の距離を確率として定義する SNE (Stochastic Neighbor Embedding) 確率的近傍埋め込み法 𝑝𝑗|𝑖

    ∝ exp(− Ԧ 𝑥𝑖 − Ԧ 𝑥𝑗 2 /2𝜎𝑖 2) データ点𝑖が、近傍点としてデータ点jを選択する確率 ガウス分布で定義 データ点𝑖にとっての「距離感」を𝜎𝑖 で指定
  4. 7 17 SNE 𝑝𝑗|𝑖 𝑝𝑖|𝑖 = 0とする 𝑝𝑖|𝑗 ≠ 𝑝𝑗|𝑖

    (距離は非対称) 元の空間での距離分布 𝑖 𝑗 0番から見た2番の距離 2番から見た0番の距離
  5. 8 17 SNE 𝑞𝑗|𝑖 ∝ exp(− Ԧ 𝑦𝑖 − Ԧ

    𝑦𝑗 2 ) 𝑝𝑗|𝑖 ∝ exp(− Ԧ 𝑥𝑖 − Ԧ 𝑥𝑗 2 /2𝜎𝑖 2) 変換後のデータ間の距離分布𝑞𝑗|𝑖 も同様に定義 スケールが存在しない (空間が一様になっている) これを変換前のデータ間の距離分布に近づけたい
  6. 10 17 SNE 𝐶 = ෍ 𝑖 𝐾𝐿 Ԧ 𝑝𝑖

    Ԧ 𝑞𝑖 ≡ ෍ 𝑖 ෍ 𝑗 𝑝𝑗|𝑖 log 𝑝𝑗|𝑖 𝑞𝑗|𝑖 𝑝𝑗|𝑖 = 𝑞𝑗|𝑖 となるように 𝑦𝑖 = 𝑓(𝑥𝑖 ) という変換を定めたい 2つの分布間のKullback–Leibler 情報量を最小化する
  7. 11 17 SNEの問題点 距離が非対称なので計算が重い 𝑝𝑖|𝑗 ≠ 𝑝𝑗|𝑖 𝐶 = ෍

    𝑖 𝐾𝐿 Ԧ 𝑝𝑖 Ԧ 𝑞𝑖 ≡ ෍ 𝑖 ෍ 𝑗 𝑝𝑗|𝑖 log 𝑝𝑗|𝑖 𝑞𝑗|𝑖 N個のKL情報量の和を最適化する必要がある また、コスト関数への寄与が小さすぎて場所が決まらない点がでてくる
  8. 14 17 t-SNE 距離分布を対称化する 𝑝𝑖𝑗 = 𝑝𝑖|𝑗 + 𝑝𝑗|𝑖 2𝑁

    𝑝𝑗|𝑖 𝑝𝑖𝑗 > 1 2𝑁 となるので、全てのデータ点が構造に寄与 (寄与が小さすぎて場所が決まらないデータ点がなくなる) 𝐶 = 𝐾𝐿(𝑃|𝑄) ≡ ෍ 𝑖,𝑗 𝑝𝑖𝑗 log 𝑝𝑖𝑗 𝑞𝑖𝑗 1つのKL情報量を最小化すればよい また
  9. 15 17 t-SNE ガウス分布 t分布 ガウス分布に比べてt分布は • 中心付近が鋭い →近距離を重視 •

    裾が広い →遠距離は誤差を許容 変換後の分布をガウス分布からt分布に 𝑞𝑗|𝑖 ∝ exp(− Ԧ 𝑦𝑖 − Ԧ 𝑦𝑗 2 ) 𝑞𝑖𝑗 ∝ 1 + Ԧ 𝑦𝑖 − Ԧ 𝑦𝑗 2 −1
  10. 17 17 まとめ • t-SNEは次元削減手法 • 高次元空間のデータ点の距離の関係をなるべ く保ったまま低次元にマップする • SNEに対してt-SNEは

    • 距離を対称化(コスト関数の最適化を容易 に) • ガウス分布の代わりにt分布を利用(混雑問 題の緩和)