样本不平衡问题

不平衡问题的产生

机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class skew)。
以常见的二分类问题为例,我们希望预测病人是否得了某种罕见疾病。但在历史数据中,阳性的比例可能很低(如百分之0.1)。
在这种情况下,学习出好的分类器是很难的,而且在这种情况下得到结论往往也是很具迷惑性的。
以上面提到的场景来说,如果我们的分类器总是预测一个人未患病,即预测为反例,那么我们依然有高达99.9%的预测准确率。然而这种结果是没有意义的,这提出了今天的第一个问题,如何有效在类别不平衡的情况下评估分类器?
当然,本文最终希望解决的问题是:在数据偏斜的情况下,如何得到一个不错的分类器?如果可能,是否可以找到一个较为简单的解决方法,而规避复杂的模型、数据处理,降低我们的工作量。
以二分类问题为例,undersampling和oversampling主要用于样本中正负比例极度不平衡的情况。比如广告的点击估计、信用卡诈骗识别、得病与否的预测等,通常目标为1的样本比例远小于1%。

不平衡问题两种产生的情况:

  • 正负样本(为了简化这里只讨论二分类)的获取成本不同导致的
    • 不完全标注问题,问题的核心是训练集和测试集的label分布不一致
    • 上采下采本质都是要改变训练数据的分布,让他和真实分布一致
  • 实际分布中本来就不平衡
    • 其实多数不需要采样,只要不用不科学的、愚蠢的评价方法即可

深度学习解决方案

  • 欠采样
  • 过采样
    • 数据增强
      • SMOTE过采样
      • k近邻单词替换
  • 修改损失函数/代价函数优化

文本中的数据增强不太常见,这里我们使用了shuffle和drop两种数据增强,前者打乱词顺序,后者随机的删除掉某些词。效果举例如图:
在这里插入图片描述

工具与类库

  • imbalanced-learn是一个Python上处理数据不平衡的工具库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值