1. 程式人生 > >特徵抽取與特徵選擇

特徵抽取與特徵選擇

特徵抽取特徵抽取後的新特徵是原來特徵的一個對映

特徵選擇:特徵選擇後的特徵是原來特徵的一個子集

特徵抽取的方法主要是通過屬性間的關係,如組合不同的屬性得到新的屬性,這樣就改變了原來的特徵空間。

特徵選擇的方法是從原始特徵資料集中選擇出子集,是一種包含關係,沒有改變原始的特徵空間。

特徵抽取:PCA和LDA

主要有兩個類別:

訊號表示:特徵抽取後的特徵要能精確地表示樣本資訊,使樣本資訊丟失很小。對應的方法是PCA

訊號分類:特徵抽取後的特徵,要使分類後的準確率很高,不能比原來特徵進行分類的準確率低。對與線性來說,對應的方法是LDA。

PCA和LDA兩種方法的目標不一樣,因此導致它們的方法也不一樣。PCA得到的投影空間是協方差矩陣的特徵向量。

而LDA則是通過求一個變換W,使得變換之後的新均值之差最大,方法最小(也就是最大化類間距離和最小化類內距離),變換W就是特徵的投影方向。

特徵選擇

構造機器學習的模型的目的是希望能夠從原始的特徵資料集中學習問題的結構和問題的本質,當然此時挑選出的特徵就應該能夠對問題有更好的解釋,所以特徵選擇的目標大致如下:

提高預測的準確性

構造更快,消耗更低的預測模型

能夠對模型有更好的理解和解釋

特徵選擇主要有三種方法:

Filter方法:

主要思想是:對每一維的特徵進行“打分”,即給每一維的特徵賦予權重,這樣的權重就代表著該維特徵的重要性,然後依據權重進行排序。主要的方法是:Chi-squared test(卡方檢驗),information gain(資訊增益),correlation coefficient scores(相關係數)

Wrapper方法:

其主要思想是:將子集的選擇看作是一個搜尋尋優問題,對組合進行評價,再與其他的組合進行比較。這樣就將子集的選擇看作是一個優化問題,這裡有很多的優化演算法可以解決,齊次是一些啟發的優化演算法,如GA,PSO,DE,ABC等。主要方法有:recursive feature elimination algorithm(遞迴特徵消除演算法)

Embedded方法:

其主要思想是:在模型既定的情況下學習出對提高模型準確性最好的屬性。其實是講在確定模型的過程中,挑選出那些對模型的訓練有重要意義的屬性。主要方法有:正則化,嶺迴歸就是在基本線性迴歸的過程中加入了正則項。

特徵篩選與特徵處理

在做訓練樣本前需要挑選樣本,需要注意樣本不平衡的問題,比如在定向廣告預估點選率二元模型中,點選的(正樣本)和不點選(負樣本)的資料量相差很大,對於最終的預測結果會嚴重傾向於多數的負樣本類,導致對正的分類錯誤率很高。但從評價指標準確率來看,因正負樣本量的差異比較大,準確率不重視正類對分類效果評測的影響,往往分類的準確率從整體看還是比較高的。

解決正負樣本不平衡問題的手段,主要有兩種:

1.樣本取樣

對正樣本採取上取樣up sampling, 對負樣本進行下采樣 down sampling

上取樣可以利用對稀有類樣本的分佈進行模擬生成和當前稀有樣本臨近的一些樣本

一般更多的方式是利用下采樣去除噪音,去除冗餘樣本,對負樣本進行聚類,在每個聚類層上按照比例抽取部分樣本,以達到在負樣本上抽取的儘量不影響原始分佈。

2.演算法層面的優化:

劃分樣本訓練集,每個訓練集上進行模型訓練,再進行分類器融合整合方式

代價敏感學習方式,賦予各個類別不同的錯分代價,比如對錯分正樣本類樣本做更大的懲罰

SVM,給樣本數量少的正類更大的懲罰因子,表示我們重視這部分樣本

在不均衡樣本中,由於正類錯分代價比負類要高很多,可以對AdaBoost進行改進,對正類樣本設定比較高的權重。

當然在樣本選擇時,需要進行去噪,去噪的技術有很多,比如離群點分析,分箱檢測等,當然最直觀的私相同的特徵,標籤不一致。

利用機器學習進行建模,另一個成敗的關鍵因素是特徵的選擇和特徵的預處理

特徵選擇使得準確性和泛化能力效果更好,在保證經驗風險最小化的基礎上,儘量降低模型的複雜度,特徵過多,模型過於複雜,過擬合,泛化能力差。

特徵選擇的一些方法:

首先基於業務進行理解,和業務進行討論,儘可能的評估對因變數有影響的所有自變數。

初步選出自變數後,需要進行特徵選擇,有以下幾種方式(Filter——考慮自變數和因變數之間的關聯,Wrapper——離線和線上評估是否增加一個特徵,Embedded——利用機器學習自身的篩選功能)

Filter:

對於連續型變數之間的相關性,可以採用相關係數來評估,比如皮爾遜相關係數

對於類別型的可以採用假設檢驗的方式,比如卡方檢驗

對於連續型的自變數和二元離散因變數,利用WOW,IV,通過WOW的變化來調整出最佳的分箱閾值,通過IV值,篩選出有較高預測價值的自變數。

R平方,一個變數的變化有百分之多少可以用另一個變數來解釋。

還有就是需要避免自變數之間的共線性問題,共線性就是指自變數之間存在較強線性的關係。

Wrapper方式,主要考慮的是離線和線上評估是否增加一個特徵,通過選定模型評估的指標(AUC, MAE, MSE)來評價對特徵增加和去除後模型的好壞,通常有前向和後向兩種特徵選擇方式

Embedded方式,通過分類學習器本身對特徵自動的進行刷選,比如邏輯迴歸中的L1 L2 懲罰係數,決策樹中的基於最大熵的資訊增益選擇特徵。