機器學習樣本不平衡處理


樣本不平衡往往會導致以下問題:

對比例小的樣本造成過擬合,也就是說預測偏向樣本數較多的分類。這樣就會大大降低模型的范化能力。往往accuracy(准確率)很高,但auc很低。

 

針對樣本的不平衡問題,有以下幾種常見的解決思路:

  1. 搜集更多的數據
  2. 改變評判指標
  3. 對數據進行采樣
  4. 合成樣本
  5. 改變樣本權重

 

搜集更多的數據

搜集更多的數據,從而讓正負樣本的比例平衡,這種方法往往是最被忽視的方法,然而實際上,當搜集數據的代價不大時,這種方法是最有效的。

但是需要注意,當搜集數據的場景本來產生數據的比例就是不平衡時,這種方法並不能解決數據比例不平衡問題。

 

改變評判指標

改變評判指標,也就是不用准確率來評判和選擇模型,原因就是我們上面提到的 Accuracy Paradox 問題。實際上有一些評判指標就是專門解決樣本不平衡時的評判問題的,如准確率,召回率,F1值,ROC(AUC),Kappa 等。

根據這篇文章,ROC 曲線具有不隨樣本比例而改變的良好性質,因此能夠在樣本比例不平衡的情況下較好地反映出分類器的優劣。

 

對數據進行采樣

對數據采樣可以有針對性地改變數據中樣本的比例,采樣一般有兩種方式:over-sampling和 under-sampling,前者是增加樣本數較少的樣本,其方式是直接復制原來的樣本,而后者是減少樣本數較多的樣本,其方式是丟棄這些多余的樣本。

通常來說,當總樣本數目較多的時候考慮 under-sampling,而樣本數數目較少的時候考慮 over-sampling。

 

合成樣本

合成樣本(Synthetic Samples)是為了增加樣本數目較少的那一類的樣本,合成指的是通過組合已有的樣本的各個 feature 從而產生新的樣本。

一種最簡單的方法就是從各個 feature 中隨機選出一個已有值,然后拼接成一個新的樣本,這種方法增加了樣本數目較少的類別的樣本數,作用與上面提到的 over-sampling方法一樣,不同點在於上面的方法是單純的復制樣本,而這里則是拼接得到新的樣本。

這類方法中的具有代表性的方法是 SMOTE(Synthetic Minority Over-sampling Technique),這個方法通過在相似樣本中進行 feature 的隨機選擇並拼接出新的樣本。

 

改變樣本權重

改變樣本權重指的是增大樣本數較少類別的樣本的權重,當這樣的樣本被誤分時,其損失值要乘上相應的權重,從而讓分類器更加關注這一類數目較少的樣本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM