作業:
自由作業:探索下什么時候用到降維?降維的主要應用?或者讓ai給你出題,群里的同學互相學習下。可以考慮對比下在某些特定數據集上t-sne的可視化和pca可視化的區別。
一、什么時候用到降維?
降維通常用于以下幾類情況:
1. 數據可視化
-
高維數據(>3維)無法直接可視化,常用降維將數據映射到2D或3D平面進行展示。
-
常用方法:PCA、t-SNE、UMAP。
2. 數據壓縮 / 存儲優化
-
高維數據存儲代價大,降維后可減少冗余特征,節省存儲空間。
3. 降噪(Denoising)
-
高維特征空間中可能存在大量噪聲維度,降維有助于突出主要結構。
4. 加速模型訓練 / 避免維數災難
-
在監督學習或聚類中,太多維度容易導致過擬合或訓練緩慢,降維可提升效率和模型泛化能力。
5. 特征冗余或共線性問題
-
特征間高度相關時,降維可消除多重共線性,提高建模穩定性。
?二、降維的主要方法與應用場景
方法 | 類型 | 原理簡介 | 適用場景 |
---|---|---|---|
PCA | 線性、無監督 | 主成分投影,保留最大方差方向 | 高維數據壓縮、線性結構數據可視化 |
t-SNE | 非線性、無監督 | 保持局部結構的概率分布相似性 | 聚類結構可視化、非線性流形數據展示 |
UMAP | 非線性、無監督 | 通過圖拓撲保持局部和整體結構 | 替代t-SNE,用于可視化/特征工程 |
LDA | 線性、有監督 | 最大化類間方差與類內方差比 | 分類問題的有監督降維 |
Autoencoder | 非線性、有監督 | 利用神經網絡編碼壓縮再解碼還原數據 | 圖像降噪、生成模型、特征提取 |
?三、t-SNE vs PCA:可視化對比分析
1. 適用數據集
以MNIST(手寫數字圖像,784維)或Iris數據集(4維)為例,我們可以觀察兩者的區別。
2. 可視化效果(以MNIST為例)
PCA 可視化:
-
優點:快速,線性變換,可解釋性強。
-
缺點:只能保留全局最大方差方向,聚類不明顯,容易“混團”。
t-SNE 可視化:
-
優點:保留局部結構,同類樣本聚得更緊,異類分得更開。
-
缺點:
-
非線性變換,不能用于后續建模;
-
隨機性大(不同run結果可能不同);
-
參數敏感,尤其是
perplexity
。
-
可視化示意圖
方法 | 可視化效果簡述 |
---|---|
PCA | 線性投影,點分布均勻,類聚不明顯 |
t-SNE | 同類樣本成簇,聚類輪廓清晰 |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? PCA?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?t-SNE?
?
四、實踐建議:如何選用降維方法?
場景 | 建議方法 | 理由 |
---|---|---|
數據預處理 | PCA | 快速提取主成分,增強模型泛化性 |
可視化非線性聚類結構 | t-SNE / UMAP | 更好展示局部結構,直觀展示聚類效果 |
圖像/文本壓縮或編碼 | Autoencoder | 可自適應學習低維特征表達 |
有標簽分類建模前特征壓縮 | LDA | 結合類別信息降維,提高類別區分能力 |
@浙大疏錦行