教你如何做特徵選擇

2021-01-14 機器學習AI算法工程


向AI轉型的程式設計師都關注了這個號👇👇👇

機器學習AI算法工程  公眾號:datayx



特徵選擇方法初識:

1、為什麼要做特徵選擇
在有限的樣本數目下,用大量的特徵來設計分類器計算開銷太大而且分類性能差。


2、特徵選擇的確切含義
將高維空間的樣本通過映射或者是變換的方式轉換到低維空間,達到降維的目的,然後通過特徵選取刪選掉冗餘和不相關的特徵來進一步降維。


3、特徵選取的原則
獲取儘可能小的特徵子集,不顯著降低分類精度、不影響類分布以及特徵子集應具有穩定適應性強等特點


主要有三種方法:


1、Filter方法

其主要思想是:對每一維的特徵「打分」,即給每一維的特徵賦予權重,這樣的權重就代表著該維特徵的重要性,然後依據權重排序。

主要的方法有:



2、Wrapper方法

其主要思想是:將子集的選擇看作是一個搜索尋優問題,生成不同的組合,對組合進行評價,再與其他的組合進行比較。這樣就將子集的選擇看作是一個是一個優化問題,這裡有很多的優化算法可以解決,尤其是一些啟發式的優化算法,如GA,PSO,DE,ABC等。

主要方法有:(遞歸特徵消除算法)


3、Embedded方法

其主要思想是:在模型既定的情況下學習出對提高模型準確性最好的屬性。這句話並不是很好理解,其實是講在確定模型的過程中,挑選出那些對模型的訓練有重要意義的屬性。

簡單易學的機器學習算法——嶺回歸(Ridge Regression)」,嶺回歸就是在基本線性回歸的過程中加入了正則項


總結以及注意點

這篇文章中最後提到了一點就是用特徵選擇的一點Trap。個人的理解是這樣的,特徵選擇不同於特徵提取,特徵和模型是分不開,選擇不同的特徵訓練出的模型是不同的。在機器學習=模型+策略+算法的框架下,特徵選擇就是模型選擇的一部分,是分不開的。這樣文章最後提到的特徵選擇和交叉驗證就好理解了,是先進行分組還是先進行特徵選擇。

答案是當然是先進行分組,因為交叉驗證的目的是做模型選擇,既然特徵選擇是模型選擇的一部分,那麼理所應當是先進行分組。如果先進行特徵選擇,即在整個數據集中挑選擇機,這樣挑選的子集就具有隨機性。

我們可以拿正則化來舉例,正則化是對權重約束,這樣的約束參數是在模型訓練的過程中確定的,而不是事先定好然後再進行交叉驗證的。


特徵選擇代碼地址

關注微信公眾號 datayx  然後回復 特徵選擇  即可獲取。

AI項目體驗地址 https://loveai.tech



特徵選擇方法具體分細節總結:

1 去掉取值變化小的特徵 Removing features with low variance
該方法一般用在特徵選擇前作為一個預處理的工作,即先去掉取值變化小的特徵,然後再使用其他的特徵選擇方法選擇特徵。


2 單變量特徵選擇 Univariate feature selection
單變量特徵選擇能夠對每一個特徵進行測試,衡量該特徵和響應變量之間的關係,根據得分扔掉不好的特徵。對於回歸和分類問題可以採用卡方檢驗等方式對特徵進行測試。


2.1 Pearson相關係數 Pearson Correlation
皮爾森相關係數是一種最簡單的,能幫助理解特徵和響應變量之間關係的方法,該方法衡量的是變量之間的線性相關性,結果的取值區間為[-1,1],-1表示完全的負相關(這個變量下降,那個就會上升),+1表示完全的正相關,0表示沒有線性相關。


2.2 互信息和最大信息係數 Mutual information and maximal information coefficient (MIC)
以上就是經典的互信息公式了。想把互信息直接用於特徵選擇其實不是太方便:1、它不屬於度量方式,也沒有辦法歸一化,在不同數據及上的結果無法做比較;2、對於連續變量的計算不是很方便(X和Y都是集合,x,y都是離散的取值),通常變量需要先離散化,而互信息的結果對離散化的方式很敏感。


2.3 距離相關係數 (Distance correlation)
距離相關係數是為了克服Pearson相關係數的弱點而生的。Pearson相關係數是0,我們也不能斷定這兩個變量是獨立的(有可能是非線性相關);但如果距離相關係數是0,那麼我們就可以說這兩個變量是獨立的。


2.4 基於學習模型的特徵排序 (Model based ranking)
這種方法的思路是直接使用你要用的機器學習算法,針對每個單獨的特徵和響應變量建立預測模型。其實Pearson相關係數等價於線性回歸裡的標準化回歸係數。假如某個特徵和響應變量之間的關係是非線性的,可以用基於樹的方法(決策樹、隨機森林)、或者擴展的線性模型等。基於樹的方法比較易於使用,因為他們對非線性關係的建模比較好,並且不需要太多的調試。但要注意過擬合問題,因此樹的深度最好不要太大,再就是運用交叉驗證


3 線性模型和正則化
單變量特徵選擇方法獨立的衡量每個特徵與響應變量之間的關係,另一種主流的特徵選擇方法是基於機器學習模型的方法。有些機器學習方法本身就具有對特徵進行打分的機制,或者很容易將其運用到特徵選擇任務中,例如回歸模型,SVM,決策樹,隨機森林等等。


3.1 正則化模型
正則化就是把額外的約束或者懲罰項加到已有模型(損失函數)上,以防止過擬合併提高泛化能力。損失函數由原來的E(X,Y)變為E(X,Y)+alpha||w||,w是模型係數組成的向量(有些地方也叫參數parameter,coefficients),||·||一般是L1或者L2範數,alpha是一個可調的參數,控制著正則化的強度。當用在線性模型上時,L1正則化和L2正則化也稱為Lasso和Ridge。


3.2 L1正則化/Lasso
L1正則化將係數w的l1範數作為懲罰項加到損失函數上,由於正則項非零,這就迫使那些弱的特徵所對應的係數變成0。因此L1正則化往往會使學到的模型很稀疏(係數w經常為0),這個特性使得L1正則化成為一種很好的特徵選擇方法。


3.3 L2正則化/Ridge regression
L2正則化將係數向量的L2範數添加到了損失函數中。由於L2懲罰項中係數是二次方的,這使得L2和L1有著諸多差異,最明顯的一點就是,L2正則化會讓係數的取值變得平均。對於關聯特徵,這意味著他們能夠獲得更相近的對應係數。還是以Y=X1+X2為例,假設X1和X2具有很強的關聯,如果用L1正則化,不論學到的模型是Y=X1+X2還是Y=2X1,懲罰都是一樣的,都是2alpha。但是對於L2來說,第一個模型的懲罰項是2alpha,但第二個模型的是4*alpha。可以看出,係數之和為常數時,各係數相等時懲罰是最小的,所以才有了L2會讓各個係數趨於相同的特點。
可以看出,L2正則化對於特徵選擇來說一種穩定的模型,不像L1正則化那樣,係數會因為細微的數據變化而波動。所以L2正則化和L1正則化提供的價值是不同的,L2正則化對於特徵理解來說更加有用:表示能力強的特徵對應的係數是非零


4 隨機森林
隨機森林具有準確率高、魯棒性好、易於使用等優點,這使得它成為了目前最流行的機器學習算法之一。隨機森林提供了兩種特徵選擇的方法:mean decrease impurity和mean decrease accuracy。


4.1 平均不純度減少 mean decrease impurity
隨機森林由多個決策樹構成。決策樹中的每一個節點都是關於某個特徵的條件,為的是將數據集按照不同的響應變量一分為二。利用不純度可以確定節點(最優條件),對於分類問題,通常採用基尼不純度或者信息增益,對於回歸問題,通常採用的是方差或者最小二乘擬合。當訓練決策樹的時候,可以計算出每個特徵減少了多少樹的不純度。對於一個決策樹森林來說,可以算出每個特徵平均減少了多少不純度,並把它平均減少的不純度作為特徵選擇的值。


4.2 平均精確率減少 Mean decrease accuracy
另一種常用的特徵選擇方法就是直接度量每個特徵對模型精確率的影響。主要思路是打亂每個特徵的特徵值順序,並且度量順序變動對模型的精確率的影響。很明顯,對於不重要的變量來說,打亂順序對模型的精確率影響不會太大,但是對於重要的變量來說,打亂順序就會降低模型的精確率。


5 兩種頂層特徵選擇算法
之所以叫做頂層,是因為他們都是建立在基於模型的特徵選擇方法基礎之上的,例如回歸和SVM,在不同的子集上建立模型,然後匯總最終確定特徵得分。


5.1 穩定性選擇 Stability selection
穩定性選擇是一種基於二次抽樣和選擇算法相結合較新的方法,選擇算法可以是回歸、SVM或其他類似的方法。它的主要思想是在不同的數據子集和特徵子集上運行特徵選擇算法,不斷的重複,最終匯總特徵選擇結果,比如可以統計某個特徵被認為是重要特徵的頻率(被選為重要特徵的次數除以它所在的子集被測試的次數)。理想情況下,重要特徵的得分會接近100%。稍微弱一點的特徵得分會是非0的數,而最無用的特徵得分將會接近於0。


5.2 遞歸特徵消除 Recursive feature elimination (RFE)
遞歸特徵消除的主要思想是反覆的構建模型(如SVM或者回歸模型)然後選出最好的(或者最差的)的特徵(可以根據係數來選),把選出來的特徵放到一遍,然後在剩餘的特徵上重複這個過程,直到所有特徵都遍歷了。這個過程中特徵被消除的次序就是特徵的排序。因此,這是一種尋找最優特徵子集的貪心算法。


RFE的穩定性很大程度上取決於在迭代的時候底層用哪種模型。例如,假如RFE採用的普通的回歸,沒有經過正則化的回歸是不穩定的,那麼RFE就是不穩定的;假如採用的是Ridge,而用Ridge正則化的回歸是穩定的,那麼RFE就是穩定的。
7、特徵獲取方法的選取原則
a、處理的數據類型
b、處理的問題規模
c、問題需要分類的數量
d、對噪聲的容忍能力
e、無噪聲環境下,產生穩定性好、最優特徵子集的能力。

互信息Mutual Informantion

 yj對xi的互信息定義為後驗概率與先驗概率比值的對數。

互信息越大,表明yj對於確定xi的取值的貢獻度越大。

實際上,互信息衡量的是xi與y的獨立性,如果他倆獨立,則互信息發值為零,則xi與y不相關,則可以剔除xi,反之,如果互信息發值越大則他們的相關性越大


基於期望交叉熵的特徵項選擇



1初始化特徵集F為空

2掃描i從1到n,

  如果第i個特徵不再F中,那麼將特徵i和F放到一起Fi在只使用Fi中特徵的情況下,利用交叉驗證來得到Fi的錯誤率。

3從上步中得到的n個Fi中選擇出錯誤率最小的Fi,更新F為Fi

  如果F中的特徵數達到n或者預設定的閾值(如果有),那麼輸出整個搜索過程中最好的F,沒達到轉到2




閱讀過本文的人還看了以下:


分享《深度學習入門:基於Python的理論與實現》高清中文版PDF+原始碼


《21個項目玩轉深度學習:基於TensorFlow的實踐詳解》完整版PDF+附書代碼


《深度學習之pytorch》pdf+附書源碼


李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材


筆記、代碼清晰易懂!李航《統計學習方法》最新資源全套!


《神經網絡與深度學習》最新2018版中英PDF+源碼


將機器學習模型部署為REST API


FashionAI服裝屬性標籤圖像識別Top1-5方案分享


重要開源!CNN-RNN-CTC 實現手寫漢字識別


yolo3 檢測出圖像中的不規則漢字


同樣是機器學習算法工程師,你的面試為什麼過不了?


前海徵信大數據算法:風險概率預測


【Keras】完整實現『交通標誌』分類、『票據』分類兩個項目,讓你掌握深度學習圖像分類


VGG16遷移學習,實現醫學圖像識別分類工程項目


特徵工程(一)


特徵工程(二) :文本數據的展開、過濾和分塊


特徵工程(三):特徵縮放,從詞袋到 TF-IDF


特徵工程(四): 類別特徵


特徵工程(五): PCA 降維


特徵工程(六): 非線性特徵提取和模型堆疊


特徵工程(七):圖像特徵提取和深度學習


如何利用全新的決策樹集成級聯結構gcForest做特徵工程並打分?


Machine Learning Yearning 中文翻譯稿


螞蟻金服2018秋招-算法工程師(共四面)通過


全球AI挑戰-場景分類的比賽源碼(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(列印收藏)


python+flask搭建CNN在線識別手寫中文網站


中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特徵工程


不斷更新資源

深度學習、機器學習、數據分析、python

 搜索公眾號添加: datayx  

長按圖片,識別二維碼,點關注


AI項目體驗

https://loveai.tech



相關焦點

  • 大連華訊教你如何選擇靠譜的國產MCU
    如何選擇靠譜的國產MCU呢成為一眾投資者朋友們關心的話題。同時,大連華訊了解到,加之疫情等因素影響,近期國外MCU開始缺貨,但在此情況下,如何選擇靠譜的國產MCU呢,接下來大連華訊將從以下幾個方面來教廣大投資者選擇靠譜的國產MCU!大連華訊教你:什麼是真正的引腳兼容?
  • 教你裝修時如何選擇,客廳、臥室的燈!
    歡迎大家閱讀小編的文章,今天給大家帶來的內容是「教你裝修時如何選擇,客廳、臥室的燈!」,你可以再下方評論區發表你的看法,如果你喜歡可以點擊小編的頭像加關注,小編會持續為您提供最優質的好文章!如今,發展快的社會中,經濟的發展讓我們很多人都能夠擁有一套,屬於自己的房子,在如今的話,如果沒有房子的話,很多男性朋友都找不到自己的女朋友,當然是自己,如果有一套房子的話,我們最擔心的應該是房子的裝修吧,你們知道該如何裝修我們房子燈光?好的,今天小編就帶,大家一起來了解一下我們,在裝修時選擇什麼樣的燈?
  • 手把手教你如何選擇粉底液!
    如果你是黃二白的膚色卻選擇了一個粉調一白的色號,上臉本身就是很違和的,再加上粉底的氧化,暗沉花妝後會非常難看。所以認清自己的膚色,再選擇一個合適的粉底色號,是你現在必須要做到的。▽選擇粉底液儘量去專櫃試色,試色也一定不要在手上試色,因為手上的膚色和臉上的膚色不一樣,這樣做誤差會很大。粉底液需要在臉和脖子的交界處試色,這樣才能真正判斷出那個色號更適合你。
  • 機器學習的特徵選擇方法要如何選取?
    在本文中,您將發現如何為統計數據和分類數據選擇統計度量,以進行基於過濾器的特徵選擇。閱讀這篇文章後,您將知道:特徵選擇技術主要有兩種類型:包裝器和過濾器方法。基於過濾器的特徵選擇方法使用統計量度對可以過濾以選擇最相關特徵的輸入變量之間的相關性或依賴性進行評分。必須根據輸入變量和輸出或響應變量的數據類型仔細選擇用於特徵選擇的統計量度。
  • 教你如何旋轉拍攝的照片
    原標題:iPhone技巧篇 教你如何旋轉拍攝的照片   iPhone自從推出全新的設備和系統之後,拍照功能是越來越強,大街小巷裡用iPhone拍照的人是越來越多,並且這部分喜歡自拍或拍照的人為了能達到良好的效果,甚至還會下載各式各樣的拍照軟體,其實iOS8系統自推出以來一直在完善拍照功能,目前的iOS 8.1.3版就支持用戶在拍照之後旋轉照片
  • 裝飾畫如何選擇?幾種顏色搭配方案教你秒變ins風
    那麼我們在選擇裝飾畫的時候有什麼技巧能夠在選擇裝飾畫的時候不出錯呢?別著急,今天這篇文章我們就會來教教大家該如何根據自家硅藻泥牆面顏色挑選裝飾畫:一、裝飾畫需要注意些什麼我們先來說說用裝飾畫裝飾牆壁都需要注意些什麼,如果你準備購買或者已經購買裝飾畫,都可以來看看:(1)與家居的距離裝飾畫與家具的距離一定要把控好,否則就會破壞整體空間的融洽感。距離最好是掌握在15—20釐米,這是最佳距離。
  • 特徵選擇怎麼做?這篇文章告訴你
    圖 1:分類器性能和維度之間的關係特徵選擇有許多不同的方法可用於特徵選擇。在這樣做的同時,我們將嘗試不同的特徵消除技術,看看它們會如何影響訓練時間和模型整體的精度。首先,我們需要導入所有必需的庫。了解我們的模型最重要的特徵對於理解我們的模型如何做出預測(使其更易於解釋)是至關重要的。同時,我們可以去掉那些對我們的模型沒有任何好處的特徵。
  • 黃瓜的生長形態特徵和對環境條件的要求,教你如何種黃瓜
    我是百家號的原創作者藍色的小農民我今天給大家帶來的是黃瓜的形態特徵和對環境條件的要求,教你如何種黃瓜。黃瓜,別名胡瓜、王瓜。以嫩果作為產品器官,消費量巨大,均有栽培。1.形態特徵根系由主根和側根兩部分組成。其主根入土深達80~100米,但主要集中在0釐米的士表層,被稱為「串皮根」。
  • 夢幻西遊:對動物套最最通透的解析,教你平民如何選擇
    夢幻西遊:對動物套最最通透的解析,教你平民如何選擇以下原文作者:網易大神汐小寶提升人物屬性的方法有很多,除了升級、潛能果、坐騎、靈飾等因素,主要的屬性點提升還要來自於裝備,那麼如何選擇合適自己的裝備呢?本篇攻略帶你了解一下!
  • 三大旗艦WiFi實測,教你如何選擇一款上網更快的手機
    前言:三大旗艦WiFi實測,教你如何選擇一款上網更快的手機 作者|楊老師講科技 各位大家好,歡迎閱讀由楊老師講科技提供的科技資訊。今天我們的主題是:三大旗艦WiFi實測,教你如何選擇一款上網更快的手機!接下來我們一起進入正題。
  • 資深工程師教你如何選擇運放
    資深工程師教你如何選擇運放 工程師9 發表於 2018-05-28 09:36:38 目前市場運放種類繁多,面對不同的使用條件和環境,是否都能選擇一樣的運放呢
  • 氫彈如何製作?手把手教你做一顆氫彈
    氫彈今天小編手把手教你做一顆氫彈,來看具體操作。首先,你最好住在海邊,因為海水裡可以提煉出大量的氘和氚 ,它們都是氫元素的同位素。(氘有兩個中子,氚有三個中子,還有一個中子的氕,自然界中最多的就是氕,水分子裡的氫元素絕大部分都是氕,含有較多氘或氚元素組成的水叫做重水,極其稀少)然後把上一集教大家做好的原子彈拿過來,要是你沒看上集,沒做好原子彈就沒辦法了,趕快回去補課把原子彈做出來。
  • 人生如何做選擇?俞敏洪:果斷、不猶豫,選擇時考慮好這3點
    我們這一生,總是在面臨著各種各樣的選擇,有的很容易就能夠決斷出來,有的卻讓我們反覆糾結,很難做出決定。人生應該如何更好做選擇呢?俞敏洪曾說:選擇是要果斷、不猶豫,但要考慮好這3件事:1.做選擇時,我們要做的第一件事不是向外看,而是向內看這是很多人在做很多事情時都存在的一個誤區。
  • 教你如何挑選
    教你如何挑選   土雞蛋真的比普通的雞蛋更營養嗎?在坊間有說法認為土雞蛋營養價值更高,因而受到了追捧,導致假冒偽劣的土雞蛋越來越多。有什麼辦法可以選擇到優質的土雞蛋呢?在這裡,就來教大家幾招挑選土雞蛋的方法,千萬別錯過了。   土雞蛋營養價值更高?   土雞蛋和普通雞蛋的營養價值雖各有側重,其實可忽略不計。
  • 手把手教你選擇防腐耐酸磚行業的有效推廣關鍵詞
    最近,防腐耐酸磚行業的朋友的諮詢問:因為最近疫情原因,導致有很多貨都壓在倉庫,線下又不能跑市場,想要做線上推廣,卻不知道該選擇哪些關鍵詞去做。搜索流量大的詞,報價很貴,自己根本負擔不起,真是愁人。現在又迎來了線上銷貨的紅利期,難道只能放棄嗎?
  • 機器學習中特徵選擇怎麼做?這篇文章告訴你
    在這樣做的同時,我們將嘗試不同的特徵消除技術,看看它們會如何影響訓練時間和模型整體的精度。首先,我們需要導入所有必需的庫。我們將在本例中使用的數據集如下圖所示。了解我們的模型最重要的特徵對於理解我們的模型如何做出預測(使其更易於解釋)是至關重要的。同時,我們可以去掉那些對我們的模型沒有任何好處的特徵。
  • 教你如何能吃到雞
    最近吃雞遊戲越來越火,從端遊的絕地,到手遊的荒野行動,刺激戰場等等,玩吃雞遊戲當然都想吃到雞,那麼如何能吃到雞呢,下面小編為你們總結幾個能吃到雞的辦法。辦法一找個大手子帶你玩,躺著吃雞,這是最簡單的辦法,但是缺乏遊戲體驗,自己沒有投入遊戲又怎麼能體會到遊戲的樂趣呢,躺雞隻適合新手期。
  • 5個特徵選擇算法,讓你的數據處理得心應手
    本文將會介紹一些處理數據時最常用的特徵選擇技術。我們經常遇到這樣的情況:在創建了大量特徵後,又需要減少數量,最後再使用相關性或者基於樹的方法來找出其中的重要特徵。那麼,如何讓這些方法變得更有結構呢?為何要進行特徵選擇?
  • 扎馬尾怎麼選擇髮夾 一分鐘教你美麗小秘密
    一起來看看這篇文章,教你如何利用時尚乖巧的髮夾,輕鬆打造一個甜美可愛的馬尾。無論是學生時代還是在職場打拼,女孩子們的日常生活中,都離不開一個簡單幹練的馬尾,無論是低頭做家務還是寫報告,散在肩頭的頭髮,總會妨礙到我們做事情。可女孩子們總是捨不得剪掉一頭秀髮,那麼這個時候我們就需要扎一個清新爽朗的馬尾辮,幫助我們做事情的時候提高效率,還能保持美美的狀態。
  • 學霸教你如何做筆記,省時又高效
    學霸天結合本人實踐經驗和了解到的其他高考學霸的記筆記經驗,與大家分享一下各科、各類筆記應如何做才更有效。一、如何在課本上做筆記很多同學習慣於隨手在課本上做筆記,方便快捷。但,如果要寫的內容比較多,或者課後又有新想法要記錄怎麼辦?幾輪複習後怎麼區分堆積到一起的內容?做到下面這幾點,能讓你的課本筆記清晰有條理,便於複習。