既然被問到了我就記錄一下——認(rèn)識(shí)PCA、UMAP和TSNE

背景知識(shí)與原理

1. PCA(Principal Component Analysis, 主成分分析)

背景
PCA 是一種經(jīng)典的線性降維技術(shù),起源于統(tǒng)計(jì)學(xué)和信號(hào)處理領(lǐng)域。它的目標(biāo)是通過將高維數(shù)據(jù)投影到低維空間上,找出數(shù)據(jù)中方差最大的方向,即主成分。這些主成分可以幫助簡(jiǎn)化數(shù)據(jù),去除冗余,同時(shí)保留盡可能多的信息。

原理

  • PCA 的核心思想是通過尋找數(shù)據(jù)協(xié)方差矩陣的特征值特征向量來實(shí)現(xiàn)降維。
  • 給定一個(gè)數(shù)據(jù)矩陣
    image.png

    其中 n是樣本數(shù),p是維度,PCA 首先通過中心化數(shù)據(jù),然后計(jì)算數(shù)據(jù)的協(xié)方差矩陣
    image.png
  • 接著,PCA 通過求解該協(xié)方差矩陣的特征值和特征向量,將數(shù)據(jù)投影到特征向量所定義的新坐標(biāo)系中,其中特征值大的方向?qū)?yīng)的數(shù)據(jù)方差最大,即主成分。
  • PCA 通過保留前幾個(gè)主成分來達(dá)到降維的目的。這種方法具有全局性,即它假定數(shù)據(jù)在整個(gè)高維空間中的分布是線性的。

優(yōu)點(diǎn)

  • 線性、全局性,適用于線性結(jié)構(gòu)的數(shù)據(jù)。
  • 計(jì)算速度快,適合大數(shù)據(jù)集。
  • 可以解釋降維后的每個(gè)主成分的含義。

缺點(diǎn)

  • 只能捕捉線性關(guān)系,對(duì)于復(fù)雜的非線性結(jié)構(gòu)效果不佳?!舅訮CA是“線性的”】

應(yīng)用場(chǎng)景

  • 數(shù)據(jù)預(yù)處理和去噪。
  • 高維數(shù)據(jù)可視化。
  • 特征選擇。

2. UMAP(Uniform Manifold Approximation and Projection)

背景
UMAP 是一種基于拓?fù)鋵W(xué)和流形學(xué)習(xí)的非線性降維算法,于2018年由 McInnes 和 Healy 提出。它在處理高維復(fù)雜數(shù)據(jù)時(shí)表現(xiàn)優(yōu)異,特別適用于保持?jǐn)?shù)據(jù)的全局和局部結(jié)構(gòu)。

原理

  • UMAP 假設(shè)數(shù)據(jù)分布在某個(gè)隱含的低維流形上,它通過構(gòu)建 k 近鄰圖來捕捉數(shù)據(jù)的局部結(jié)構(gòu),假定數(shù)據(jù)在局部是線性的。
  • 它使用 Riemann 度量來構(gòu)建近鄰圖,然后通過優(yōu)化兩個(gè)低維空間中點(diǎn)的距離,使得原高維空間中的鄰近關(guān)系盡可能保留。
  • UMAP 的目標(biāo)是最大化近鄰點(diǎn)的相似性,同時(shí)盡量將不相鄰的點(diǎn)分離開。與 t-SNE 相比,UMAP 在大規(guī)模數(shù)據(jù)集上計(jì)算速度更快,并且能夠更好地保留數(shù)據(jù)的全局結(jié)構(gòu)。

優(yōu)點(diǎn)

  • 能夠捕捉復(fù)雜的非線性結(jié)構(gòu)。
  • 比** t-SNE 更快,更適合大規(guī)模數(shù)據(jù)集**。
  • 能夠保留局部和全局結(jié)構(gòu),適用于高維數(shù)據(jù)降維。

缺點(diǎn)

  • 調(diào)參相對(duì)復(fù)雜,主要參數(shù)包括 n_neighborsmin_dist,這會(huì)影響結(jié)果的局部與全局平衡。
  • 對(duì)于某些數(shù)據(jù)集可能不如 t-SNE 保留局部細(xì)節(jié)。

應(yīng)用場(chǎng)景

  • 大規(guī)模、高維數(shù)據(jù)的降維和可視化(如基因表達(dá)數(shù)據(jù)圖像數(shù)據(jù)等)。
  • 特別適用于保留數(shù)據(jù)的局部和全局結(jié)構(gòu)。

3. t-SNE(t-distributed Stochastic Neighbor Embedding)

背景
t-SNE 是一種由 Laurens van der Maaten 和 Geoffrey Hinton 于 2008 年提出的非線性降維算法,廣泛應(yīng)用于高維數(shù)據(jù)的可視化,尤其是在處理非線性數(shù)據(jù)時(shí)效果較好。

原理

  • t-SNE 首先將高維數(shù)據(jù)中每個(gè)數(shù)據(jù)點(diǎn)的近鄰關(guān)系轉(zhuǎn)換為概率分布。在高維空間中,給定數(shù)據(jù)點(diǎn)的近鄰點(diǎn)具有較高的相似性概率。
  • t-SNE 然后在低維空間中構(gòu)建一個(gè)類似的概率分布,通過優(yōu)化兩者之間的 Kullback-Leibler 散度來最小化低維空間與高維空間的近鄰關(guān)系差異。
  • t-SNE 使用 t 分布來增強(qiáng)低維空間中遠(yuǎn)離的點(diǎn),使得不同類的數(shù)據(jù)點(diǎn)更加分散。這個(gè)機(jī)制有效地增強(qiáng)了局部結(jié)構(gòu)的保留,但會(huì)導(dǎo)致全局結(jié)構(gòu)失真。

優(yōu)點(diǎn)

  • 在捕捉局部非線性結(jié)構(gòu)方面表現(xiàn)優(yōu)異。
  • 通常用于數(shù)據(jù)的二維或三維可視化,能夠?qū)⒏呔S數(shù)據(jù)的復(fù)雜結(jié)構(gòu)很好地展現(xiàn)。

缺點(diǎn)

  • 對(duì)于大數(shù)據(jù)集來說計(jì)算開銷大。
  • 全局結(jié)構(gòu)保留較差,局部細(xì)節(jié)容易失真。
  • 參數(shù)(如 perplexity 和學(xué)習(xí)率)的調(diào)整較為復(fù)雜。

應(yīng)用場(chǎng)景

  • 高維復(fù)雜數(shù)據(jù)的可視化,如圖像基因表達(dá)、文檔表示等。
  • 主要用于探索數(shù)據(jù)中的局部結(jié)構(gòu)模式。

比較

特性 PCA UMAP t-SNE
類型 線性 非線性,基于流形學(xué)習(xí) 非線性,基于概率嵌入
全局/局部 全局 局部和全局平衡 局部為主
復(fù)雜度 低(快,適合大數(shù)據(jù)集) 中等(更快,更適合大數(shù)據(jù)集) 高(慢,計(jì)算量大)
可解釋性 高(主成分可解釋) 中等 低(結(jié)果不易解釋)
保留結(jié)構(gòu) 線性結(jié)構(gòu) 全局和局部 局部(全局失真)
調(diào)參難度 中(需調(diào)整鄰居數(shù)和距離參數(shù)) 高(perplexity 和學(xué)習(xí)率較難調(diào))
適用場(chǎng)景 特征提取、數(shù)據(jù)預(yù)處理 大規(guī)模數(shù)據(jù)的降維和可視化 小規(guī)模數(shù)據(jù)的精細(xì)局部結(jié)構(gòu)探索

具體應(yīng)用場(chǎng)景

  1. PCA:用于線性數(shù)據(jù)的降維、去噪和特征提取。適用于初步分析、處理大規(guī)模數(shù)據(jù)以及作為其他復(fù)雜分析的前置步驟。
  2. UMAP:適合處理高維、大規(guī)模數(shù)據(jù),特別是基因表達(dá)分析、單細(xì)胞 RNA-seq、圖像處理和嵌入式學(xué)習(xí)等領(lǐng)域。UMAP 能很好地平衡局部和全局結(jié)構(gòu)。
  3. t-SNE:通常用于探索數(shù)據(jù)中的局部復(fù)雜結(jié)構(gòu),廣泛用于數(shù)據(jù)可視化,例如基因表達(dá)數(shù)據(jù)、神經(jīng)網(wǎng)絡(luò)特征嵌入等。但它計(jì)算速度慢,適合小規(guī)模數(shù)據(jù)集。

如何運(yùn)用

  1. PCA

    • 使用 sklearn.decomposition.PCA 進(jìn)行實(shí)現(xiàn):
      from sklearn.decomposition import PCA
      pca = PCA(n_components=2)
      reduced_data = pca.fit_transform(data)
      
    • 常用于特征提取、去噪、降維等。
  2. UMAP

    • 使用 umap-learn 庫:
      import umap
      reducer = umap.UMAP(n_neighbors=15, min_dist=0.1)
      reduced_data = reducer.fit_transform(data)
      
    • 可根據(jù)數(shù)據(jù)集的特性調(diào)整參數(shù),探索不同的局部與全局結(jié)構(gòu)。
  3. t-SNE

    • 使用 sklearn.manifold.TSNEopenTSNE
      from sklearn.manifold import TSNE
      tsne = TSNE(n_components=2, perplexity=30)
      reduced_data = tsne.fit_transform(data)
      
    • t-SNE 適用于探索局部聚類的可視化。

參考文獻(xiàn)

  1. Hotelling, H. (1933). Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24(6), 417–441.
  2. Pearson, K. (1901). On Lines and Planes of Closest Fit to Systems of Points in Space. Philosophical Magazine, 2(11), 559-572.
  3. McInnes, L., Healy, J., & Melville, J. (2018). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv preprint arXiv:1802.03426.
  4. van der Maaten, L., & Hinton, G. (2008). Visualizing Data using t-SNE.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容