二分类数据集_如何处理不平衡数据集的分类任务

在情感分类任务中,数据集的标签分布往往是极度不平衡的。以我目前手上的这个二分类任务来说,正例样本14.4万个:负例样本166.1万 = 1 :11.5。很显然这是一个极度不平衡的数据集,假设我把样本全部预测为负,那准确率也高达92%,但这么做没有意义。

那么我们如何处理这个不平衡数据集呢?

因为我用的是神经网络,我不希望减少训练样本,因此我不会采用下采样的方式。有三个方向可以尝试:

  • 使用自定义的loss函数
  • 设置class weight
  • 设置sample weight

这里,我将尝试三种不同的loss函数并进行对比。

(一)三种损失函数

表示样本的真实标签,则
。令
表示sigmoid输出的预测类别为1的概率,显然
。下面给出三种损失函数的定义:

1. Binary crossentropy

大名鼎鼎的交叉熵损失函数,这里就不赘述了。

2. 修正的Binary crossentropy

这个损失函数来自苏神的两篇文章:

【1】文本情感分类(四):更好的损失函数

【2】何恺明大神的「Focal Loss」,如何更好地理解?

引入单位跃阶函数

取定阈值

(可调超参数,原则上大于0.5均可),则:

(这里我稍微修改了一点点,以使得损失函数更加对称)

这个损失函数跟Binary Crossentropy比起来,就是多了

这个调节因子,我们来分析一下这个公式:
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值