不均衡樣本集問題


2019-08-27 11:01:52

問題描述:對於二分類問題,如果在訓練的時候正負樣本集合非常的不均衡,比如出現了1 :1000甚至更大的比例懸殊,那么如何處理數據以更好的訓練模型。

問題求解:

為什么很多的分類模型在訓練數據的時候會出現數據不均衡的問題呢?本質原因是模型在訓練時優化的目標函數和人們在測試的時候的評價標准不一致。這種不對齊可能是由於訓練數據的樣本分布與測試時的樣本分布一致,比如在訓練的時候正負樣本嚴重不均衡,但是在測試的時候,正負的比例幾乎是1 :1。也可能是由於訓練階段不同類別的權重與測試的時候不一致,例如在訓練的時候認為所有樣本的貢獻是一致的,但是在測試的時候某些樣本的正確率要求要高很多。

根據上述的問題,一般可以從兩個角度來處理樣本不均衡的問題。

  • 基於數據的方法

基於數據的方法核心就是將原本不均衡的訓練集合通過采樣的方式使之變的均衡。具體來說有兩種方案,一是過采樣,二是欠采樣。

過采樣:過采樣本質就是擴充少樣本,使之數量變多。過采樣的算法可以理解為是啟發式的,也就是說言之有理即可,沒有一條絕對正確的算法能夠保證過采樣算法的效果。

1)最簡單的方案就是直接從少樣本的訓練集中有放回的選取樣本,本質是對少樣本數據集進行了復制。缺點是沒有增加訓練數據集的信息量,容易過擬合。

2)SMOTE算法,對少數類樣本集中每個樣本x,從它在少數集中的K近鄰中隨機選擇一個樣本y,然后在x,y連線上隨機選取一個點作為新合成的樣本。

3)對少數類加入噪聲擾動或者變換(如圖像數據集中對圖片進行剪裁,翻轉,旋轉,加光照等)以構造出新的樣本。

 

欠采樣:欠采樣本質就是減少多樣本,使之數量變少。欠采樣的算法可以理解為是啟發式的,同樣沒有一個標准的算法能夠保證欠采樣的效果。

1)最簡單的方案就是直接從多數類中隨機挑選部分樣本組成新的多數類樣本集。缺點是會丟失信息,造成模型只學到了整體模式的一部分。

2)可以采用informed undersampling算法來解決隨機欠采樣導致的數據丟失的問題。最常見的算法是easy ensemble算法。也就是每次從多數類中隨機抽取一個子集,然后使用子集和少數類訓練一個分類器;重復上述的過程得到若干的分類器,最終的分類結果是上述分類器集成的結果。

3)NearMiss算法,利用K近鄰信息挑選具有代表性的樣本,或者根據聚類的結果進行挑選。

 

  • 基於算法的方法

在樣本不均衡的時候,也可以通過改變模型訓練時候的目標函數來矯正這種不平衡性。最常見的方案是對不同的類別采用不同的權重。

 


免責聲明!

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



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