Learner0x5a's Studio.

机器学习中分类问题的数据均衡

Word count: 441Reading time: 1 min
2021/08/26 Share

问题:真实世界的数据分布不一定均衡,那为什么大多数ML/DL要做数据均衡?

答案:根据场景来决定是否要数据均衡

场景1: 癌症二分类

真实数据分布是:绝大多数人没有癌症,极少数人有癌症;如果不做数据均衡,那么一个ML分类器会倾向于把所有样本判断成没有癌症,即全是漏报,没有误报
在辅助医生诊断时,显然是不行的:可以有误报,尽量没有漏报;
所以在训练模型时要做数据均衡。

场景2: 英文字母识别

真实数据分布不是均匀分布,高频字母例如e,低频字母例如v;

如果做数据均衡,那么训练后的分类器对于每个字母分类错误的概率都是一样的;
如果不做数据均衡,那么训练后的分类器对于每个字母分类错误的概率不一样,错误概率的分布应该是接近字母的分布;
所以要根据场景做选择,例如做文本识别,高频字母识别准确率比低频字母准确率更重要,所以不能做数据均衡。

总结

分类错误概率的分布和训练数据的分布具有一致性,所以要不要做数据均衡,要由场景来决定。

数据均衡方法

如果要做数据均衡,可以从以下几个方面考虑:

  • 数据上采样/下采样
  • NN:Focal Loss
  • NN:二分类时,可以调整分类阈值
  • 数据合成:SMOTE算法,利用小众样本在特征空间的相似性来合成新样本
CATALOG
  1. 1. 问题:真实世界的数据分布不一定均衡,那为什么大多数ML/DL要做数据均衡?
    1. 1.1. 场景1: 癌症二分类
    2. 1.2. 场景2: 英文字母识别
    3. 1.3. 总结
  2. 2. 数据均衡方法