機器學習中主成分分析(PCA)和特徵選擇之間的區別是什麼? PCA是特徵選擇的手段嗎?PCA(主成分分析)和特徵選擇之間的區別
回答
PCA是找出哪些特徵對於最好地描述數據集中的方差很重要的一種方法。它最常用於降低大型數據集的維數,以便在原始數據具有固有高維度(如圖像識別)的情況下應用機器學習變得更加實用。
PCA有一些限制,因爲它依賴於特徵元素之間的線性關係,在開始之前通常不清楚這些關係是什麼。由於它也「隱藏」了對數據變化影響不大的特徵元素,因此它有時可以根除一個小但顯着的差異因素,從而影響機器學習模型的性能。
您可以使用PCA進行功能選擇。
主成分分析(PCA)是
的技術「使用正交變換的一組 可能相關的變量的觀測轉換成一組不相關的 變量稱爲主成分的值的」。
PCA幫助我們從根本上回答的問題是:這些M參數中的哪一個解釋了包含在數據集內的重要變化量 ? PCA基本上有助於應用規則:參數的一小部分(比如說20%)可以解釋數據變化的80%或更多 ?
但它也有一些缺點:它是對規模敏感,更側重於數據震級的更高階。數據規範化不可能永遠是解決辦法,因爲這裏說明:
還有其他的方法可以做到特徵選擇:
特徵選擇算法可以被看作是一個 搜索的組合用於提出新的特徵子集的技術,以及對不同的特徵子集進行評分的評估測量。最簡單的算法是測試每個可能的子集的特徵,發現最小化差錯率的特徵子組。這是該空間的詳盡搜索 ,並且除了最小的特徵集之外的所有區域都是計算上難以處理的。評估指標的選擇很大程度上影響着算法,正是這些評估指標可以區分算法:包裝器,過濾器和嵌入式方法的三大類特徵選擇算法。
在某些領域,特徵提取可以提出具體的目標:在圖像處理,你可能要執行的斑點,邊緣或脊檢測。
這是如何解決通過PCA選擇特徵的問題? PCA生成新功能,但它不會立即幫助從原始功能空間中選擇功能。答案的第二部分涉及監督問題中的特徵選擇;目前還不清楚OP是否正在尋找這個。 PCA是一種內在的無監督技術,並且我唯一提及的與我看到的無監督特徵選擇有關的是主要特徵分析:http://venom.cs.utsa.edu/dmz/techrep/2007/CS-TR-2007-011 .pdf我問過如何在R中實現這個http://stackoverflow.com/q/32811659/1840471。 – 2015-09-27 18:58:46
只是添加到@Roger Rowland的答案。在監督學習(分類,迴歸)的背景下,我喜歡將PCA看作是「特徵變換器」,而不是特徵選擇器。
PCA基於提取數據顯示最高可變性的座標軸。儘管它在新的基礎上「展開」了數據,並且可以在無監督學習中提供很大幫助,但不能保證新軸與監督問題中的歧視性特徵相一致。
簡而言之,在預測因變量(例如類標籤)時,根本不能保證您的最高主成分是最具信息性的。
This paper是一個有用的來源。 另一個相關的交叉驗證鏈接是here。
只是添加到上面的很好的答案。不同之處在於,PCA將嘗試通過探索數據的一個特徵如何用其他特徵(線性依賴性)表達來降低維度。 改爲選擇特徵,將目標考慮在內。它會根據他們預測目標值的有用程度對您的輸入變量進行排名。這對於單變量特徵選擇是正確的。 多變量特徵選擇也可以做一些可以被認爲是PCA形式的東西,因爲它會丟棄輸入中的一些特徵。但不要把這個比喻太過分了。
- 1. 主成分分析vs特徵去除
- 2. 做特徵選擇,主成分分析和歸一化的正確順序?
- 3. PCA對於分類特徵?
- 4. 主成分分析(PCA) - 訪問形狀
- 5. Python - 主成分分析(PCA)錯誤
- 6. 情感分析,特徵選擇
- 7. 對應PCA之間的主成分和原始變量
- 8. 用特徵庫進行主成分分析
- 9. 詞性分析(POS)標籤文本分類的特徵選擇
- 10. 使用python教程的主成分分析(PCA)
- 11. 關於R中主成分分析(PCA)的一般問題
- 12. 不理解Python中主成分分析(PCA)的輸出
- 13. 選擇和收集之間的區別
- 14. PCA空間和「特徵空間」分歧中的質心距離計算
- 15. PCA分析
- 16. 合併和分支之間的區別
- 17. master和gcloud分支之間的區別
- 18. 分類和迴歸之間的區別
- 19. splitByWholeSeparatorPreserveAllTokens和分割之間的區別
- 20. 主成分分析(PCA)使用python計算平均值
- 21. Spark主成分分析(PCA)預期結果
- 22. db2中的分配和分區之間的區別
- 23. Highland.js,Kefir.js和Rx.js之間的區別特徵是什麼?
- 24. 如何區分生成元素和選定元素之間的區別?
- 25. 找到主幹和分支之間的區別?
- 26. 動態二進制儀表和分析之間的區別
- 27. 不一致的分析和髒讀之間有什麼區別?
- 28. 主成分分析 - 爲什麼特徵向量的點積不是零?
- 29. PCA分析與PySpark
- 30. 潛在語義分析與顯式語義分析之間的區別
我認爲這裏的一個關鍵是PCA是一種無監督技術,而特徵選擇通常(但並非總是)指的是受監督的問題。可以使用PCA來描述一個數據集 - 可以通過在幾臺PC上的絕對高負載顯示某些變量是重要的 - 或者在監督模型中拋出主要組件,以使模型更容易運行。但一般來說,PCA本身不是特徵選擇工具。 – 2015-09-27 19:04:38