Jin*_*ing 5 statistics classification machine-learning
关于如何打击阶级不平衡问题,有许多职位和资源,即对少数群体进行过度抽样或对多数群体进行抽样不足.
我也明白,使用准确性来评估不平衡问题的模型性能是错误的.
但是,我没有找到很多资源来讨论为什么ML模型首先在类不平衡问题上失败.仅仅是因为损失函数通常是所有数据点的总和,因此模型倾向于更多地强调多数类数据而不是少数类数据?
其次,在实际应用中,例如欺诈检测或点击预测(发生类失衡),为什么通过训练集的过度(欠)采样来改变分布是一件好事?难道我们不希望分类器反映真实的分布(其本质上是不平衡的)吗?假设我有一个训练的逻辑回归模型来预测欺诈,让我们假设欺诈率是2%.欺诈事件的过度抽样基本上告诉模型欺诈率不是2%,而是50%(比如说).这是一件好事吗?
总结一下.两个问题:
为什么ML模型会在类不平衡设置中失败?是否因为损失函数通常由各个数据点的损失总和组成?
为什么over(under)-sampling本质上改变了模型看待问题的方式,这是一个好方法?为什么不让模型真实地反映出类的分布?
TL;DR:阶级不平衡的“诅咒”是一种神话,仅与某些类型的问题相关。
在逻辑回归(及其泛化 - 神经网络)中,类别不平衡强烈影响截距,但对斜率系数的影响非常小。直观地说,当我们改变类的先验概率时,二元逻辑回归的预测优势比会 log(p(y=1)/p(y=0)) = a+x*b
改变一个固定的数量,这种影响被截距捕获a
。
在决策树(及其泛化——随机森林和梯度提升树)中,类不平衡会影响叶杂质度量,但这种影响对于所有候选分裂大致相等,因此通常不会对分裂的选择产生太大影响(细节)。
另一方面,像SVM这样的非概率模型会受到类别不平衡的严重影响。SVM 学习其分离超平面的方式大致相同的正面和负面示例(支持观察)位于边界或错误的一侧。因此,重采样可以显着改变这些数字和边界的位置。
当我们使用概率模型进行二元分类时,一切正常:在训练时,模型不太依赖于不平衡,而对于测试,我们可以使用不平衡不敏感的指标,例如 ROC AUC,它依赖于预测的类概率,而不是“硬”离散分类。
然而,这些指标不容易推广到多类分类,我们通常利用简单的准确性来评估多类问题。并且准确性存在类别不平衡的已知问题:它基于硬分类,可能会完全忽略稀有类别。大多数从业者转向过采样时就是这种情况。但是,如果您坚持概率预测并使用对数损失(又名交叉熵)来衡量性能,您仍然可以在类别不平衡中幸存下来。
想象一个应用程序,当您不需要图片上有猫的概率时,您只想知道这张图片是否更类似于猫的图像而不是狗的图像。在此设置中,可能希望猫和狗拥有相同数量的“投票”,即使在原始训练样本中猫占大多数。
在其他应用程序(如欺诈检测、点击预测或我最喜欢的信用评分)中,您真正需要的不是“硬”分类,而是排名:哪些客户更有可能作弊、点击或违约,其他客户?在这种情况下,样本是否不平衡并不重要,因为截止点通常是手动设置的(出于经济考虑,例如成本分析)。但是,在此类应用中,预测欺诈(或点击或默认)的“真实”概率可能会有所帮助,因此不需要上采样。
我通过一个例子解释你的问题:
如果有一个由以下交易组成的数据集:
分类器倾向于将欺诈交易归类为真实交易。
假设机器学习算法有两个可能的输出如下:
模型 1
分类交易:
型号 2
分类交易:
如果分类器的性能由错误数决定:
模型1:17 个错误。
模型 2:102 个错误。
模型 1 更好。
但是,由于我们希望尽量减少欺诈发生的数量:
模型 1:7 个错误。
模型 2:2 个错误。
模型 2 更好。
回答问题 1:一般的机器学习算法只会选择 模型 1 而不是模型 2,这是一个问题。在实践中,这意味着我们将让大量欺诈交易通过,尽管我们可以使用模型 2 阻止它们。
欠采样
通过欠采样,我们可能会冒着删除一些更具代表性的多数类实例的风险,从而丢弃有用的信息。
这可以说明如下:
绿线:我们希望拥有的理想决策边界。蓝色是实际结果。
左图:仅应用通用机器学习算法而没有欠采样的结果。
右图:仅应用具有欠采样的通用机器学习算法的结果。
过采样
通过过采样,仅仅复制少数类可能会导致分类器过度拟合一些示例,如下所示:
左图:仅应用通用机器学习算法而没有欠采样的结果。
右图:仅应用具有过采样的通用机器学习算法的结果。
回答问题2:在欠采样中,我们对负类进行了欠采样,但去除了一些信息丰富的负类,导致蓝色决策边界倾斜,导致某些负类被错误地归类为正类。
在过采样中,粗正号表示该数据实例有多个重复副本。然后机器学习算法会多次看到这些情况,因此专门针对这些例子进行过拟合,从而产生如上图所示的蓝线边界。
有关更多信息,请参阅此。
归档时间: |
|
查看次数: |
734 次 |
最近记录: |