データと前処理

t-SNE てぃーえすえぬいー

t-SNE次元削減可視化高次元データクラスタリング可視化
t-SNEについて教えて

簡単に言うとこんな感じ!

「数百次元の画像データを2Dの点で表示する」ための可視化ツールだよ。データの中のクラスターや構造を視覚的に確認するのが得意で、「似た画像は近くに、違う画像は遠くに」配置してくれる。機械学習の結果を直感的に確認するのに重宝されてるんだ!


t-SNEとは

t-SNE(t-distributed Stochastic Neighbor Embedding)は、高次元データを2次元や3次元に圧縮して可視化するための非線形次元削減手法です。2008年にLaurens van der MaatenとGeoffrey Hintonが発表しました。

t-SNEは「近いデータは近くに、遠いデータは遠くに」 という関係をできる限り保存しながら次元を削減します。PCAより非線形な構造をうまく捉えられるため、高次元データの直感的な理解・クラスター確認に広く使われています。


t-SNEの仕組み

高次元空間での関係
  データA と B が近い(類似している)

低次元空間でも近くに配置

コスト関数(KL散divergence)を最小化して最適な配置を探索

t分布を使う理由:低次元空間で離れた点同士をさらに離すため、クラスター間に「隙間」を作りやすくなります。


パラメータの影響

パラメータ役割一般的な設定
perplexity(複雑度)考慮する近傍数の目安5〜50(データサイズで調整)
n_iter(反復数)最適化の繰り返し回数500〜5000
learning_rate最適化の学習率10〜1000
n_components削減後の次元数通常2(可視化用)

PCAとの比較

比較項目PCAt-SNE
変換の種類線形非線形
用途前処理・圧縮可視化専用
計算コスト低い高い(O(n²))
クラスター構造把握が難しい把握しやすい
解釈性寄与率が明確軸に意味なし
新データへの適用可能困難(再学習が必要)

歴史と背景

  • 2002年:前身手法のSNE(Stochastic Neighbor Embedding)がHinton&Roweis により提案
  • 2008年:van der Maaten & Hinton が t-SNE を発表
  • 2010年代:Scikit-learnに実装され機械学習の標準可視化ツールに
  • 現在:大規模データにはUMAPが好まれるが、t-SNEも広く使われ続ける

使用上の注意点

1. 「距離」や「クラスターのサイズ」は信頼できない
   → t-SNEは局所構造を保存するが、全体的な距離感は歪む

2. 実行するたびに結果が変わる可能性がある
   → random_stateを固定してください

3. 新しいデータを既存の結果に追加できない
   → データが増えたら全体を再実行する必要がある

4. 大規模データは遅い
   → 10万件以上はUMAPを検討

関連用語