场景描述
在我们训练二分类网络的时候,例如医疗诊断、网络入侵检测、信用卡反诈骗邓。经常会遇到的问题就是正负样本不均衡的问题。如果我们直接采用不均衡的样本集进行训练和处理,会存在一些问题。
例如,如果正负样本的比例达到1:99,那么我们的分类器简单地把我们的所有样本全部判定为负样本,都有99%的正确率,显然这都不是我们想要的,我们想让分类器在正样本和负样本上都有足够的正确率和准确率。
问题描述
对于二分类问题,当训练集中正负样本非常不均衡时,如何处理数据以更好地训练分类模型?
分析与解答
为什么很多分类模型在训练数据不均衡时会出现问题?本质原因是模型在训练时优化的目标函数和人们在测试时使用的评价标准不一致。这种“不一致”可能是由于训练数据的样本分布与测试时期望的样本分布不一致,例如,在训练时优化的是在整个训练集(正负样本比例可能是1:99)上的正确率,而测试时可能想要模型在正样本和负样本上的平均正确率尽可能大(实际上是期望正负样本比例为1:1);也可能是训练阶段不同类别的权重(重要性)与测试阶段不一致,例如训练时认为所有样本的贡献是相等的,而测试时 False Positive和False Negative有着不同的代价。
根据上述分析,一可以从两个角度来处理样本不均衡问题:
1.数据
2.算法
1.数据
数据解决该问题的思路就是重采样。通过采样来使得我们分布不均衡的数据分布均衡。
我们先从最简单的思路开始理解。
最简单的