Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
t-SNE(途中)
Search
Ringa_hyj
September 22, 2020
Technology
0
65
t-SNE(途中)
Ringa_hyj
September 22, 2020
Tweet
Share
More Decks by Ringa_hyj
See All by Ringa_hyj
DVCによるデータバージョン管理
ringa_hyj
0
160
deeplakeによる大規模データのバージョン管理と深層学習フレームワークとの接続
ringa_hyj
0
74
Hydraを使った設定ファイル管理とoptunaプラグインでのパラメータ探索
ringa_hyj
0
120
ClearMLで行うAIプロジェクトの管理(レポート,最適化,再現,デプロイ,オーケストレーション)
ringa_hyj
0
130
Catching up with the tidymodels.[Japan.R 2021 LT]
ringa_hyj
3
850
多次元尺度法MDS
ringa_hyj
0
310
因子分析(仮)
ringa_hyj
0
160
階層、非階層クラスタリング
ringa_hyj
0
130
tidymodels紹介「モデリング過程料理で表現できる説」
ringa_hyj
0
440
Other Decks in Technology
See All in Technology
SOTA競争から人間を超える画像認識へ
shinya7y
0
610
知覚とデザイン
rinchoku
1
630
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
1
180
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
140
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
340
戦えるAIエージェントの作り方
iwiwi
2
730
組織全員で向き合うAI Readyなデータ利活用
gappy50
5
1.6k
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
190
Retrospectiveを振り返ろう
nakasho
0
130
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
6
1.4k
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
120
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
390
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Designing for Performance
lara
610
69k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
How GitHub (no longer) Works
holman
315
140k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Transcript
Visualizing Data using t -SNE
高次元データをt-senにより二次元空間上で可視化する hintonらの研究 stochastic neighbor embedding(SNE)の派生である その技術よりも異なるスケールのデータを可視化することに優れている 古典的な様々な手法もあるが、これらは2次元以上の空間を持っていたりする そのため高次元データを二次元におとすことが得意とは言えない PCA 1933
MDS 1952 などは線形空間での距離を離そうとする試みであるので、非線形空間での関係性には使えない さらに近年までいくつかのアプローチがあったが、どれも非線形な構造や、2次元に移すことができなかった 本論文のt-SNEは高次元のデータを二次元に落とせるだけでなく、 クラスタの存在や、非線形な関係を可視化することができる
そもそもSNEって? データ間のユークリッド距離をもとに類似性を計算する あるデータを正規分布の中心と考えた時、その周辺のデータがどれだけの確率で、その正規分布の 一員であるか、という確率を考える つまり、中心xiがあるという条件での、xjがおなじクラスタであるという条件付き確率である 近いデータならば確率は高く、離れたデータならば確率は低い なおかつ、点xiとxiの関係は0である
そもそもSNEって? 写像される空間上の点yについても同じように考える 点同士の距離は二乗距離を使う
そもそもSNEって? 高次元空間上で近い距離のデータが、低次元空間内でも、その性質を維持したままであることが 望ましいので、距離=条件付き確率 の値が近くなるように計算を行う (同じ仲間は低次元でも同じにしたい) 確率なのでKLダイバージェンスを考える あとはこれをgradient descentで最適化する
そもそもSNEって? ただし、KLダイバージェンスは対称でないので、 低次元空間上で十分に特徴を捉えられているとはいえない (iからみたjまでの距離の値と、jから見たiの距離の値がことなってしまう σのせい?) これを非対称と呼ぶ ゆえにSNEは空間上の局所的なデータ構造を保持することに特化している
そもそもSNEって? 距離を測る分散の決め方 高次元空間でのデータ点の密度は異なるので どのデータ点はどれだけ大きな分散(仲間とみなす範囲)をもっていればいいのか、 を考えなければならない これを探索するためには、preplexityを(ユーザーが)一定に定めて、適合するようなσを探す
そもそもSNEって? 勾配は以下のような簡単な式でもとまる yiとyjの距離で重みづけしたような式として解釈できる 高次元空間から低次元空間へのマッピング(初期はランダムな写像をつくっておく?)の 最適化では、慣性項(モーメンタム)をつけ、高速化と局所解に陥ることを避ける工夫をおこなう tはイテレーション数 ηは学習率 a(t)はモーメンタムの重み
そもそもSNEって? SNEは最適化する際に初期ノイズの設定や、イテレーション数、学習率、など 弄るべき項目が多く、 何度かパラメタを変えた最適化を試す必要がでてくる 最適化が難しい“crowding problem” t-SNEではガウス分布でなくスチューデントのt分布を用いる 対称なSNE crowding problemとその解決
t-SNEの最適化方法 の順で説明する
高次元空間の確率密度Pと低次元のQのKLダイバージェンスの和を最小化するのがSNEの話だった 和の代わりに、一点一点のダイバージェンスを小さくすることを考えてみよう 一点一点の類似度の計算は以下のようになる (低次元空間では、高次元では分散を固定、) ※高次元のデータに外れ値があった場合には問題が発生する lってなに?
SNEでは 非対称な問題があったので、これを対象にするため、以下の処理を行う 勾配は以下の様に簡単になる
crowding problem スイスロールのようなデータを考える 高次元データ空間での距離を二次元空間での距離に置き換えようとした場合 次元の呪いによって、二次元空間ではかなり離れた値になってしまう UNI-SNEをつかうことでcrowdingに対抗しよう
高次元空間ではガウシアンよりも裾の長いstudent t分布をつかうことで、 高次元上の距離をうまくはかってやろう
None
None
None
None
None
None