如何進行特征選擇


前言

這是百度的周末AI課程的第三講。主要講的是如何進行特征選擇,分成兩部分的內容,第一部分是特征選擇的理論,第二部分是代碼。

 

理論部分:
一個典型的機器學習任務是通過樣本的特征來預測樣本所對應的值。特征過多會導致模型過於復雜,從而導致過擬合;而特征過少則會導致模型過於簡單,從而導致欠擬合。事實上,如果特征數大於樣本數,那么過擬合就不可避免。

特征數比較少的時候,我們需要增加特征。增加特征方法很多:依照經驗;利用已有算法提取特征(比如多項式回歸)。在現實中,我們更加注重的是減少特征。需要被減少的特征主要有兩種:無關特征,多余特征。無關特征指的是和預測沒有關系的特征;多余特征指的是和其他特征有很強相關性的特征。減少特征的意義主要有三點:1.降低過擬合;2.使得模型具有更好的解釋性;3.可以加快模型訓練的時間,獲得更好的性能。

實際中我們很難從經驗上判斷特征是否和預測相關,也很難確定特征之間的相關性。因此我們需要利用工程和數學上的方法進行科學的特征選擇。目前特征選擇的方法主要可以分成三類:過濾法(fliter),包裹法(wrapper),嵌入法(embedding)。

過濾法:
過濾法只用於檢驗特征向量和目標向量的相關度,不需要任何的機器學習算法,不依賴於任何模型。過濾法只需要根據統計量進行篩選:我們根據統計量的大小,設置合適的閾值,將低於閾值的特征剔除。

相關系數是一種典型的過濾法。相關系數描述了變量之間的相關性。它是由變量之間協方差和變量的方差來定義的。具體的定義方式如下:

 

 

 

 

 

 

 

 

包裹法:

包裹法采用的是特征搜索的辦法。他的基本思路是,從初始特征集合中不斷的選擇子集合,根據學習器的性能來對子集進行評價,直到選擇最佳的子集合。

常見的包裹法有:窮舉法(適合特征比較少的情況,特征多的時候易發生組合爆炸);隨機法。隨機法有很多種實現方式比如LV算法,貪心算法。不過我們一般使用貪心算法,因為LV算法在特征比較多的時候,開銷依舊很大。貪心算法也有幾種不同的實現方式:

1.前向搜索。在開始時,按照特征數來划分子集,每個子集只有一個特征,對每個子集進行評價。然后在最優的子集上逐步增加特征,使模型性能提升最大,直到增加特征並不能使模型性能提升為止。

2.后向搜索。在開始時,將特征集合分別減去一個特征作為子集,每個子集有N—1個特征,對每個子集進行評價。然后在最優的子集上逐步減少特征,使得模型性能提升最大,直到減少特征並不能使模型性能提升為止。

3.雙向搜索。就是前向搜索和后向搜索的結合。

4.遞歸剔除。反復的訓練模型,並剔除每次的最優或者最差的特征,將剔除完畢的特征集進入下一輪訓練,直到所有的特征被剔除,被剔除的順序度量了特征的重要程度。

嵌入法:

過濾法不需要學習器,包裹法使用固定的學習器,而嵌入法沒有顯式的特征選擇過程,他的特征選擇是在訓練學習器的過程中完成的。

L1正則化和決策樹算法是典型的嵌入式特征選擇算法。L1正則化將某些特征的權重系數降為0,那就說明這些特征不重要,不需要被模型所訓練【又看到了一種L1正則化的新解釋】。決策樹也是典型的嵌入法。因為決策樹是利用一個特征進行分類,我們在生成決策樹的過程就是挑選特征的過程,並且根據特征的不同取值構建子節點,直到特征沒有分類能力或者很小,就停止生成節點。

 

參考鏈接:https://mp.weixin.qq.com/s/169d2yndhuAeafMKtEviyw

 spearman系數:

 本文所說的相關系數又叫做Pearson相關系數,實際上,Pearson相關系數能被看作夾角余弦值的重要前提是數據的中心化,而中心化的思想來源於高斯分布。所以Pearson相關系數更多的是測量服從正態分布的隨機變量的相關性,如果這個假設並不存在,那么可以使用spearman相關系數

 

• 過濾法應用於回歸問題,還可以采用互信息法(Mutual Information ),應用分類問題則可以使用卡方檢驗(Chi-Squared Test )。

 

• 我們將多個決策樹集成起來,會獲得隨機森林(Random Forests ),與決策樹一樣,它可以在決定類別時,評估特征的重要性,從而實現特征選擇的作用.xgboost也會起到類似的作用。

 

• 深度學習具有自動學習特征的能力,而特征選擇是機器學習非常重要的一環,這也是深度學習能取得重大成功的原因之一。

 

代碼部分

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM