为什么分类模型不适用于课堂不平衡设置?

时间:2018-02-07 21:28:12

标签: machine-learning statistics classification

关于如何解决阶级失衡问题,有许多岗位和资源,即对少数群体进行过度抽样或对多数群体进行抽样不足。

我也明白,使用准确性来评估不平衡问题的模型性能是错误的。

然而,我没有找到很多资源,首先谈论为什么ML模型失败在类不平衡问题。是否仅仅因为损失函数通常是所有数据点的总和,因此模型倾向于更多地强调多数类数据而不是少数类数据?

其次,在实际应用中,例如欺诈检测或点击预测(发生类不平衡),为什么通过训练集的过度(欠)采样来改变分布是一件好事?我们不希望分类器反映实际分布(其性质不平衡)吗?让我们说我有一个逻辑回归模型训练来预测欺诈,并假设欺诈率是2%。欺诈事件的过度抽样基本上告诉模型欺诈率不是2%,而是50%(比如说)。这是一件好事吗?

总结一下。两个问题:

  1. 为什么ML模型会在类不平衡设置中失败?是否因为损失函数通常由各个数据点的损失总和组成?

  2. 为什么over(under)-sampling本质上改变了模型看待问题的方式,这是一个好方法?为什么不让模型真实地反映出类的分布呢?

2 个答案:

答案 0 :(得分:4)

我通过一个例子来解释你的问题:

如果存在由以下交易组成的数据集:

  1. 10000正版
  2. 10欺诈
  3. 分类器倾向于将欺诈性交易分类为真实交易。

    假设机器学习算法有两个可能的输出如下:

    模型1

    分类交易:

    1. 万人中有10人是欺诈性的
    2. 10个欺诈中的7个为真正的
    3. 模型2

      分类交易:

      1. 10000个真实的欺诈行为中的100个
      2. 10个欺诈中的2个为真正的
      3. 如果分类器的表现由错误次数决定

        模型1 :17个错误。

        模型2 :102个错误。

        模型1更好。

        但是,我们希望尽量减少欺诈的数量:

        模型1 :7个错误。

        模型2 :2个错误。

        模型2更好。

          

        回答问题1 通用机器学习算法选择 模型1   模型2,这是一个问题。在实践中,这意味着我们会让一个   尽管我们可以做多次欺诈交易   使用模型2停止了它们。

        <强>欠

        通过欠采样,我们可以冒险删除一些更具代表性的多数类实例,从而丢弃有用的信息。

        这可以说明如下:

        enter image description here

        绿线:我们希望拥有的理想决策边界。 蓝色是实际结果。

        左图:仅应用一般机器学习算法而不欠采样的结果。

        右图:仅使用欠采样的一般机器学习算法的结果。

        <强>过采样

        通过过采样,只是复制少数类可能导致分类器过度拟合几个例子,如下所示:

        enter image description here

        左图:仅应用一般机器学习算法而不欠采样的结果。

        右图:仅使用过采样的常规机器学习算法的结果。

          

        回答问题2 :在欠采样中,我们对负面类进行了欠采样,但删除了一些信息负面类,并导致了蓝色决策边界   倾斜,导致一些负面的类被归类为   错误的积极阶层。

             

        在过采样中,厚的正号表示存在多个重复的副本   那个数据实例。机器学习算法然后看到这些   案件多次,因此设计过度适应这些例子   具体而言,导致如上所述的蓝线边界。

        有关详细信息,请参阅this

答案 1 :(得分:3)

TL; DR:类失衡的“诅咒”是一种神话,只与某些类型的问题有关。

  1. 并非所有ML模型都在课程不平衡设置中失败。大多数概率模型不受类不平衡的严重影响。当我们切换到非概率或多类预测时,通常会出现问题。
  2. 逻辑回归(及其泛化 - 神经网络)中,类不平衡强烈影响截距,但对斜率系数的影响非常小。直观地,当我们改变类的先验概率时,来自二元逻辑回归的预测优势比 log(p(y=1)/p(y=0)) = a+x*b会改变一个固定的数量,并且拦截a会捕捉到这种影响。 / p>

    决策树(及其概括 - 随机森林和梯度提升树)中,类不平衡影响叶杂质度量,但这种影响对于所有候选分裂大致相等,因此通常不会影响分裂的选择很多(the details)。

    另一方面,像 SVM 这样的非概率模型会受到类不平衡的严重影响。 SVM以这样的方式学习它的分离超平面,即大致相同数量的正面和负面示例(支持观察)位于边界或其错误的一侧。因此,重新采样可以显着改变这些数字和边界的位置。

    当我们使用二进制分类的概率模型时,一切正常:在训练时,模型不太依赖于不平衡,而对于测试,我们可以使用不平衡不敏感的指标,如ROC AUC ,取决于预测的类概率,而不是“硬”离散分类。

    但是,这些指标并不容易推广多类分类,我们通常会利用简单的准确性来评估多类问题。并且准确性已经知道类不平衡的问题:它基于硬分类,可能完全忽略稀有类。当大多数从业者转向过采样时就是这种情况。但是,如果您坚持概率预测并使用 log loss (又称交叉熵)来衡量性能,您仍然可以在类不平衡中存活下来。

    1. 当您不想要概率分类时,过采样是好的。在这种情况下,“类的分布”是无关紧要的。
    2. 想象一下当你不需要图片上有猫的概率的应用程序时,你只想知道这个图像是否与猫的图像更像相似而不是狗的图像。在这种情况下,可能希望猫和狗有相同数量的“投票”,即使在最初的训练样本猫中占多数。

      在其他应用程序(如欺诈检测,点击预测或我最喜欢的信用评分)中,您真正需要的不是“硬”分类,而是排名:哪些客户更有可能欺骗,点击或默认其他人?在这种情况下,样本是否不平衡并不重要,因为截止通常是手工设置(从经济考虑,如成本分析)。然而,在这样的应用中,预测欺诈(或点击或默认)的“真实”概率可能是有帮助的,因此上采样是不希望的。