1. 程式人生 > >降維演算法--PCA 與 t-SNE

降維演算法--PCA 與 t-SNE

PCA是大家所熟知的降維演算法,但是線性降維雖然簡單,其侷限性也很明顯,難以實現高維資料在低維空間的視覺化。

t-SNE是非線性的降維演算法,能實現高維到低維的視覺化對映,但因為涉及大量的條件概率、梯度下降等計算,時間和空間複雜度是平方級的,比較耗資源。

t-SNE幾乎可用於所有高維資料集,廣泛應用於影象處理,自然語言處理,基因組資料和語音處理。例項有:面部表情識別[2]、識別腫瘤亞群[3]、使用wordvec進行文字比較[4]等。

實現:R的Rtsne包;Python的sklearn包。

具體原理和實現程式碼請戳點選開啟連結