🔭 Dimensionality Reduction 資料降維

互動式機器學習基礎教學

1

為什麼需要資料降維?

😵

維度詛咒(Curse of Dimensionality)

當特徵(欄位)數量太多時,資料在高維空間中會變得極度稀疏,導致模型難以學習有效規律、訓練速度慢,且容易過擬合。

降維就是把高維資料壓縮成低維,保留最重要的資訊,同時去除雜訊與冗餘!

📦 原始高維資料
特徵 1 特徵 2 特徵 3 特徵 4 特徵 5 特徵 6 ⋯ N 個
降維壓縮 →
📉 低維精華資料
主成分 1 主成分 2
👁️

視覺化

將數百個特徵降到 2D/3D,畫出散點圖讓人眼可以直接理解資料分佈

⚡

加速訓練

特徵從 1000 個降到 50 個,模型訓練速度大幅提升,節省計算資源

🧹

去除雜訊

某些方法可減少冗餘資訊;是否提升泛化能力仍須用驗證資料確認

2

選擇資料集,看看降維效果

📋 資料集說明

👆 選擇資料集後點擊「執行降維」
4

該選哪一種?速查表

📐

PCA

✅ 適合使用:
  • 需要快速降低特徵維度進行預處理
  • 資料呈線性關係
  • 想了解哪些特徵最重要(可解釋性)
❌ 避免使用:
  • 資料有非線性複雜結構
🌐

t-SNE

✅ 適合使用:
  • 主要目的是資料視覺化
  • 想探索資料的群聚結構
  • 資料有非線性複雜的流形結構
❌ 避免使用:
  • 需要快速執行(計算慢)
  • 作為機器學習的特徵工程步驟
🎯

LDA

✅ 適合使用:
  • 資料有類別標籤
  • 目標是分類任務的預處理
  • 希望降維後保持類別可分性
❌ 避免使用:
  • 沒有類別標籤(非監督場景)
  • 類別數 C 很少(維度上限為 C−1)

🧭 快速判斷流程

你的目的是什麼?
👁️ 視覺化探索
↓
t-SNE
⚙️ 預處理 / 特徵工程
↓
PCA
🎯 分類任務降維
↓
LDA
5

常見陷阱與注意事項

⚠️

先縮放,再降維

PCA 對數值尺度敏感。若特徵量綱差異大(如身高 cm vs 年收入萬元), 必須先做特徵縮放(Z-Score),否則數值大的特徵會主導主成分。

🔒

資料洩漏

PCA/LDA 必須只在訓練集上 fit(學習轉換矩陣),再用相同的轉換應用到測試集。 若使用全部資料 fit,會洩漏測試集資訊。

🎲

t-SNE 的隨機性

t-SNE 每次執行結果可能不同(受初始點影響)。實驗時請設置 random_state 固定種子, 且不同執行結果間的座標位置無法直接比較。

📏

保留多少維度?

PCA 可透過累積解釋變異量決定保留幾個主成分(通常保留到累積 80%~95%)。 沒有固定答案,需要根據任務和效能評估。