Yolo 深圳
深セン
今すぐ参加
用語集

t-分布型確率的近傍埋め込み(t-SNE)

高次元データを可視化するための強力な手法であるt-SNEをご覧ください。その用途、利点、AIおよびMLにおける応用について学びます。

t-distributed Stochastic Neighbor Embedding (t-SNE)は、高度な非線形次元削減手法です。 次元削減手法 主に高次元データの探索と可視化に使用される。Laurens van der MaatenとGeoffrey Hintonによって開発されたこの統計的手法は、研究者や機械学習(ML 機械学習(ML)の実務家が 数百から数千次元の複雑なデータセットを2次元または3次元空間に投影することができる。線形手法とは異なり 線形手法とは異なり、t-SNEはデータの局所構造を保持することに優れているため、以下のようなデータ可視化タスクに非常に有用である。 データの可視化タスク クラスターやデータポイント間の関係を特定することが重要なデータ可視化タスクに非常に役立ちます。

t-SNEの仕組み

このアルゴリズムは、データ点間の類似性を結合確率に変換することで動作する。元の において、t-SNE はガウス分布を用いて点間の類似性を測定する。 ガウス分布を用いて点間の類似性を測定する。そして、これらの点をより低次元の空間(「埋め込み」)にマッピングしようとする。 の確率分布との間のダイバージェンスを最小化することによって、これらの点をより低次元の空間(「埋め込み」)にマッピングしようとする。 を最小化することによって、これらの点をより低次元の空間(「埋め込み」)にマッピングしようとする。このプロセスは 教師なし学習の原理に大きく依存している。 ラベル付けされた出力を必要としない。

t-SNEの重要な点は、視覚化における「混雑問題」を処理する能力である。低次元マップに 低次元のマップに重尾のスチューデントの t 分布を使用することで,点が密に重なりすぎるのを防ぐ. 明確なクラスターが視覚的に 分離可能である。

AIおよびMLでの応用

高次元データの可視化はAI開発ライフサイクルの基本ステップ AI開発ライフサイクルの基本ステップである。 は、モデルがさまざまなドメインにわたってデータをどのように見ているかについての直感を提供する。

  • コンピュータビジョンの特徴分析:コンピュータビジョン コンピュータビジョン(CV)では t-SNEは ディープラーニング(DL)モデルが学習した内容を解釈するためにt-SNEを使用することが多い。例えば 例えば、学習したモデルのバックボーンから特徴ベクトル(埋め込み)を抽出することで、ディープラーニング(DL)モデルの学習内容を解釈することができる。 YOLO11モデルのバックボーンから特徴ベクトル(埋め込み)を抽出することで、t-SNE はこれらのベクトルを2次元平面に投影することができる。モデルの性能が高ければ、類似したオブジェクトの画像(例えば、自動車、歩行者、自転車)、 歩行者、自転車)の画像は、異なるクラスターにまとめられ、特徴抽出プロセスの有効性が検証されます。 特徴抽出プロセスの有効性を検証します。
  • 自然言語処理(NLP): t-SNEは、自然言語処理(NLP)によって生成されたような単語の埋め込みを可視化するために広く使用されている。 によって生成されたような GloVeやTransformerモデルによって生成されたような単語埋め込みを可視化するために広く使用されている。これらの可視化では と「女王」のように、意味的に類似した単語が近傍として表示される。これは によって把握された意味的関係を理解するのに役立つ。 自然言語処理(NLP) モデルを理解し、学習データの潜在的な偏りを診断するのに役立つ。

t-SNEと関連技術の比較

t-SNEと他の次元削減手法は、機械学習パイプラインにおいて異なる目的を果たすため、区別することが重要である。 機械学習パイプラインで

  • 主成分分析(PCA): PCAは線形手法であり データの大域的な分散を保存することに重点を置いている。PCAは計算速度が速く、決定論的である。 複雑な非線形の関係を捉えられないことが多い。一般的なワークフローでは、PCAを使用して生データを次のように削減する。 一般的なワークフローでは、PCAを使用して生データを通常30~50次元に削減し、続いてt-SNEを使用して最終的な可視化を行う。このハイブリッドアプローチは、ノイズと計算負荷を軽減する。 計算負荷を軽減する。
  • オートエンコーダオートエンコーダは ニューラルネットワークの一種で、データを圧縮し データを再構成するために訓練されたニューラルネットワークの一種である。オートエンコーダは非線形表現を学習することができるが、t-SNEは特に以下のように最適化されている。 プロットや目視検査に最適化されている。

Python 実装例

次の例は、一般的な Scikit-learnライブラリを使用して を使用する方法を示します。このスニペットは、合成クラスタを生成し、それを t-SNEを使用しています。

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE

# Generate synthetic high-dimensional data (100 samples, 50 features)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)

# Apply t-SNE to reduce features from 50 to 2 dimensions
# Perplexity relates to the number of nearest neighbors to consider
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)

# Visualize the projected 2D data
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Visualization of Features")
plt.show()

限界とベストプラクティス

強力ではあるが、t-SNEは注意深く ハイパーパラメータのチューニングが必要である。パラメータ 「perplexity "パラメータは、データの局所的な側面と大域的な側面の間の注意をバランスさせるもので、このパラメータによって、結果のプロットが劇的に変化することがある。 プロットを劇的に変化させる。さらに、このアルゴリズムは計算コストが高い(O(N²)の複雑さ)、 であり、単純な射影法に比べて非常に大きなデータセットに対して時間がかかる。

t-SNEプロットにおける分離したクラスター間の距離は、必ずしも元の空間における正確な物理的距離を表しているわけではありません。 それらは主にクラスタが区別されていることを示す。埋め込みをインタラクティブに探索する、 TensorFlow Embedding Projectorのようなツールは、モデル学習と並行してよく使用されます。 モデル学習と並行して使用されることが多い。AI研究がYOLO26や他のエンド・ツー・エンド・アーキテクチャーに向かって進むにつれて その他のエンド・ツー・エンド・アーキテクチャに向けてAI研究が進むにつれて、これらの高次元空間を解釈することは、検証やモデルのテストにとって重要なスキルであり続ける。 モデルのテストに不可欠なスキルである。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加