样本不平衡问题

样本类别相差很大,比如,正样本998个,负样本2个,训练得到的模型将永远将新样本预测为正样本,这样的模型毫无价值。
一般解决样本不平衡问题从三个方向出发:

第一:上采样【也叫过采样】,增加补充少的类别样本,比如这里增多负样本,使得正负样本的比例差不多。需注意的是上采样不能简单的对初始样本重复采样,否则容易导致过拟合。可以对已有的正样本利用类似于插值法加入一些噪声干扰。

第二:下采样【也叫欠采样】,减少删除多的类别样本,比如这里删除过多的正样本,使得正负样本的比例差不多。欠采样不足之处在于它容易丢掉样本。这种方法大多数用在集成学习机制中,将反例划分为多个集合供多个不同模型学习,这样每个模型都进行了下采样,从全局的角度来看不会丢失重要信息。

第三:移动阈值。正常情况下,我们将观察几率与真实几率等同。如果正负样本比列约为1,那么我们通常要求,只要该样本的预测为正样本的概率y满足:y/(1-y)>1,即y>0.5那么就认为该样本为正样本。现在存在样本偏差,正负样本比列为m+/m-,其中m+代表正样本数量,m-代表负样本数量。那么只需该样本的预测为正样本的概率y满足 y/(1-y)>m+/m-,那么就该样本为正样本。