t-SNEとは

t-SNEは、高次元のデータポイントを、人間が視覚的に理解できる2次元または3次元の低次元空間にマッピングするための、非線形な次元削減手法のことです。

t-SNEの概要と目的

t-SNE(t-distributed Stochastic Neighbor Embedding、t分布型確率的近隣埋め込み法)は、2008年にL. van der MaatenとG. Hintonによって提案された機械学習アルゴリズムです。主に、複雑な高次元データセットに内在するクラスタ構造やデータの局所的な構造を視覚化するために利用されます。

高次元データは、そのままでは人間の感覚で理解することが極めて困難です(次元の呪い)。t-SNEの目的は、単に次元を削減することではなく、高次元空間で近接していたデータポイント間の距離関係を、可能な限り低次元空間でも保持するように埋め込むことにあります。

特に、大局的な配置よりも局所的な近傍関係の保持を重視する点が特徴です。

主な目的は、高次元データの潜在的な構造やグループ分けを、直感的に理解できる散布図として視覚化することです。

t-SNEの動作原理:確率分布の適合

t-SNEの動作原理は、高次元空間におけるデータ間の類似度を確率分布で表現し、その分布を低次元空間で再現するように最適化することに基づいています。

1. 高次元空間における類似度の定義

  • 動作: 高次元空間におけるデータポイント xi​ と xj​ の類似度 pj∣i​ を、ガウス分布(正規分布)を用いて定義します。この pj∣i​ は、「xi​ が xj​ を近傍として選択する条件付き確率」を表します。

p_{j|i} = \frac{\exp(-|x_i - x_j|^2 / 2\sigma_i^2)}{\sum_{k \neq i} \exp(-|x_i - x_k|^2 / 2\sigma_i^2)}

ここで、σi​ はデータポイント xi​ ごとに調整されるガウス分布の分散であり、重要なハイパーパラメータであるパープレキシティ(Perplexity)によって制御されます。パープレキシティは、データの有効な近傍の数を表し、t-SNEの結果に大きな影響を与えます。

2. 低次元空間における類似度の定義

  • 動作: 低次元空間(埋め込み空間)におけるデータポイント yi​ と yj​ の類似度 qj∣i​ を、スチューデントのt分布(自由度1のt分布)を用いて定義します。

q_{j|i} = \frac{(1 + |y_i - y_j|^2)^{-1}}{\sum_{k \neq l} (1 + |y_k - y_l|^2)^{-1}}

t分布を採用することで、高次元では離れていたデータポイントが低次元で近くにマッピングされることを許容しやすくし、特に離れたデータポイント間の距離(大局的な構造)を広く分離する効果が得られます。

3. 最適化(カルバック・ライブラー・ダイバージェンスの最小化)

  • 動作: t-SNEは、高次元の類似度分布 P と低次元の類似度分布 Q の間の差を、カルバック・ライブラー・ダイバージェンス(KL-Divergence)を用いて測定し、このKLダイバージェンスを最小化するように低次元の座標 Y={y1​,…,yn​} を勾配降下法で学習します。

\text{KL}(P | Q) = \sum_{i \neq j} p_{ij} \log \frac{p_{ij}}{q_{ij}}

この最小化により、低次元空間の点は、高次元空間の構造を最もよく反映するように配置されます。

t-SNEの特性と利用時の注意点

  • 局所構造の強調: t-SNEは、他の次元削減手法(例:PCA)と異なり、クラスタ間の距離よりもクラスタ内の点の近接性を保持することに優れています。
  • 大局的な距離の解釈: クラスタ間の距離や、クラスタのサイズそのものには、高次元空間での絶対的な意味がないことが多く、t-SNEの出力を解釈する際には注意が必要です。
  • ハイパーパラメータ依存性: パープレキシティの値によって、生成される視覚化の結果が大きく変化します。ユーザーは、データセットに適した値(通常は5から50の間)を試行錯誤して見つける必要があります。

t-SNEは、特にデータサイエンスや機械学習の研究において、データセットの初期探索や、ニューラルネットワークの中間層の特徴の視覚化などに不可欠なツールとして広く活用されています。

関連用語

ガウス分布 | 今更聞けないIT用語集
次元の呪い | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。