主页 topics 上采样 什么是上采样?
深入了解使用 watsonx.ai 进行向上采样 注册获取 AI 更新
电脑显示器、服务器、云朵、点的组合拼贴插图

发布日期:2024 年 4 月 29 日
作者:Jacob Murel 博士

上采样增加了数据集中数据样本的数量。这样做的目的是纠正不平衡数据,从而提高模型性能。

上采样(又称过采样)是一种数据处理和优化技术,通过添加数据来解决数据集中的类不平衡问题。通过使用少数类的原始样本来添加数据,直到所有类别的数据量相等。Python scikit-learn 和 Matlab 都包含实现上采样技术的内置函数。

数据科学中的上采样常常被误认为是数字信号处理(DSP)中的上采样。两者在精神上相似,但又截然不同。与数据科学中的上采样类似,DSP 的上采样也是通过内插更高的采样率,人为地从输入信号(特别是离散时间信号)的频域中创建更多的采样。这些新样本是通过在原始信号中插入零,并使用低通滤波器进行插值产生的。这与数据平衡中的数据上采样方式不同。

用于数据平衡的上采样也有别于图像处理中的上采样。在后者中,高分辨率图像首先要降低分辨率(去除像素)以加快计算速度,然后卷积将图像恢复到原始尺寸(添加回像素)。

为什么 AI 治理是扩展企业人工智能的当务之急

了解采用 AI 的障碍,特别是缺乏 AI 治理和风险管理解决方案。

相关内容

注册以获取有关基础模型的指南

为什么要使用上采样?

上采样是解决数据集失衡问题的有效方法。不平衡数据集的定义是,相对于真实人口而言,某一类别在数据集中的代表性严重不足,从而造成意外偏差。例如,假设一个模型经过训练,可以将图像分类为显示猫或狗的图像。所使用的数据集由 90% 的猫和 10% 的狗组成。在这种情况下,猫的比例过高,如果我们让分类器每次都预测猫,那么它对猫的分类准确率将达到 90%,而对狗的分类准确率则为 0%。在这种情况下,不平衡的数据集将导致分类器偏向于提高多数类别的准确性,而牺牲少数类的准确性。多类数据集也会出现同样的问题。1

上采样过程可以解决数据集不平衡的问题。它将根据原始数据集少数类特征合成的点填充到数据集中。这种方法通过有效增加代表性不足的少数类的样本数量来平衡数据集,直到数据集中所有类别的点数比例相等。

虽然只需绘制每个类别中数据点的计数图就能看到不平衡现象,但这并不能说明它是否会对模型产生重大影响。幸运的是,我们可以利用性能指标来衡量上采样技术纠正类不平衡的效果。这些指标大多用于二元分类,即只有两个类别:正类和负类。通常,正类是少数类,而负类是多数类。两种常用的指标是接收者工作特征曲线(ROC)和精确度-召回曲线。1

上采样的优缺点
优势
  • 无信息损失:下采样会从多数类中移除数据点,而上采样则不同,它会生成新的数据点,从而避免任何信息损失。
  • 以低成本增加数据:在只能通过观察获取数据的情况下,扩大取样范围尤其有效,而且往往是按需扩大数据集规模的唯一方法。例如,某些病症过于罕见,无法收集更多数据。
缺点
  • 过度拟合:由于上采样是在现有少数类数据的基础上创建新数据,分类器可能会对数据进行过度拟合。上采样假设现有数据能充分反映现实情况;如果情况并非如此,则分类器可能就无法很好地进行概括。
  • 数据噪声: 上采样会增加数据中的噪声量,从而降低分类器的可靠性和性能。2
  • 计算复杂性:通过增加数据量,训练分类器的计算成本会更高,这可能是使用云计算时的一个问题。2
上采样技术
随机过采样

随机超采样是在少数类中随机复制数据点,直到少数类的规模与多数类的规模相等。

虽然两者性质相似,但随机过采样与 Bootstrapping 不同。Bootstrapping 是一种 集成学习 技术,可以从所有类中重新采样。相比之下,随机过采样只从少数类中重新取样。因此,随机过采样可以被理解为一种更专业的 Bootstrapping。

随机过采样虽然简单,但也有其局限性。由于随机过采样只会添加重复的数据点,因此可能会导致过拟合。3但与其他方法相比,它仍有许多优点:易于实现、无需对数据进行扩展性假设,以及由于算法简单而耗时少。2

SMOTE

合成少数过采样技术 (SMOTE) 是一种上采样技术,于 2002 年首次提出,它从少数类中的现有点合成新的数据点。4它包括以下过程:2

  1. 找出所有少数类数据点的 K 个最近邻点。K 通常为 5。
  2. 对每个少数类数据点重复第 3-5 步:
  3. 从数据点的 K 个最近邻点中选取一个。
  4. 在功能空间中连接这两个点的线段上随机选取一个点,生成新的输出样本。这一过程被称为插值。
  5. 根据所需的上采样率,使用不同的最近邻点重复第 3 和 4 步。

SMOTE 通过向数据集添加之前未见过的新数据,而不是简单地复制原有数据,解决了随机过采样中的过拟合问题。因此,一些研究人员认为 SMOTE 是一种比随机过采样更好的上采样技术。

另一方面,SMOTE 人工生成数据点的做法给数据集增加了额外的噪声,有可能使分类器更加不稳定。1SMOTE 中的合成点和噪声也可能无意中导致少数类和多数类之间不反映现实的重叠,从而导致所谓的过度概括。5

Borderline SMOTE

一种流行的扩展名为 Borderline SMOTE,用于解决人为数据集噪声问题,并创建“较难”的数据点。“较难”的数据点是接近决策边界的数据点,因此较难分类。这些较难的点更有助于模型学习。2

Borderline SMOTE 可识别出与许多多数类点相近的少数类点,并将其归入“DANGER”集。DANGER 点是“难以”学习的数据点,这也是因为与被少数类点包围的点相比,DANGER 点更难分类。这一选择过程排除了最近邻仅为多数类点的点,这些点被算作噪声。在此基础上,SMOTE 算法将继续正常使用该 DANGER 集。3

ADASYN

自适应合成采样法 (ADASYN) 与 Borderline SMOTE 相似,都是生成更难学习的数据供模型学习。但其目的也是为了保留少数类数据的分布。6为此,它首先根据邻域中多数类示例的数量,创建所有少数点的加权分布。这样,在生成新数据时,它就会更频繁地使用更接近多数类的少数类点。

过程如下:2

  1. 在整个数据集上创建 KNN 模型。
  2. 每个少数类点都有一个“硬度因子”,用 r 表示,即 KNN 中多数类点的数量与最邻近点总数之比。
  3. 与 SMOTE 一样,合成生成的点也是少数数据与其最邻近数据之间的线性插值,但生成的点数会随点的硬度因子而变化。这样做的目的是在少数类数据较少的区域生成更多的点,而在少数类数据较多的区域生成较少的点。
数据转换/增强

数据增强通过创建数据的变体来创建新数据。数据增强适用于各种机器学习领域。

数据增强的最基本形式是对数据集的原始输入进行转换。例如,在计算机视觉中,图像增强(裁剪、模糊、镜像等)可用于创建更多图像供模型分类。同样,数据增强也可用于自然语言处理任务,如用同义词替换单词或创建语义等效的句子。

研究人员发现,数据增强能有效提高计算机视觉和 NLP 任务的模型准确性,因为它能以低成本增加类似数据。但是,在使用这些技术之前,必须注意一些注意事项。对于传统的几何增强技术,在进行转换之前应考虑转换的“安全性”。例如,旋转“9”的图像会使其看起来像“6”,从而改变其语义。7

最近的研究

SMOTE 扩展和深度学习是近年来上采样技术的重点。这些方法旨在提高模型性能,并解决上采样的一些缺点,如少数类分布中引入的偏差。

SMOTE 的一些发展包括少数预测概率 SMOTE (MPP-SMOTE),它根据看到每个少数类样本的估计概率进行上采样。8为了将 SMOTE 扩展到多类分类,有人提出了多标签边界线过采样技术 (MLBOTE)。9两者的性能均优于所有现有的 SMOTE 变体,并保留了原始数据中的模式。

神经网络也被用于开发过采样技术。生成对抗网络引起了一些人的兴趣,并取得了可喜的成果,尽管训练时间使得这种技术比其他传统的上采样方法慢。10

相关资源 什么是下采样?

下采样减少了数据集中数据样本的数量。这样做的目的是纠正不平衡数据,从而提高模型性能。

什么是过拟合?

在机器学习中,当算法与其训练数据过于接近甚至完全吻合时,就会发生过拟合,这会导致模型无法根据训练数据以外的任何数据做出准确的预测或结论。

什么是机器学习 (ML)?

机器学习 (ML) 是 AI 和计算机科学的一个分支,它专注于使用数据和算法以使 AI 能模仿人类的学习方式,并逐渐提高其准确性。

采取后续步骤

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai 预约实时演示
脚注

1 Haobo He 和 Edwardo Garcia,《从不平衡数据中学习》,IEEE,2009 年 9 月, https://ieeexplore.ieee.org/document/5128907 (链接位于 ibm.com 以外)。(1,2,10)

2 Kumar Abishek 和 Mounir Abdelaziz,《不平衡数据的机器学习》,Packt,2023 年 11 月, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836(链接位于 ibm.com 以外)。(3,4,6,8,9,12,14-17)

3 Kumar Abishek 和 Mounir Abdelaziz,《不平衡数据的机器学习》,Packt,2023 年 11 月, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836(链接位于 ibm.com 以外)。Alberto Fernandez 等人,《从不平衡数据集中学习》,2018 年。

4 Nitesh Chawla 等人,SMOTE:合成少数过采样技术,JAIR,2002 年 6 月 1 日, https://www.jair.org/index.php/jair/article/view/10302(链接位于 ibm.com 以外)。

5 Kumar Abishek 和 Mounir Abdelaziz,《不平衡数据的机器学习》,Packt,2023 年 11 月。Haobo He 和 Edwardo Garcia,《从不平衡数据中学习》,IEEE,2009 年 9 月, https://ieeexplore.ieee.org/document/5128907 (链接位于 ibm.com 以外)。

6 Alberto Fernandez 等人,《从不平衡的数据集中学习》,Springer,2018 年。

7 Connor Shorten 和 Taghi Khoshgoftaar,《深度学习图像数据增强调查》,Springer,2019 年 7 月 6 日**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0(链接位于 ibm.com 以外)。

8 Zhen Wei、Li Zhang 和 Lei Zhao,《基于少数预测概率的不平衡学习过采样技术》,Science Direct,2022 年 12 月 6 日, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (链接位于 ibm.com 以外)。

9 Zeyu Teng 等人,《多标签边界过采样技术》,ScienceDirect,2023 年 9 月 14 日,https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y(链接位于 ibm.com 以外)。

10 Justin Engelmann 和 Stefan Lessmann,《实现不平衡学习的基于条件 Wasserstein GAN 的表格数据过采样》,2021 年 7 月 15 日,ScienceDirect,https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (链接位于 ibm.com 以外)。Shuai Yang 等人,《基于生成式对抗网络的过采样方法进行风力涡轮机故障诊断》,IOP Science,2023 年 1 月 12 日, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta(链接位于 ibm.com 以外)。