不均衡數據怎麼破?對付它的七種武器!

不均衡數據怎麼破?對付它的七種武器!

先問大家一個問題:

銀行欺詐識別、市場實時交易、網絡入侵檢測等領域的數據集,有哪些共通點?

答案是:“關鍵”事件在數據中的佔比經常少於1%(例如:信用卡行騙者、點擊廣告的用戶或被攻破的服務器的網絡掃描)。

然而,大多數機器學習算法在不均衡數據集的表現都不太好。以下七種技術可以幫到你,訓練一個分類器用於檢測不正常類別數據。

不均衡數據怎麼破?對付它的七種武器!

1. 使用正確指標評估權值

對於不均衡數據生成的模型,使用不恰當的評估方法很危險。架設訓練數據是上圖展示的數據。若準確度是衡量模型好壞的指標,把所有測試樣本為劃分為“0”,將得到非常高的準確率(99.8%),但顯然,這模型不能為我們提供任何有價值的信息。

對於這個情況,可以用其它評估指標:

  • 準確率(Precision/Specificity): 選擇的實例有多少是相關的;

  • 召回率(Recall/Sensitivity): 選擇了多少相關實例;

  • F值(F1 score): 準確率與召回率的調和平均數;

  • MCC: 觀察值與預測值之間的相關性係數;

  • AUC: 正陽性與假陽性的關係。

2. 訓練集重抽樣

除了使用不同的評估標準,還可以想辦法獲取其他數據集。有兩種方法能把不均衡數據集轉化為均衡數據集那就是欠抽樣以及過抽樣。

2.1.欠抽樣

欠抽樣通過刪減大比例類的樣本量來平衡數據集。這方法適用於數據量充足的情況。通過保留所有的小比例類數據樣本並從大比例類數據中隨機選取同等數量的樣本,產生一個新的可用於後續模型的均衡數據集。

2.2.過抽樣

反之,當數據量不足時則採用過抽樣方法。通過增加小比例類的樣本量來平衡數據集。不再是去掉冗餘樣本,通過如數據複製(repetition)、拔靴法(boostrapping)或合成少數過採樣技術(SMOTE)產生了新的小比例類樣本[1]。

注意:兩種方法沒有絕對優勢。關鍵是看情況使用兩種方法。過抽樣與欠抽樣合組合使用也常有效解決不均衡問題。

3. 恰當使用K-折交叉驗證法

值得注意的是,當使用過抽樣法來解決不均衡問題時,交叉驗證法是需要合理應用的。

雷鋒網提醒:過抽樣法會提取出小比例類的觀察數據 ,用拔靴法根據分佈函數隨機生成新數據。如果交叉驗證法在過抽樣後使用,基本上會讓模型過擬合到一個特別的偽拔靴法結果。這就是為什麼交叉驗證應該在過抽樣前完成,正如如何實現特徵選擇。只有當數據反覆地重抽樣,數據集才具有隨機性來確保不會有過擬合問題。

4. 融合不同的重抽樣數據集

成功泛化一個模型,最簡單的方法是使用更多數據。問題是,現成的分類器,如邏輯迴歸或隨機森林,傾向於通過拋棄掉小比例類數據進行泛化。一個簡單的實踐方法,是使用所有小比例類樣本,和劃分為n份的互斥大比例類樣本,共同建立n個模型。例如保留 1000個小比例類別樣本,對大比例類別隨機抽樣10,000個樣本,你只需要把10,000個樣本分為10份並訓練10個不同的模型。

不均衡數據怎麼破?對付它的七種武器!

這方法很簡單,並在水平方向完美的可擴展 (假如你有很多的數據),因為你可以在不同簇節點上訓練並跑你的模型。模型融合泛化效果更好,這使得這方法易於處理。

5. 不同的比率重抽樣

上述方法,還可以通過調整小比例類別與大比例類別之間不同的比率來調優。最佳比率十分依賴於數據和使用的模型。但不要用同樣的比率去訓練 ensemble 裡的所有模型,值得試著用不同比率模型融合。所以如果訓練10個模型,一個模型使用1:1的比率(少類別:多類別)、另一個使用1:3、或2:1可能都合理。取決於模型,這會影響類別的權重。

不均衡數據怎麼破?對付它的七種武器!

6. 聚類多類別

Sergey在Quora提出了一個優雅的方法 [2]。不再依賴隨機抽樣,去保留訓練樣本的多樣性,他建議把大比例類別聚類進r個組,r是它裡面的案例數。對於每個組,僅保留質心(聚類的中心)。然後模型僅用小比例類別和質心數據進行訓練。

7.設計你自己的模型

所有之前的方法注重數據,並保持模型不變。但實際上,假如模型適合於不均衡數據,那就不需要對數據重抽樣。假如數據傾斜不是太嚴重,採用著名的XGBoost算法是一個很好的開始,因為它從內部確保訓練的數據包不會是不均衡的。在算法內部,數據其實祕密地重抽樣了。

設計一個成本函數,對小比例類別誤分類的懲罰,要多於大比例類別的誤分類,這可能會產生自然地傾向小比例類別進行泛化的模型。例如,調整SVM來通過同樣的比率(佔總樣本的比例),去懲罰小比例類別的誤分類。

不均衡數據怎麼破?對付它的七種武器!

總結

最後,雷鋒網提醒,這不是一個完整的技術列表,僅僅是一個處理不均衡數據的開始。其實,並沒有一個能適配所有的問題的、最好的方法或模型。所以強烈建議嘗試不同的技術和模型,去評估哪個的效果最好。可以嘗試創新地同時使用幾種不同的方法。另外很重要的一點是,在很多不均衡類別發生的領域(如欺詐檢測、實時交易),“市場規則”是經常改變的。所以,請檢查過去的數據是否已過期。

via kdnuggets,雷鋒網編譯

相關推薦

推薦中...