资讯

过采样是什么?增加少数类样本来平衡数据

2026-11-053 分钟阅读百科
TL;DR过采样(Oversampling)是处理类别不平衡问题的方法,通过复制或合成少数类样本来增加其数量,常见方法有随机过采样、SMOTE 和 ADASYN;需注意只在训练集上进行,并警惕复制样本带来的过拟合,信号处理中过采样则指以高于奈奎斯特频率采样。

过采样(Oversampling)是机器学习中处理类别不平衡问题的一种常用方法:通过增加少数类别的样本数量,让各个类别的样本数量变得更加均衡,从而帮助模型更好地学习少数类别的特征。

为什么需要过采样

在很多实际问题中,不同类别的样本数量相差悬殊:信用卡交易中,欺诈交易可能只占千分之一;医疗诊断中,患某种罕见病的病人只占很小的比例;工业质检中,次品远远少于合格品。如果直接用这样的数据训练模型,模型可能会“偷懒”:只要把所有的样本都预测为多数类,就能达到很高的准确率,比如把所有交易都判为正常交易,准确率高达 99.9%,但这样的模型完全没有用,因为我们真正关心的恰恰是那些少数的欺诈交易。过采样通过增加少数类的样本,让模型在训练时更加重视它们。

常见的过采样方法

随机过采样:最简单的方法,从少数类样本中随机地有放回地抽取样本进行复制,直到达到想要的数量。它简单易行,但由于只是重复已有的样本,模型可能会过度地记住这些特定的样本,导致过拟合。

SMOTE(合成少数类过采样技术):由 Nitesh Chawla 等人在 2002 年提出,是最常用的过采样方法。它不是简单地复制,而是合成新的样本:对每个少数类样本,找到它在少数类中的几个最近邻,随机选择其中一个,然后在这两个样本之间的连线上随机地取一个点,作为新的合成样本。这样生成的样本与原有样本相似但又不完全相同,可以减少过拟合的风险。

SMOTE 的改进版本:Borderline-SMOTE 只针对那些靠近类别边界、最容易被分错的少数类样本进行合成;ADASYN 根据每个少数类样本周围的学习难度,自适应地决定为它合成多少个新样本,越难学的地方合成越多。此外,还可以把过采样与欠采样结合起来使用,比如 SMOTE 加上清理边界噪声样本的方法。

使用时的注意事项

只在训练集上进行过采样:这一点非常重要。必须先划分训练集、验证集和测试集,再只对训练集进行过采样。如果先对全部数据进行过采样再划分,复制或合成的样本可能同时出现在训练集和测试集中,导致评估的结果过于乐观。在交叉验证中,也要在每一折的训练部分内部单独进行过采样。选择合适的评价指标:在类别不平衡的问题中,准确率并不是一个好的指标,应该使用精确率、召回率、F1 分数、精确率-召回率曲线下的面积等。其他的替代方法:除了调整数据,还可以调整模型的训练方式,比如为少数类设置更高的损失权重,或者调整分类的判定阈值,这些方法有时比过采样更简单有效。

信号处理中的过采样

在信号处理领域,过采样有另一个含义:以远高于奈奎斯特频率(信号最高频率的两倍)的频率对信号进行采样。这样做可以降低对抗混叠滤波器的要求、减少量化噪声,提高信号的质量,在音频的模数转换中被广泛使用。