1 背景与问题定义

1.1 类别不平衡在分类任务中的表现

在监督分类中,不同类别的样本数量往往并不相等,常见于欺诈检测、故障诊断、异常告警、医疗分型等场景。多数类样本充足,少数类样本稀缺,导致模型在训练时更容易“学到”多数类的规律,而对少数类的判别边界覆盖不足。随机过采样的目标,是通过训练阶段的重采样操作,让模型看到更接近均衡的类别频次。

1.2 不平衡带来的常见建模风险

1.2.1 指标偏移:准确率“好看但没用”

当少数类占比很低时,即便模型对少数类几乎不敏感,只要多数类预测正确率很高,整体准确率仍可能维持在较高水平。此时指标“看起来不错”,但对实际业务目标(例如尽量不漏报异常)帮助有限。

1.2.2 模型偏置与召回率下降

训练损失在多数类上贡献更大,优化过程可能倾向于减少整体错误数量,从而把决策阈值推向“更不愿意预测少数类”。结果常表现为少数类召回率偏低:模型宁可将样本判到多数类,也不愿给少数类“投票”。

2 方法概述

2.1 核心思想:对少数类有放回复

随机过采样使用“有放回”的方式从少数类中抽取样本,并把抽到的样本复制到训练集中。复制不会引入新信息,但会增加少数类在训练集中的出现频次,使训练时的类别权重更均衡,从而缓解模型对多数类的偏向。

2.2 过采样目标与比例设定

过采样通常通过设定目标比例实现,例如将少数类数量提升到接近多数类,或提升到某个预设阈值。比例设定越激进,训练时少数类被重复使用的次数越多,带来更强的平衡效果同时也伴随更高的过拟合可能性。

2.3 与训练流程的衔接位置

2.3.1 在划分前后对数据泄露的影响

最佳实践是:先完成数据集划分(训练集、验证集、测试集),再仅对训练集进行过采样。若在划分前对全量数据做复制,少数类的“近似重复样本”可能同时进入训练与验证/测试集合,导致评估结果虚高,属于典型的数据泄露风险。

3 实现细节

3.1 随机抽样策略

3.1.1 按数量复制 vs. 按比例扩增

实现上常见两种设定方式:

  • 按数量复制:直接指定少数类最终要达到的样本数,超出部分通过有放回抽样补齐。
  • 按比例扩增:根据当前样本量与目标比例计算需要的扩增倍数,再进行有放回抽样。

两者本质相同,差异主要来自你采用“绝对数量”还是“相对比例”作为控制变量。

3.2 多类别与二元分类的扩展

3.2.1 多数/少数类别的判定方式

对于二元分类,多数类通常是样本量较大的那一类。对多类别问题,需要先比较各类别计数,定义“多数/少数”。随后可以选择:

  • 统一目标比例(例如都提高到某个下限),或
  • 以最大类为参照,将其他类别提升到接近最大类的规模。

多类别版本同样依赖“按类别独立抽样并拼接”的实现思路。

3.3 特征与标签的一致性

随机过采样复制的是“样本对”(特征向量与其对应标签),因此每次抽取必须同时携带特征与标签。若特征来自多模态或包含多字段(如文本+元数据),复制操作应以样本为单位,避免字段错位或标签与特征不匹配。

3.4 与数据集划分的最佳实践

3.4.1 仅在训练集上进行过采样

验证集与测试集应保持原始分布,以反映模型在真实数据环境中的表现。训练集上进行的重采样只用于指导参数学习,评估环节不应再引入人为平衡,否则容易造成“评估环境与部署环境不一致”的问题。

4 效果评估与常见现象

4.1 适用的评估指标

4.1.1 召回率、精确率与F1

在类别不平衡条件下,召回率更关注“少数类是否被找出来”,精确率更关注“被找出来的是否可靠”。F1 综合了两者,常用于少数类为主要关注对象的任务。对业务而言,往往需要根据“漏报”与“误报”的成本来选择指标侧重点。

4.1.2 AUCPR曲线的选择

当正类(或少数类)极少时,PR曲线往往比ROC曲线更能反映模型对正类的检出能力。AUC在不同曲线定义下含义不同:使用PR-AUC通常对极端不平衡更敏感;选择哪种曲线应与任务的关注目标一致。

4.2 过拟合风险与重复样本效应

4.2.1 为什么“复制”可能让模型记住少数类

随机过采样不生成新样本,只是重复使用已有样本。若少数类样本数量很少,模型可能在训练过程中对这些样本的具体特征形成“记忆式拟合”,从而在验证或测试上对少数类的泛化能力下降。尤其当模型容量较大、训练轮数较多、正则化较弱时,这种风险更明显。

4.3 调参建议

4.3.1 过采样倍数与性能权衡

过采样倍数(或目标比例)是关键超参数

  • 倍数过小:平衡效果不足,召回提升有限。
  • 倍数过大:重复程度过高,过拟合概率上升,可能出现验证集指标回落。

实践中通常通过在验证集上网格/贝叶斯搜索目标比例,并结合正则化与早停策略共同控制风险。

5 变体与对比

5.1 与随机欠采样的区别

随机欠采样通过减少多数类样本来达到平衡。相较之下,随机过采样保留了多数类的全部信息,但会增加少数类的重复使用。两者在数据量充足或模型对噪声敏感等条件下会产生不同的效果:欠采样可能丢失多数类的多样性,过采样可能引入少数类的重复偏差

5.2 与合成采样方法的关系

合成采样方法通常会基于少数类样本生成新的“变体样本”,以增加有效信息多样性。随机过采样只复制原样本,信息增量为零;因此在少数类极少或决策边界较复杂时,合成采样往往更有机会改善泛化,但同时实现与调参复杂度也更高。

5.3 与代价敏感学习的互补性

代价敏感学习通过在损失函数中引入不同类别的权重或直接设定误判成本,使模型在优化时更重视少数类。随机过采样与之互补:过采样改变训练样本频率,代价敏感学习改变损失贡献。二者若同时使用,需要谨慎避免“权重过强”导致的另一类偏置。

5.4 与集成方法(如Bagging变体)的结合

在集成学习中,Bagging类方法会在子采样数据上训练多个基模型并聚合输出。随机过采样可嵌入每个基学习器的训练数据准备阶段,从而让不同模型看到不同的少数类重复组合。这样的组合有时能提升稳定性,但也会加大计算开销,并需要通过验证集控制过拟合。

6 工程实践与注意事项

6.1 计算与内存开销

过采样会扩大训练集规模,进而增加训练时间与显存/内存占用。对于大规模数据,复制次数较高时可能带来明显的性能压力。工程上可考虑限制目标比例、使用更高效的数据管道,或选择能减轻重复影响的替代策略。

6.2 流式/在线学习场景中的处理

6.2.1 数据到达时的动态均衡

在流式环境中,类别分布可能随时间变化。动态过采样通常以滑动窗口或固定周期统计类别频次,在每个更新阶段对新数据进行均衡处理。这样可避免长期累积导致的不均衡恶化,但也要留意时间相关性与概念漂移带来的挑战。

6.3 管道化实现与可复现性

6.3.1 随机种子与实验可比性

随机过采样依赖随机抽样,因此实验可复现性需要显式设置随机种子,并在不同实验之间保持一致的划分与采样配置。若在多折交叉验证中使用,应确保每折只在其训练部分进行过采样,同时记录抽样种子以便复现。

7 局限性与“梗式”提醒

7.1 简单有效,但不一定“魔法”

随机过采样提供了直观的平衡手段,但它不创造新样本,也不保证少数类的特征覆盖更完整。换句话说,它更像是“让模型更常见到少数类”,而不是“让少数类变得更可学习”。在复杂任务中,单靠它未必能获得最优结果。

7.2 何时不适用或需谨慎

当少数类样本本身噪声很大、标注质量较差,复制噪声会进一步放大问题;当类别间区分依赖微弱信号且少数类极少时,过拟合风险会显著上升。此时通常需要更强的正则化、数据清洗或更先进的采样/建模方法配合。

7.3 如何避免“看起来均衡、实际上偏了”

7.3.1 评估阶段保持原始分布的重要性

过采样只应发生在训练阶段,评估集应保留原始分布,才能判断模型是否在真实场景中真正改善少数类表现。若评估阶段也被人为均衡,会造成指标“看起来更公正”,但部署时可能出现性能落差。