🌈 t-SNE 降維視覺化 · iPAS 考點

t-SNE:把高維資料攤平成漂亮的「群聚地圖」

t-SNE 是非線性降維,專門把幾百維的資料壓成 2D/3D 圖,讓原本相近的點在圖上也聚在一起,群集結構一眼看穿。它是拿來「看」的,不是拿來當模型的輸入特徵。

非線性降維2D/3D 視覺化保留局部鄰近Perplexity群距不可解讀

🗺️ 一、先用白話講:t-SNE 在做什麼?

t-SNE 全名 t-distributed Stochastic Neighbor Embedding。一句話:把高維資料畫成一張「誰跟誰是鄰居」的 2D 地圖。

🌍 生活比喻:把地球攤平成世界地圖

地球是 3D 球面,攤成 2D 地圖時——鄰近的國家還是鄰近(局部關係保得好),但遠處會被嚴重扭曲(格陵蘭看起來比非洲還大)。
t-SNE 一樣:它很努力把「原本的近鄰關係」保留好,所以同一群會聚成一團;但「群和群之間有多遠」「群有多大」是被扭曲的,不能照字面解讀

🧲 二、核心想法:保留「誰是誰的鄰居」

PCA 找的是「整體變異最大的方向」(全局);t-SNE 完全不管全局,只在乎每個點的近鄰關係(局部)。做法是兩步比對:

① 高維算「鄰居機率 P」在原始高維空間,用高斯算「點 i 把點 j 當鄰居」的機率。
② 低維算「鄰居機率 Q」在 2D 圖上,用 t 分布算同樣的鄰居機率。
③ 讓 Q 貼近 P不斷移動 2D 上的點,最小化 P 與 Q 的差距(KL 散度),直到地圖穩定。

🎈 三、為什麼低維要用「t 分布」?

解決「擁擠問題(Crowding Problem)」

高維空間能容納的「鄰居」遠比 2D 多。硬把它們塞進平面,大家會擠成一團分不開。
t 分布的尾巴比高斯長——它允許「不那麼相似」的點在低維被推得更開。結果就是:該分開的群清楚地分開,畫面才漂亮、好讀。這正是名字裡那個「t」的由來。

🎮 四、動手玩:看四團從一坨散開

一開始所有點擠在中央。按「開始迭代」,t-SNE 會把同群的點拉在一起、不同群推開,慢慢長出四個清楚的群。Cost(≈ KL 差距)會一路下降。

影響每個點關注的「鄰居數量」。
Iteration: 0 Cost: -

🗺️ 怎麼看

注意它怎麼從中央一坨慢慢分成四群——這就是「最小化 KL」的過程。試著拖動 perplexity 再重置:值小,群可能碎成更多小塊;值大,群會比較融合。沒有唯一正確值,要多試幾個。

🎚️ 五、最重要的旋鈕:Perplexity

大致 = 每個點考慮的「有效鄰居數」

太小(如 5):只看極近的幾個點 → 容易把一個群打散成許多碎片。
太大(如接近資料量):趨近看全局 → 群糊在一起、失去細節。
常見範圍 5~50沒有萬用值,建議多試幾個再判讀。

⚖️ 六、t-SNE vs PCA:常考對照

比較PCAt-SNE
類型線性非線性
著重全局變異局部鄰近關係
速度慢(運算重)
可逆 / 套用新資料可逆、可轉換新點不可逆、每次要重算
用途壓縮、去冗餘、可當特徵純視覺化,不當下游特徵

🧠 一句話

降維後丟給模型PCA;要用眼睛看群聚用 t-SNE。常見做法是先 PCA 降到 ~50 維、再 t-SNE 畫圖,又快又穩。

⚠️ 七、看 t-SNE 圖的三大陷阱

① 群間距離無意義別說「A 群離 B 群比較遠所以較不像」——群和群的距離不可解讀。
② 群的大小無意義t-SNE 會把密集的群撐開、稀疏的縮小,面積不代表真實密度或數量
③ 每次跑都不一樣結果受 perplexity 與隨機種子影響,別對偶然出現的形狀過度解讀。

📐 八、怎麼評估?有更快的替代嗎?

📌 評估指標與 UMAP

評估「結構保留得好不好」Trustworthiness、Continuity、kNN 保留率 等指標。注意 KL 散度只是它的訓練損失,不能拿來跨模型比品質
替代方案 UMAP:通常更快、能較好保留一些全局結構,現在很多場合取代 t-SNE。各方法比較見 降維總覽局部結構保留指標

🧪 九、觀念自我檢測

先想再點開。

Q1. t-SNE 主要拿來做什麼?

把高維資料投影到 2D/3D 做視覺化、看群聚結構;不適合當下游模型的輸入特徵。

Q2. 為什麼低維要用 t 分布?

解決擁擠問題:t 分布長尾把不相似的點推得更開,群才分得清楚。

Q3. 看 t-SNE 圖最該避免的解讀?

群間距離與群大小都不可解讀;且結果隨 perplexity/隨機種子改變。

Q4. perplexity 是什麼?怎麼設?

大致是每個點考慮的有效鄰居數,常用 5~50,需多試。

Q5. t-SNE 和 PCA 的差別?

PCA:線性、全局、快、可逆、可當特徵;t-SNE:非線性、局部、慢、不可逆、只視覺化。

✅ 十、30 秒重點整理

t-SNE=非線性降維視覺化高維 → 2D/3D 看群聚。
保留局部鄰近P(高斯)→Q(t分布),最小化 KL。
t 分布解決擁擠長尾把不相似點推開。
Perplexity 5~50有效鄰居數,需多試。
三不可解讀群距、群大小、單次形狀。
vs PCA慢、不可逆、只視覺化;UMAP 更快。

📝 iPAS 考點提醒

t-SNE 是常用的非線性降維視覺化工具,iPAS 中級科目三考點。重點:把高維資料投影到 2D 或 3D,盡量保留鄰近關係,讓相似點聚在一起、適合看群聚結構。易混點:t-SNE 重局部結構、群間距離與大小不可解讀(別據此判斷群有多遠);perplexity 參數影響結果、計算慢、結果不穩;不宜當下游特徵。情境:觀察高維資料的群聚,不做後續建模輸入。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

t-SNE 是做什麼的?

一種非線性降維技術,主要用於把高維資料投影到 2D 或 3D 做視覺化,擅長把相近的點聚在一起、凸顯群集結構。

t-SNE 和 PCA 差在哪?

PCA 是線性、保留全局變異、快且可逆;t-SNE 是非線性、著重保留局部鄰近關係,視覺化分群更漂亮但較慢、不可逆。

看 t-SNE 圖要注意什麼陷阱?

群「之間的距離」與群的大小通常沒有意義、不可解讀;結果也受 perplexity 與隨機種子影響,不同次可能長得不同。

perplexity 參數是什麼?

大致代表每個點考慮的有效鄰居數;太小只看極近鄰、太大趨近全局,常見設 5 到 50,需多嘗試。

怎麼評估 t-SNE 好不好?

用結構保留指標如 Trustworthiness、Continuity、kNN 保留率;注意 KL 散度是它的訓練損失、不適合跨模型比較品質。

🧭 相關主題

← 返回 AI 學習與考證地圖