【Deep Learning】深度學習中數據集分布不平衡問題的解決方法
一、標簽分類不平衡
在學術中,使用的大部分數據集都是平衡的。也就是在supervised learning中,每一類別通常有數目相同的樣本。而在我們采集自己的數據集訓練時,獲得的樣本數量是不平衡的,某一類樣本多,另一些樣本少,甚至沒有。比如某一疾病的醫學影像,大部分都是健康的,只有小部分患病。
二、錯分成本不平衡
同樣,在學術中,數據集中每一類別的分類錯誤的成本通常是一樣的。但實際中完全不是這樣。還是以醫學為例,將一個健康的人誤診為患病帶來的傷害相對的有限的,但是將一個患病的人誤診為健康將使病人得不到治療而延誤病情,可能為此付出生命的代價。
不平衡的數據集也會導致錯分成本的上升。
那么怎么解決數據集分布不平衡的問題呢?
1. 最直觀的方法就是搜集更多稀缺類別的數據,使得數據分布趨於平衡。
2. 如果某幾類稀缺的樣本不需要區分的太細,可以考慮將這幾類樣本合並,更改它們的標簽為同一類。
3. 在原始數據集上做文章。
a. 對樣本多的類別進行欠采樣,縮減這類樣本的數量;
b. 對樣本少的類別進行過采樣,增大這類樣本的數量;
c. 先進行訓練,找出出樣本很容易被誤分類的部分。對這部分樣本進行有目的的采樣,而不是a中的隨機采樣。
4. 最后就是在算法本身上進行改進了。讓算法更關注稀缺樣本的類別,增加稀缺類別樣本的損失權重。