什么是上采样?

在软件开发和设计师办公室工作的公司员工

作者

Jacob Murel Ph.D.

Senior Technical Content Creator

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

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

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

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

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

为什么要使用上采样?

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

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

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

Mixture of Experts | 8 月 28 日,第 70 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

上采样的优缺点

优势

  • 无信息损失:下采样会从多数类中移除数据点,而上采样则不同,它会生成新的数据点,从而避免任何信息损失。
  • 以低成本增加数据:在只能通过观察获取数据的情况下,扩大取样范围尤其有效,而且往往是按需扩大数据集规模的唯一方法。例如,某些病症过于罕见,无法收集更多数据。

缺点

  • 过度拟合:由于上采样是在现有少数类数据的基础上创建新数据,分类器可能会对数据进行过度拟合。上采样假设现有数据能充分反映现实情况;如果情况并非如此,则分类器可能就无法很好地进行概括。
  • 数据噪声:上采样会增加数据中的噪声量,从而降低分类器的可靠性和性能。2
  • 计算复杂性:通过增加数据量,训练分类器的计算成本会更高,这可能是使用云计算时的一个问题。2

上采样技术

随机过采样

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

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

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

SMOTE

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

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

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

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

相关解决方案
IBM® watsonx.ai

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

深入了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解人工智能解决方案
人工智能 (AI) 咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 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.packtbar.com/product/machine-learning-for-im Balanced-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,“基于少数预测概率的不平衡学习过采样技术”,ScienceDirect,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 外部链接)。