2020-12-17

数据不平衡问题

1. 欠采样、过采样、生成合成数据

  1. 重采样数据集(修改比例)是好是坏取决于分类器的目的。如果两个类是不平衡、不可分离的,且我们的目标是获得最大的准确率。那我获得分类器只会将数据点分到一个类中;不过这不是问题,而只是一个事实:针对些变量已经没有其他更好的选择。
    基于成本的分类结果不好的根本原因在于目标函数没有得到很好的定义。截至此时,我们一直假设分类器具备高准确率,同时假设两类错误(「假阳性」和「假阴性」)具有相同的成本(cost)。在我们的例子中,这意味着真实标签为 C1、预测结果为 C0 与真实标签为 C0、预测结果为 C1 一样糟糕,错误是对称的。然而实际情况往往不是这样。让我们考虑本文第一个例子,关于有缺陷(C1)和无缺陷(C0)产品。可以想象,对公司而言,没有检测到有缺陷的产品的代价远远大于将无缺陷的产品标注为有缺陷产品(如客户服务成本、法律审判成本等)。因此在真实案例中,错误的代价是不对称的。我们再更具体地考虑,假设:当真实标签为 C1 而预测为 C0 时的成本为 P01当真实标签为 C0 而预测为 C1 时的成本为 P10其中 P01 和 P10 满足:0 <P10 << P01)接下来,我们可以重新定义目标函数:不再以最佳准确率为目标,而是寻找较低的预测成本。
  2. 类重新加权
    类重新加权(class reweight),即在分类器训练期间直接考虑成本误差的不对称性,这使每个类的输出概率都嵌入成本误差信息。然后这个概率将用于定义具有 0.5 阈值的分类规则。对于某些模型(例如神经网络分类器),我们可以在训练期间通过调整目标函数来考虑成本。
    P(true_c1 | x) and P(true_c0|x)
    但是这次训练使得以下的成本函数最小化
    P(true_c1 | x) X p01 and P(true_c0|x) X p10

我们仍然希望分类器输出但是这次的训练将使以下的成本函数最小化对于一些其他模型(例如贝叶斯分类器),我们可以使用重采样方法来偏置类的比例,以便在类比例内输入成本误差信息。如果考虑成本 P01 和 P10(如 P01> P10),我们可以:对少数类按照 P01 / P10 的比例进行过采样(少数类的基数乘以 P01 / P10);对多数类按照 P10/P01 的比例进行欠采样(多数类的基数乘以 P10/P01)。

总结:
分类器必须按照决策规则来衡量数据不平衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值