Pca

維數大於樣本數時的 PCA

  • May 22, 2012

我遇到了一個場景,我有 10 個人的 10 個信號/人(所以 100 個樣本),其中包含我需要傳遞給分類器的 14000 個數據點(維度)。我想減少這些數據的維度,而 PCA 似乎是這樣做的方法。但是,我只能找到樣本數量大於維度數量的 PCA 示例。我正在使用一個使用 SVD 查找 PC 的 PCA 應用程序。當我傳遞我的 100x14000 數據集時,返回了 101 台 PC,因此絕大多數維度顯然被忽略了。該程序表明前 6 台 PC 包含 90% 的方差。

假設這 101 個 PC 基本上包含所有方差並且其余維度可以忽略不計,這是一個合理的假設嗎?

我讀過的一篇論文聲稱,使用與我自己相似(儘管質量略低)的數據集,他們能夠將 4500 個維度減少到 80 個,保留 96% 的原始信息。論文詳細介紹了所使用的 PCA 技術的細節,只有 3100 個樣本可用,我有理由相信比實際執行 PCA 所用的樣本更少(以消除分類階段的偏差)。

我是否遺漏了什麼,或者這真的是 PCA 與高維低樣本數據集一起使用的方式嗎?任何反饋將不勝感激。

我會從一個稍微不同的角度來看待這個問題:只有 10 個受試者/100 個樣本,你能承受多複雜的模型?

我通常會回答這個問題:少於 100 台 PC。請注意,我處理的是不同類型的數據(振動光譜),因此情況可能會有所不同。在我的領域中,一個常見的設置是使用從 O (10) 對象的 O (1000) 光譜計算得出的 10 或 25 或 50 台 PC。

這是我要做的:

  • 查看這 100 台 PC 所涵蓋的差異。我通常發現只有很少的組件真正導致我們數據的方差。
  • 我非常喜歡 PLS 作為分類的預處理,而不是 PCA,因為它在分類具有高變化的方向方面做得更好,這對分類沒有幫助(在我的情況下,可能是焦點變化,不同的樣本厚度,. ..)。根據我的經驗,我經常得到具有 10 個 PLS 潛在變量或 25 到 50 個 PC 的類似分類器。
  • 驗證樣本需要僅使用從訓練集計算的 PCA 旋轉進行處理,否則驗證可能(並且在您最可能會遇到的極端情況下)具有很大的過度樂觀偏差。

換句話說,如果您進行自舉或交叉驗證,則需要分別為每個訓練/測試集組合計算 PCA 或 PLS 預處理。

引用自:https://stats.stackexchange.com/questions/28909

comments powered by Disqus