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. 1
    17
    慶應義塾大学理工学部物理情報工学科
    渡辺宙志
    2023年12月7日 研究室ミーティング
    t-SNEをざっくりと理解
    “Visualizing Data Using t-SNE”
    L. J. P van der Maaten, G. E. Hinton, J. Mach. Learn. .Res. 9: 2579–2605 (2008).

    View full-size slide

  2. 2
    17
    t-SNEとは?
    次元削減手法の一つ
    SNEの改良版
    t分布型確率的近傍埋め込み法
    t-Distributed Stochastic Neighbor Embedding
    Ԧ
    𝑦 = 𝑓( Ԧ
    𝑥)
    入力データ
    高次元ベクトル
    出力データ
    低次元ベクトル
    (D=2 or 3)

    View full-size slide

  3. 3
    17
    次元削減でしたいこと
    元の空間で近い点は、変換後の空間でも近くしたい
    | Ԧ
    𝑥𝑖
    − Ԧ
    𝑥𝑗
    |が小さいなら
    | Ԧ
    𝑦𝑖
    − Ԧ
    𝑦𝑗
    |も小さくしたい
    Ԧ
    𝑦 = 𝑓( Ԧ
    𝑥)

    View full-size slide

  4. 4
    17
    SNE
    入力データの間の距離を確率として定義する
    SNE (Stochastic Neighbor Embedding)
    確率的近傍埋め込み法
    𝑝𝑗|𝑖
    ∝ exp(− Ԧ
    𝑥𝑖
    − Ԧ
    𝑥𝑗
    2
    /2𝜎𝑖
    2)
    データ点𝑖が、近傍点としてデータ点jを選択する確率
    ガウス分布で定義
    データ点𝑖にとっての「距離感」を𝜎𝑖
    で指定

    View full-size slide

  5. 5
    17
    SNE
    元の空間
    変換後の空間
    これは
    近傍としたい
    これは
    近傍としたくない

    View full-size slide

  6. 6
    17
    SNE
    この点にとっての近傍
    この点にとっての近傍
    点ごとに「距離感(スケール)」を定義
    このスケールで見て点が概ね一様に分布するように選ぶ
    点が疎なら大きく 点が密なら小さく

    View full-size slide

  7. 7
    17
    SNE
    𝑝𝑗|𝑖
    𝑝𝑖|𝑖
    = 0とする
    𝑝𝑖|𝑗
    ≠ 𝑝𝑗|𝑖 (距離は非対称)
    元の空間での距離分布
    𝑖
    𝑗
    0番から見た2番の距離
    2番から見た0番の距離

    View full-size slide

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

    View full-size slide

  9. 9
    17
    SNE
    𝑝𝑗|𝑖
    𝑞𝑗|𝑖
    変換前(高次元) 変換後(低次元)
    この二つの分布をなるべく近づけたい

    View full-size slide

  10. 10
    17
    SNE
    𝐶 = ෍
    𝑖
    𝐾𝐿 Ԧ
    𝑝𝑖
    Ԧ
    𝑞𝑖
    ≡ ෍
    𝑖

    𝑗
    𝑝𝑗|𝑖
    log
    𝑝𝑗|𝑖
    𝑞𝑗|𝑖
    𝑝𝑗|𝑖
    = 𝑞𝑗|𝑖 となるように
    𝑦𝑖
    = 𝑓(𝑥𝑖
    ) という変換を定めたい
    2つの分布間のKullback–Leibler 情報量を最小化する

    View full-size slide

  11. 11
    17
    SNEの問題点
    距離が非対称なので計算が重い
    𝑝𝑖|𝑗
    ≠ 𝑝𝑗|𝑖
    𝐶 = ෍
    𝑖
    𝐾𝐿 Ԧ
    𝑝𝑖
    Ԧ
    𝑞𝑖
    ≡ ෍
    𝑖

    𝑗
    𝑝𝑗|𝑖
    log
    𝑝𝑗|𝑖
    𝑞𝑗|𝑖
    N個のKL情報量の和を最適化する必要がある
    また、コスト関数への寄与が小さすぎて場所が決まらない点がでてくる

    View full-size slide

  12. 12
    17
    SNEの問題点
    混雑問題(Crowding Problem)
    円周上の点は中心から等距離
    2次元 1次元
    中心点からの距離を保とうとして
    クラスター内部が潰されてしまう

    View full-size slide

  13. 13
    17
    t-SNE
    t分布型確率的近傍埋め込み法
    t-Distributed Stochastic Neighbor Embedding
    →距離分布を対称化する
    コスト関数の最適化が難しい
    →t分布を利用して緩和
    次元削減後にクラスターがつぶれてしまう

    View full-size slide

  14. 14
    17
    t-SNE
    距離分布を対称化する
    𝑝𝑖𝑗
    =
    𝑝𝑖|𝑗
    + 𝑝𝑗|𝑖
    2𝑁
    𝑝𝑗|𝑖
    𝑝𝑖𝑗
    >
    1
    2𝑁
    となるので、全てのデータ点が構造に寄与
    (寄与が小さすぎて場所が決まらないデータ点がなくなる)
    𝐶 = 𝐾𝐿(𝑃|𝑄) ≡ ෍
    𝑖,𝑗
    𝑝𝑖𝑗
    log
    𝑝𝑖𝑗
    𝑞𝑖𝑗
    1つのKL情報量を最小化すればよい
    また

    View full-size slide

  15. 15
    17
    t-SNE
    ガウス分布
    t分布
    ガウス分布に比べてt分布は
    • 中心付近が鋭い
    →近距離を重視
    • 裾が広い
    →遠距離は誤差を許容
    変換後の分布をガウス分布からt分布に
    𝑞𝑗|𝑖
    ∝ exp(− Ԧ
    𝑦𝑖
    − Ԧ
    𝑦𝑗
    2
    ) 𝑞𝑖𝑗
    ∝ 1 + Ԧ
    𝑦𝑖
    − Ԧ
    𝑦𝑗
    2 −1

    View full-size slide

  16. 16
    17
    t-SNE
    混雑問題(Crowding Problem)
    1次元
    遠い点からの距離については
    誤差を許容
    近い点の距離は正確に表現しようとする
    2次元 1次元

    View full-size slide

  17. 17
    17
    まとめ
    • t-SNEは次元削減手法
    • 高次元空間のデータ点の距離の関係をなるべ
    く保ったまま低次元にマップする
    • SNEに対してt-SNEは
    • 距離を対称化(コスト関数の最適化を容易
    に)
    • ガウス分布の代わりにt分布を利用(混雑問
    題の緩和)

    View full-size slide