處理非均衡數據的7種技術

作者:Ye Wu、Rick Radewagen
翻譯:陳之炎
校對:趙茹萱
諸如銀行的欺詐檢測、營銷的實時競價或網絡的入侵檢測等領域的數據集都有哪些共同點?
在這些領域的數據通常只占有總數據量不到1%,為罕見但“有趣的”事件(例如,騙子使用信用卡、用戶點擊廣告或入侵服務器掃描其網絡)。然而,絕大多數機器學習算法并不能很好地處理這些非均衡的數據集。利用以下七種技術可以通過訓練一個分類器來檢測出上述異常類。

1. 使用正確的評估指標
對于那些使用非均衡數據的模型來說,應用不恰當的評估度量指標非常危險。想象一下,假設訓練數據如上圖所示,如果用準確率來衡量一個模型的好壞,那么將所有測試樣本分類為“0”的模型將具有極好的準確率(99.8%),顯然,這個模型不會提供任何有價值的信息。
在這種情況下,可以采用其他評估指標,例如:
精度/特異性:有多少選定實例是相關的。
召回率/敏感度:選擇了多少個相關的實例。
F1評分:精度和查全率的調和平均值。
MCC:觀察到的和預測到的二元分類之間的相關系數。
AUC:真陽性率與假陽性率之間的關系。
2. 重新采樣訓練集
除了使用不同的評估標準外,還可以采取一定的措施以獲取到其他不同的數據集,通常利用欠采樣和過采樣兩種方法從非均衡數據集中提取出均衡數據集。
2.1 欠采樣
通過減少不同類的大小來平衡數據集的過程稱為欠采樣,當數據量充足時,使用該方法。通過將所有樣本保留到稀有類中,并在不同類中隨機選擇相同數量的樣本,在后續(xù)建模過程中便可以檢索到一個新的均衡數據集。
2.2 過采樣
相反,當數據量不足時,則使用過采樣。過采樣通過增加稀有樣本的大小來平衡數據集。在不去除大量的樣本的情況下,通過使用重復、引導或SMOTE(合成少數過采樣技術)[1]來生成新的稀有樣本。
請注意,以上兩種重采樣方法并沒有各自絕對的優(yōu)勢,這兩種方法的應用取決于用例和數據集本身,過采樣和欠采樣兩種方法的組合往往也能成功。
3. 正確使用k倍交叉驗證
值得注意的是,在使用過采樣的方法來解決非均衡數據問題時,可以適當地應用交叉驗證。
請記住,過采樣觀察到的是稀有樣本,并利用自舉法根據分布函數生成新的隨機數據。如果在過采樣后應用交叉驗證,便會將模型過擬合到一個特定的人工自舉結果中。這就是為什么應該在過采樣數據之前進行交叉驗證,正如應該在實現特征之前對特征做出選擇一樣,只有通過重復采樣數據,方可在數據集中引入隨機性,確保不會出現過擬合問題。
4. 集成不同的重采樣數據集
成功泛化模型的最簡單方法是使用更多的數據。像邏輯回歸或隨機森林等開箱即用的分類器傾向于通過丟棄稀有類來實現泛化。一個簡單而有效的實踐是針對稀有類的所有樣本和多數類的n個不同樣本,建立n個模型。假設需要集成10個模型,保留例如1.000個稀有類的案例,并隨機抽取10.000個多數類的案例,然后把10.000個多數類分成10塊,訓練10個不同的模型。

如果存在大量的數據,那么這種方法非常簡單,并且完全可水平擴展,可以在不同的集群節(jié)點上訓練和運行模型。集成模型也可更好地泛化,這種方法非常易于處理。
5. 按照不同的比例重新采樣
通過調整稀有類和多數類之間的比例,利用前文所述的幾種方法來進行微調。兩種類數目的最佳配比在很大程度上取決于數據本身和所使用的模型。
與其以相同的比例訓練所有的模型,還不如嘗試以不同比例集成數據。如果訓練了10個模型,那么比例為1:1(稀有:多數)和比例為1:3,甚至是2:1的模型均可能都是有意義的,類的權重取決于所使用的模型。

6. 聚類多數類
Quora [2]的Sergey提出了一種更加優(yōu)雅的方法,他建議將多數類聚類到r組中,r即r組中的案例數, 取代隨機樣本來覆蓋訓練樣本的多樣性。對于每一組,只保留medoid(聚類的中值),然后用稀有類和medoids對模型進行訓練。
7. 設計自定義模型
前文所述的方法關注的是數據,將模型視為一個固定的組件。但事實上,如果模型本身適用于非均衡的數據,就無需對數據進行重新采樣。如果類沒有太多的傾斜, XGBoost便很好用了,因為其內部已經關注了袋子里的不均衡數據。但話說回來,這也只是在秘密的情況之下,對數據重新采樣。
通過設計一個成本函數,對稀有類的錯誤分類進行懲罰,而不是對多數類的錯誤分類進行懲罰,有可能設計出許多有利于稀有類泛化的模型。例如,配置一個SVM,以懲罰稀有類的錯誤分類。

小結
本文的內容并非唯一的技術列表,只是處理非均衡數據的一個起點。也不存在能解決所有問題的最佳方法或模型,強烈建議嘗試不同的技術和模型來評估哪種方法最為有效,可以嘗試有創(chuàng)意地將多種方法結合起來使用。同樣需要注意的是,在欺詐檢測、實時競價等諸多領域,當非均衡類別發(fā)生的同時,“市場規(guī)則”也在不斷變化。因此,需要檢查過往的數據是否已經過時了。
參考文獻
作者簡介
Ye Wu :FARFETCH高級數據分析師,她有會計背景、市場營銷和銷售預測方面的實踐經驗。
Rick Radewagen :Sled的聯合創(chuàng)始人,有計算機科學背景的、有抱負的數據科學家。
原文標題:
7 Techniques to Handle Imbalanced Data
原文鏈接:
https://www.kdnuggets.com/2017/06/7-techniques-handle-imbalanced-data.html

