假设某个数据集包含分类标签,该标签的值是 肯定或否定。在均衡的数据集中,正数 和负标签大致相等。不过,如果一个标签更常见 与另一个标签相比,则数据集 不平衡。 不平衡的数据集内的主要标签称为 大多数类别; 不太常见的标签称为 少数类。
下表提供了我们广泛接受的名称和范围, 不同程度的不平衡:
属于少数群体的数据所占的百分比 | 不平衡程度 |
---|---|
占数据集 20-40% 的百分比 | 温和 |
数据集的 1-20% | 中 |
不到数据集的 1% | 极端 |
例如,假设有一个病毒检测数据集,其中少数类 代表数据集的 0.5%,多数类别代表 99.5%。 这种极不均衡的数据集在医学领域很常见, 绝大多数实验对象都不会感染病毒
不均衡数据集有时不包含足够的少数类 来正确训练模型。 也就是说,由于正例标签太少,模型几乎完全基于 无法充分了解正向标签。例如: 如果批次大小为 50,则许多批次都不包含正值标签。
通常,特别是对于轻度不平衡和有些中度不平衡的情况 数据集,不平衡也就不是问题。因此,您应先尝试 使用原始数据集进行训练。如果模型表现良好,就说明完成了。 否则,至少该次优模型能够提供良好的 未来实验的基准。 之后,您可以尝试以下方法来解决问题 由数据集不均衡所导致。
降采样和上调权重
处理不均衡的数据集的一种方法是下采样并上调 多数类。这两个新术语的定义如下:
第 1 步:对多数类进行降采样。想想看, 病毒数据集的一个比率为每 200 个负例有 1 个正例标签 标签。下采样:以下因数: 20 可将余额减少到 1 个正数到 10 个负数 (10%)。虽然 产生的训练集仍然比较不平衡, 从正类别变为负类别要好于原始类别的“极不平衡” 比例 (0.5%)。
第 2 步:上采样类(上采样):添加示例 传递给下采样类别。降采样为因数 20 后, 应该为 20。(虽然这似乎不合常理,但 稍后解释原因。)
术语权重 并非指模型参数(如 w1 或 w2)。这里的“权重”是指 样本权重,从而提高单个样本的重要性 。样本权重为 10 表示模型将该样本视为 其重要性是示例模型的 10 倍(在计算损失时) 权重 1。
weight 应等于您用于降采样的因数:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
在降采样后添加样本权重似乎很奇怪。毕竟, 所以我们要尽量让模型在少数类的基础上进行改进, 多数类?事实上,提高大多数类别的权重往往能 预测偏差。也就是说, 在下采样后增加权重往往会减少平均值与 模型预测结果和数据集标签的平均值。
再平衡比率
为了重新平衡数据集,您应该下采样和上调多大幅度? 要确定答案,您应该对再平衡比率进行实验, 就像您对其他来源进行实验一样 超参数。 尽管如此,答案最终取决于以下因素:
- 批次大小
- 失衡比率
- 训练集中的样本数量
理想情况下,每个批次都应包含多个少数类样本。 没有足够少数类的批次的训练将非常糟糕。 批次大小应是不平衡比率的数倍。 例如,如果不平衡比率为 100:1,则批次大小应 至少为 500。
练习:检查您的理解情况
请考虑以下情况:
- 批次大小为 128。
- 不平衡比率为 100:1。
- 训练集包含 10 亿个样本。