何百次元もあるデータの「散らばり具合」を、人間の目で見える2次元の散布図にしてくれる——それがt-SNE(ティー・スニー)です。「tは何のt?」「PCAと何が違う?」というG検定頻出の疑問に答えながら、仕組みのイメージをつかみましょう。

📖 ひと言でいうと

t-SNEとは、高次元データを2次元または3次元に変換して可視化するための次元削減アルゴリズムです。高次元空間で近くにあるデータ同士は低次元でも近くに、遠いものは遠くに配置されるように変換することで、データのかたまり(クラスタ構造)を目で確認できるようにします。

身近な例えでいうと、地球儀を平面の地図に描き直す作業に似ています。3次元の球面を2次元に写すとき、どうしても歪みは出ますが、「近い都市同士は地図でも近く」なるように工夫して描きます。t-SNEは、これを何百次元というデータに対して行い、「ご近所関係」をできるだけ保ったまま平面に落とし込む手法です。

🖼 1枚でわかるt-SNE

t-SNEの要点
  • 可視化のための次元削減 — 高次元データを2次元・3次元へ変換
  • 距離分布を合わせる — 高次元での近さ・遠さを低次元でも再現
  • 局所構造に強い — 近くのデータ同士の関係を非常によく捉える
  • 大局的な構造も可能な限り捉える
  • tはt分布のt — 低次元側の距離の表現にt分布を使う
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

高次元データを2次元又は3次元に変換して可視化するための次元削減アルゴリズム。高次元での距離分布が低次元での距離分布にもできるだけ合致するように変換する。高次元の局所的な構造を非常によく捉える、大局的な構造も可能な限り捉えるといった特徴がある。t-SNEのtはt分布のtである。

ポイントは4つです。①目的は「可視化」であり、変換先は人間が見られる2次元または3次元であること。②変換の方針は「高次元での距離分布を低次元でも合わせる」こと。③得意なのは「局所的な構造」(近い者同士の関係)で、大局的な構造は「可能な限り」捉えるという強弱があること。④名前のtは統計学のt分布に由来すること。特に④は一問一答的に問われやすい豆知識です。

🔍 しっかり理解する

なぜ次元削減が必要なのか

機械学習で扱うデータは、画像なら数千ピクセル、顧客データなら数十〜数百項目と、非常に多くの次元を持ちます。人間が散布図として目で確認できるのは2次元・3次元までなので、「データがどんなグループに分かれているか」「異常な点はないか」を直感的に把握するには、次元を落とす必要があります。これが次元削減で、その中でもt-SNEは「分析の前にデータの様子を眺める」可視化用途に特化した手法です。

「距離分布を合わせる」とは

t-SNEの基本方針は、高次元空間での点同士の近さ・遠さの関係(距離分布)を、低次元に写した後もできるだけ保つことです。イメージとしては、各データ点が「自分のご近所は誰か」という確率的なリストを持っていて、低次元に配置し直した後も同じご近所リストが成り立つように、点の位置を少しずつ調整していきます。

このとき、低次元側の距離の表現に「t分布」という、正規分布よりすそ野が広い(裾が重い)分布を使うのがt-SNEの工夫です。すそ野が広い分布を使うと、遠い点同士をより遠くに離して配置でき、点が中心に密集してつぶれてしまう問題(混雑問題)が緩和されます。これが名前の「t」の意味です。厳密な数式を覚える必要はなく、「低次元側にt分布を使うから点の重なりがほぐれ、クラスタが見やすく分離する」というイメージで十分です。

局所構造と大局構造・PCAとの違い

t-SNEは「近い者同士の関係(局所構造)」の再現を最優先します。その結果、同じ種類のデータがきれいなかたまりとして描かれる一方、「かたまり同士の距離」や「かたまりの大きさ」といった大局的な情報は歪むことがあります。公式テキストの「局所的な構造を非常によく捉える、大局的な構造も可能な限り捉える」という表現は、この優先順位を表しています。

次元削減の定番として比較されるのが主成分分析(PCA)です。

🅰 t-SNE
  • 非線形な次元削減
  • 目的はもっぱら可視化(2次元・3次元)
  • 局所構造の再現に強い
  • 実行のたびに配置が変わりうる(確率的)
🅱 主成分分析(PCA)
  • 線形な次元削減
  • 可視化のほか特徴量圧縮・前処理にも広く使う
  • 分散が最大の方向(大局的な広がり)を保つ
  • 結果は毎回同じ(決定的)

PCAはデータ全体の広がり(分散)を最も保つ軸へ直線的に射影する手法で、大局的な構造の把握や前処理向きです。一方t-SNEは曲がりくねった構造もほぐして描ける非線形手法で、クラスタの分離を「見る」ことに特化しています。両者は競合というより使い分けの関係です。

💡 具体例で考える

t-SNEの定番デモが、手書き数字画像データセット(MNIST)の可視化です。1枚の画像は28×28=784ピクセル、つまり784次元のデータですが、t-SNEで2次元に落として散布図を描くと、「0」の画像たち、「1」の画像たち…がそれぞれ別のかたまりとして自然に分離して現れます。ラベル情報を一切使っていないのに数字ごとの島ができる様子は、t-SNEが局所構造を捉える力の分かりやすい実演になっています。

実務では、深層学習モデルの中間層が作る特徴ベクトルの点検にもよく使われます。たとえば画像分類モデルの中間表現(数百次元)をt-SNEで2次元にして眺め、「クラスごとにきれいに分かれているか」「別クラスなのに混ざっている領域はないか」を確認する、といった使い方です。バイオインフォマティクス分野でも、細胞ごとの遺伝子発現データ(数千次元)から細胞の種類のかたまりを見つける可視化手法として広く使われています。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「tはtime(時間)のt」ではない: t-SNEのtは統計学のt分布のtです。一問一答で問われやすいので正確に覚えましょう。
  • クラスタリング手法ではない: t-SNEはデータを低次元に配置し直す次元削減・可視化の手法で、k-means法のようにクラスタへの所属を出力するわけではありません。「かたまりが見える」ことと「クラスタ割り当てを行う」ことは別です。
  • 図上の距離を読みすぎない: t-SNEの図で「かたまりAとBが離れているから両者は大きく異なる」とは限りません。局所構造優先のため、クラスタ間距離や密度は歪むことがあります。
  • PCAとの混同: PCAは線形・大局重視・前処理にも使う、t-SNEは非線形・局所重視・可視化特化、という対比で整理しましょう。

📝 試験でのポイント

💡 ポイント
  • 「高次元データを2次元又は3次元に変換して可視化するための次元削減アルゴリズム」という定義文の穴埋め・正誤が基本形です。
  • 「t-SNEのtはt分布のt」は、そのまま知識問題として出題されうる代表的ポイントです。
  • 「局所的な構造を非常によく捉える」という特徴の記述を、大局優先などと入れ替えた誤答に注意しましょう。
  • 教師なし学習の文脈で、クラスタリング(k-means法など)と次元削減(t-SNE・PCA)を正しく区別させる出題が想定されます。

📚 まとめ

t-SNEは、高次元データを2次元・3次元に変換して可視化するための次元削減アルゴリズムで、高次元での距離分布を低次元でも合致させるように変換します。局所的な構造を非常によく捉え、大局的な構造も可能な限り捉えるのが特徴で、名前のtはt分布に由来します。クラスタリングとの違い、PCAとの使い分け、「tの意味」の3点を押さえておけば、試験でも迷いません。