數據挖掘中常見的特徵工程方法
定義
這幾天在做一個數據挖掘相關的東西,煉丹練久了,突然發現對特徵工程這一塊還存在比較大的空白。於是查閱了一些資料,權當記錄閱讀筆記。
特徵工程在數據挖掘應用中直接影響模型最終的性能;尤其在很多計算機視覺任務中,特徵提取的重要性甚至超過了分類器本身(比如CNN提取的feature是比很多hand-crafted features更具備表示能力的)。良好的特徵(feature)應該與標籤(label)高度相關,並且與其他特徵不相關。
特徵工程(feature engineering)包括特徵提取和特徵選擇兩個方面。
特徵提取廣義上指的是一種變換, 將處於高維空間的樣本通過映射或變換的方式轉換到低維空間, 達到降維的目的;
特徵選擇指從一組特徵中去除冗餘或不相關的特徵來降維。
這裡暫時只介紹特徵選擇部分!如有錯誤,歡迎指正!
主要思路
特徵獲取需要解決兩個問題,
一是確定選擇演算法,在允許的時間內,以可以忍受的代價找出最小的、最能描述類別的特徵組合;
二是確定評價標準, 衡量特徵組合是否最優,得到特徵獲取操作的停止條件。 因此, 一般分兩步進行特徵獲取,先產生特徵子集,然後對子集進行評價,如果滿足停止條件,則操作完畢,否則重複前述兩步直到條件滿足為止。
按照特徵評價標準分類:
- 選擇使分類器的錯誤概率最小的特徵或者特徵組合。
- 利用距離來度量樣本之間相似度。
- 利用具有最小不確定性(Shannon熵、Renyi熵和條件熵)的那些特徵來分類。
- 利用相關係數, 找出特徵和類之間存在的相互關係;利用特徵之間的依賴關係, 來表示特徵的冗餘性加以去除。
Search
- forward selection:以空集開始,逐漸向裡面添加特徵,直到滿足stopping criterion(常用於高維數據挖掘場景)。
- backward elimination:包含所有特徵並逐漸刪除,直到滿足stopping criterion。
- forward selection + backward elimination
Evaluation
- Filters:不依賴於學習演算法,對獨立特徵或特徵子空間進行評估;
- Mutual Information(MI):度量每個特徵與標籤的MI值,選取其中Top N個的特徵。
- Chi-Square:被用於測試兩個相互獨立的事件A,B的偏差程度。
- 式中,N 表示訓練語料中的文檔總數;c 為某一特定類別; t 表示特定的詞條; A 表示屬於 c 類且包含 t 的文檔頻數; B 表示不屬於 c 類但是包含 t 的文檔頻數;C 表示屬於 c 類但是不包含 t 的文檔頻數; D 是既不於 c 也不包含 t 的文檔頻數。
- 若chi-square足夠小,就認為兩者是獨立的;若chi-square大到一定程度,就認為兩者是相關的。
- Pearson Correlation Coefficients
- Euclidean Distance
- T-Test:評估兩組樣本均數之間的差異程度。
- Laplacian Score(LS):LS通常用於unsupervised learning如聚類中,它假定相互關聯的特徵在整個特徵空間中,其臨近記錄與該特徵向量也很接近。
在Label存在的supervised learning任務,可使用Fisher Criterion Score (FCS)。
- Information Gain:考察某特徵 t 出現與不出現的時候兩者差值,即為該特徵給系統帶來的信息量;差值越大,說明該特徵越重要。
- 表示 類文檔在語料中出現的概率; 表示語料中包含詞條 t 的文檔的概率; 表示文檔包含詞條 t 時屬於 類的條件概率; 表示語料中不包含詞條 t 的文檔的概率; 表示文檔不包含詞條 t 時屬於 的條件概率; m 表示類別數。
- Wrappers:利用學習演算法來評估特徵子空間,如Classifier的準確率。優點是Wrappers通常比Filters更準確;缺點是計算量較大。
- Embedded: 特徵選擇演算法是作為學習演算法的部分嵌入其中的,特徵選擇和訓練過程同時進行。常見的有Decision Tree和 Deep Neural Networks。
Reference
[1]王娟,慈林林,姚康澤.特徵選擇方法綜述[J].計算機工程與科學,2005(12):72-75.
[2]Amr T. Survey on Feature Selection[J]. Computer Science, 2013.
[3]李敏,卡米力·木依丁.特徵選擇方法與演算法的研究[J].計算機技術與發展,2013,23(12):16-21.
推薦閱讀:
※了解一點模型部署與上線
※Community Preserving Network Embedding閱讀報告
※Kaggle Titanic 生存預測(Top1.4%)完整代碼分享
※手把手教你快速構建自定義分類器
※視角觀察:四個話題讀懂大數據醫療