美文网首页
不平衡数据的训练方法

不平衡数据的训练方法

作者: 科技老丁哥 | 来源:发表于2020-03-07 17:35 被阅读0次

    以下是翻译自:Learning from imbalanced data

    在这篇博客文章中,我将讨论在训练机器学习模型时处理不平衡数据的许多注意事项和技术。 该博客文章主要依靠sklearn 不平衡包 imbalanced-learn来实现所讨论的技术。

    在不平衡数据集上训练机器学习模型会给学习问题带来独特的挑战。 数据不平衡通常是指分类问题,其中每个类别的样本数不均等分布。 通常,对于一个类(称为多数类),拥有大量的数据/观测值,而对于一个或多个其他类(称为少数类),则具有较少的观测值。 例如,假设要建立一个分类器,以对信用卡交易中的欺诈交易或真实交易进行分类每1次欺诈交易就可能有10,000次真实交易,这是相当不平衡的

    为了理解类不平衡带来的挑战,考虑训练模型的两种常用方法:根据某些分裂准则开发的基于树的逻辑规则(tree-based logical rules),以及通过梯度下降更新的参数化模型( parameterized models updated by gradient descent)。

    在构建基于树的模型(例如决策树)时,我们的目标是找到能够提取完整数据集并将观察结果分成不同类别的逻辑规则。 换句话说,我们希望树中的每个分割都可以增加观测的纯度,以便将数据过滤到同质的组中。 如果我们存在多数类,那么决策树的顶部很可能会学习将多数类分为纯组的拆分,但要以将少数类分开的学习规则为代价。

    对于更具体的示例,这是在“葡萄酒质量数据集”上训练的决策树,本文稍后将作为示例。 字段value表示给定节点中每个类别的观察次数。

    image.png

    同样,如果要通过梯度下降来更新参数化模型以最小化损失函数,则将进行大部分更新, 沿多数类正确分类的方向更新参数值。 换句话说,许多机器学习模型都受到频率偏差的影响,在该模型中,他们更加会从更常见的数据样本中学习。

    值得注意的是,并非所有数据集都会受到类不平衡的同等影响。 通常,对于易于区分的问题(其中数据之间存在明确的分隔),类的不平衡不会影响模型的有效学习能力。 但是,当引入类别不平衡时,本来就更难于学习的数据集会导致学习难上加难。

    1. 评估指标

    处理不平衡数据时,标准分类指标不能充分代表模型性能。 例如,假设您正在构建一个模型,该模型将查看一个人的病历并对他们是否可能患有罕见病进行分类。 直到您意识到它正确地将99.5%的健康人归类为“无疾病”,并错误地将0.5%的确实患有该病的人归类为健康,准确性才可能看起来不错。 我在评估机器学习模型的帖子中对此进行了讨论,但是在这里,我还将提供有关处理不平衡数据时的有用指标。

    *准确率 *

    相关文章

      网友评论

          本文标题:不平衡数据的训练方法

          本文链接:https://www.haomeiwen.com/subject/eithdhtx.html