在機器學習和統計學中,特徵選擇(英語:feature selection)也被稱為變量選擇、屬性選擇 或變量子集選擇 。它是指:為了構建模型而選擇相關特徵(即屬性、指標)子集的過程。使用特徵選擇技術有三個原因:
-
要使用特徵選擇技術的關鍵假設是:訓練數據包含許多冗餘 或無關 的特徵,因而移除這些特徵並不會導致丟失信息。[2] 冗餘 或無關 特徵是兩個不同的概念。如果一個特徵本身有用,但如果這個特徵與另一個有用特徵強相關,且那個特徵也出現在數據中,那麼這個特徵可能是冗餘的。[3]
特徵選擇技術與特徵提取有所不同。特徵提取是從原有特徵的功能中創造新的特徵,而特徵選擇則只返回原有特徵中的子集。
特徵選擇技術的常常用於許多特徵但樣本(即數據點)相對較少的領域。特徵選擇應用的典型用例包括:解析書面文本和微陣列數據,這些場景下特徵成千上萬,但樣本只有幾十到幾百個。
特徵選擇算法可以被視為搜索技術和評價指標的結合。前者提供候選的新特徵子集,後者為不同的特徵子集打分。
最簡單的算法是測試每個特徵子集,找到究竟哪個子集的錯誤率最低。這種算法需要窮舉搜索空間,難以算完所有的特徵集,只能涵蓋很少一部分特徵子集。
選擇何種評價指標很大程度上影響了算法。而且,通過選擇不同的評價指標,可以把特徵選擇算法分為三類:包裝類、過濾類和嵌入類方法[3]
- 包裝類方法使用預測模型給特徵子集打分。每個新子集都被用來訓練一個模型,然後用驗證數據集來測試。通過計算驗證數據集上的錯誤次數(即模型的錯誤率)給特徵子集評分。由於包裝類方法為每個特徵子集訓練一個新模型,所以計算量很大。不過,這類方法往往能為特定類型的模型找到性能最好的特徵集。
- 過濾類方法採用代理指標,而不根據特徵子集的錯誤率計分。所選的指標算得快,但仍然能估算出特徵集好不好用。常用指標包括互信息[3]、逐點互信息[4]、皮爾遜積矩相關係數、每種分類/特徵的組合的幀間/幀內類距離或顯著性測試評分。[4][5] 過濾類方法計算量一般比包裝類小,但這類方法找到的特徵子集不能為特定類型的預測模型調校。由於缺少調校,過濾類方法所選取的特徵集會比包裝類選取的特徵集更為通用,往往會導致比包裝類的預測性能更為低下。不過,由於特徵集不包含對預測模型的假設,更有利於暴露特徵之間的關係。許多過濾類方法提供特徵排名,而非顯式提供特徵子集。要從特徵列表的哪個點切掉特徵,得靠交叉驗證來決定。過濾類方法也常常用於包裝方法的預處理步驟,以便在問題太複雜時依然可以用包裝方法。
- 嵌入類方法包括了所有構建模型過程中用到的特徵選擇技術。這類方法的典範是構建線性模型的LASSO方法。該方法給回歸係數加入了L1懲罰,導致其中的許多參數趨於零。任何回歸係數不為零的特徵都會被LASSO算法「選中」。LASSO的改良算法有Bolasso[6]和FeaLect[7]。Bolasso改進了樣本的初始過程。FeaLect根據回歸係數組合分析給所有特徵打分。 另外一個流行的做法是遞歸特徵消除(Recursive Feature Elimination)算法,通常用於支持向量機,通過反覆構建同一個模型移除低權重的特徵。這些方法的計算複雜度往往在過濾類和包裝類之間。
傳統的統計學中,特徵選擇的最普遍的形式是逐步回歸,這是一個包裝類技術。它屬於貪心算法,每一輪添加該輪最優的特徵或者刪除最差的特徵。主要的調控因素是決定何時停止算法。在機器學習領域,這個時間點通常通過交叉驗證找出。在統計學中,某些條件已經優化。因而會導致嵌套引發問題。此外,還有更健壯的方法,如分支和約束和分段線性網絡。
Bermingham, Mairead L.; Pong-Wong, Ricardo; Spiliopoulou, Athina; Hayward, Caroline; Rudan, Igor; Campbell, Harry; Wright, Alan F.; Wilson, James F.; Agakov, Felix; Navarro, Pau; Haley, Chris S. Application of high-dimensional feature selection: evaluation for genomic prediction in man. Sci. Rep. 2015, 5 [2016-06-06]. (原始內容存檔於2015-05-24).
Yang, Yiming; Pedersen, Jan O. A comparative study on feature selection in text categorization. ICML. 1997.
Forman, George. An extensive empirical study of feature selection metrics for text classification. Journal of Machine Learning Research. 2003, 3: 1289–1305.
- Feature Selection for Classification: A Review (頁面存檔備份,存於互聯網檔案館) (Survey,2014)
- Feature Selection for Clustering: A Review (頁面存檔備份,存於互聯網檔案館) (Survey,2013)
- Tutorial Outlining Feature Selection Algorithms, Arizona State University
- JMLR Special Issue on Variable and Feature Selection (頁面存檔備份,存於互聯網檔案館)
- Feature Selection for Knowledge Discovery and Data Mining (頁面存檔備份,存於互聯網檔案館) (Book)
- An Introduction to Variable and Feature Selection (頁面存檔備份,存於互聯網檔案館) (Survey)
- Toward integrating feature selection algorithms for classification and clustering (Survey)
- feature subset selection and subset size optimization.pdf Efficient Feature Subset Selection and Subset Size Optimization[永久失效連結] (Survey, 2010)
- Searching for Interacting Features (頁面存檔備份,存於互聯網檔案館)
- Feature Subset Selection Bias for Classification Learning
- Y. Sun, S. Todorovic, S. Goodison, Local Learning Based Feature Selection for High-dimensional Data Analysis (頁面存檔備份,存於互聯網檔案館), IEEE Transactions on Pattern Analysis and Machine Intelligence , vol. 32, no. 9, pp. {0}8.{/0} {1}{/1}