综述:表格数据蒸馏:一项全面的比较 Corneliu Florea 和 Eduard Barnoviciu

《Machine Learning and Knowledge Extraction》:Tabular Data Distillation: An Extensive Comparison Corneliu Florea and Eduard Barnoviciu

【字体: 时间:2026年04月08日 来源:Machine Learning and Knowledge Extraction 6

编辑推荐:

  摘要:在本文中,我们对用于下游分类和回归任务的表格数据蒸馏方法进行了全面评估。我们的分析考虑了多种与问题类型无关(即无监督的)蒸馏方法。对于下游学习器,我们关注非神经模型,如随机森林(Random Forest)、XGBoost和支持向量机(Support Vector Mach

  摘要:在本文中,我们对用于下游分类和回归任务的表格数据蒸馏方法进行了全面评估。我们的分析考虑了多种与问题类型无关(即无监督的)蒸馏方法。对于下游学习器,我们关注非神经模型,如随机森林(Random Forest)、XGBoost和支持向量机(Support Vector Machines),因为我们的目标是独立于学习器来评估蒸馏数据的质量。评估在17个分类问题和9个回归问题上进行。我们的发现可以总结如下:(1)在所有情况下,应用蒸馏方法都会导致性能下降;(2)总体而言,基于coreset的方法最有效,性能损失最小——从分类准确率或回归相关性的大约3%到在某些情况下可以忽略不计;(3)性能损失与数据集的尾部特性(以异常值的比例衡量)有中等程度的相关性;(4)所有蒸馏方法都会改变数据集的一致性,缩小产生良好性能的超参数值范围;(5)无论原始数据集和蒸馏数据集的大小如何,Coreset Leverage Score的性能都保持快速。

1. 引言
数据集蒸馏,也称为数据集压缩,是指从大型数据集中生成一个小型、信息量大的子集的过程,使得在该子集上训练的模型能够达到与在原始完整数据集上训练的模型相当的预测性能[1,2,3]。根据传统的分类法[2],蒸馏示例是合成生成的,以更好地捕捉完整数据集的特征。类似的设置,但是其中的结果实例是从原始数据集中选出的关键代表,被称为实例选择[4,5]或实例减少[6,7]。最近的研究[3,8]将蒸馏作为所有这些方法的统称,这些方法在尽可能保留性能的同时减少了原始数据集的大小,我们也遵循相同的框架。

在目标和应用方面,数据集蒸馏有助于减少数据存储需求,并可以缓解与维护和重复使用大量原始数据相关的隐私和版权问题。此外,较小的数据集大小降低了模型训练的计算成本,无论是运行时间还是内存使用,当必须在同一数据集上训练多个模型时,这一点特别有益。这些优势使得数据集蒸馏具有广泛的实际应用前景。例如,在持续学习中——随着新任务的顺序学习,通常会使用包含旧任务数据的“重放缓冲区”来防止灾难性遗忘[9]。数据集蒸馏可以显著减少此类重放缓冲区的内存需求,使模型能够学习更多的任务而不会遗忘[10,11]。

尽管数据集蒸馏已经在图像和提示数据集上得到了广泛研究[3,12],但其应用于其他数据模式的情况仍然有限。特别是,表格数据蒸馏受到的关注较少,尽管许多现实世界的机器学习问题和应用都依赖于表格数据。本文旨在填补这一空白。

本文做出了以下贡献:(1)针对表格数据,对无监督蒸馏方法在下游预测方面的进行了全面比较。(2)令人惊讶地发现,无论问题类型(分类或回归)或使用的学习器或数据库如何,coreset方法都是最强大的竞争者。(3)确定Coreset Leverage Score方法在性能、持续时间和数值稳健性之间提供了最佳折中方案,而G-Coreset(基于Gonzales算法)是一个强有力的竞争者。(4)我们发现蒸馏预期性能与数据集尾部特性(以异常值的比例衡量)之间存在中等程度的相关性。(5)我们强调蒸馏改变了数据集的一致性,缩小了产生良好性能的超参数值范围。

本文的其余部分组织如下:第2节介绍了关于数据蒸馏的一般研究和特定于表格数据蒸馏的研究。第3节介绍了实验流程;其中,我们介绍了学习器,但大部分内容专注于所使用的蒸馏方法。第5节详细介绍了使用的数据集。由于实验产生了大量的原始结果,我们在补充材料中进行了详细展示,并在第6节中仅提供了综合总结。我们在第8节讨论了所提出方法的局限性。本文以第9节的结论结束。

2. 相关工作
“数据集蒸馏”这一术语是由Wang等人[2]提出的,它定义了“以大型真实数据集(训练集)作为输入,并输出一个小型合成蒸馏数据集”的算法。同时,Zhao等人[13]引入了另一个术语“数据集压缩”,它定义了一种“用于数据高效学习的训练集合成方法,该方法学习将大型数据集压缩成一小部分信息量大的合成样本”。因此,这两种技术在目的和程序上有所重叠。

使训练集变小同时保持相同或大部分性能的概念已经存在很长时间了。如引言部分所述,实例选择[4,5]或实例减少[6,7]早在2015年就已经被引入。然而,在本文中,我们提到了一个更早的算法,即Gonzales[14]于1985年提出的用于聚类的算法。然而,随着现代深度学习相关的大型数据集的出现,压缩训练集的兴趣显著增加。Yu等人[3]的工作中对这方面的方法进行了调查,或者对于更一般的数据集(包括文本数据)在[15]中也有研究。然而,这些研究通常只是概述了趋势和概念,并没有特别关注表格数据蒸馏。

表格数据蒸馏在特定的研究中已经得到了研究。例如,Xu等人[16]提出了一种基于生成对抗网络的技术,以及一种基于变分自编码器的技术。Zhao等人[8]开发了一种基于分布匹配的方法,其中分布是通过神经网络中的表示来估计的。Kang等人[17]也研究了相同的想法,即基于列嵌入的表示学习,但明确假设了编码器的存在。虽然这些研究推广了所提出的解决方案并进行了与基线的比较,但这些比较仅限于少数数据集和少数蒸馏方法。

在这项工作中,我们发现了在表格数据集蒸馏方法广泛比较方面的现有空白,并旨在填补这一空白。为此,我们在17个分类数据集和9个回归数据集上比较了七种蒸馏技术,使用了三种现成的学习器和四种不同的蒸馏数据集缩减比例。

3. 方法论和学习器
3.1. 方法概述
总体方法论(也显示在图1中)包括以下关键步骤:
图1. 程序概述:不同的数据集,代表分类和回归问题,被蒸馏成缩减集。在蒸馏数据集上获得的蒸馏性能与基线(来自原始数据集)进行比较。
1. 选择一组相关的表格数据集。
2. 学习器训练和超参数搜索。
3. 选择蒸馏方法。将它们应用于表格数据集。
4. 在蒸馏/压缩的数据集上运行学习器。进行超参数搜索。
5. 比较蒸馏集上的性能与原始集(基线)上的性能。

对于学习模型,在所有情况下(蒸馏集和原始集),训练是更广泛的超参数搜索中的一个步骤。每个调查的超参数配置定义了一个完整的训练-测试周期。在这项研究中,我们关注支持向量机(SVMs)、随机森林(RFs)和使用XGBoost实现的梯度提升机(GBMs)。详细信息如下。

3.2. 公式化
设原始数据集由??表示,其中包含n个实例,位于d维空间中:?? ={??1,??2,…,????},其中???? ∈???。实例????有一个标签????,对于分类问题可以是分类的,对于回归问题可以是连续的。学习问题是找到一个模型???( ·),当应用于实例????时,将产生尽可能接近????的预测值?????。

蒸馏的目标是找到一个由k个实例组成的蒸馏集??,其中?? ???:?? ={??1,??2,…????},且???? ∈???。在这个背景下,每个????作为原始数据子集的“原型”或蒸馏代表。

3.3. 学习器
本研究评估了三种广泛使用的监督学习算法:随机森林(RF)、支持向量机(SVM)和梯度提升机(GBM)。这些模型一直被认为是表格学习的强大基线。早期的大规模比较在许多数据集中确定RF和SVM是最具竞争力的方法[18]。最近的研究进一步表明,特别是像XGBoost这样的梯度提升实现,在表格数据上达到了最先进的性能[19]。最近的广泛实证分析证实,基于树的方法在表格学习中仍然具有很高的竞争力。例如,Grinsztajn等人[20]证明,传统的树集成通常在典型的表格数据集上优于深度学习方法,而更近期的工作[21]提供了支持非深度模型在该领域稳健性的实证和理论见解。基于这些发现,我们关注RF、SVM和XGBoost作为表格任务的代表性和有竞争力的学习器。

尽管像RF和GBM这样的集成方法由于平均和随机特征选择而天然具有鲁棒性[22],但仔细的超参数调整仍然是获得强大性能的必要条件。因为最佳超参数依赖于数据集并且无法预先确定[23,24],我们采用网格搜索来探索候选值的组合并选择最大化预测性能的配置。

3.3.1. 随机森林
随机森林(RF)[25]是一种基于Bagging和特征随机性的学习器。作为一种集成方法,随机森林汇总了在不同自助样本上训练的多个决策树的预测。森林中的每棵树都是使用CART(分类和回归树)算法生成的。一棵树将特征空间划分为不相交的区域。对于给定的节点,算法通过最小化不纯度度量(对于分类)或方差(对于回归)来寻找最佳分割。

3.3.2. 梯度提升机
梯度提升机使用极端梯度提升(XGBoost)[26]实现,这是原始梯度提升框架[27]的优化版本。XGBoost是一种集成学习方法,它将多个弱学习器(通常是树)组合成一个强大的预测模型。每棵树都用于纠正前一个集成模型的残差误差,这个过程称为提升。

数学上,XGBoost是一个迭代过程,从初始预测(通常是零)开始,逐步添加树以最小化预测误差。这个过程可以表示为:
?????=??∑??=1?????(????) (2)
其中?????是第i个实例????的最终预测值,M是集成中的树总数,?????(????)是第m棵树的预测。

XGBoost的目标函数包括两个部分:一个损失函数,用于衡量模型对训练数据的拟合程度;一个正则化项,用于惩罚模型复杂性以防止过拟合。其一般形式为:
??(??)=??∑??=1???(????,?????)+??∑??=1Ω?(????) (3)
其中???(????,?????)量化了真实值????和预测值?????之间的误差,Ω?(????)惩罚过于复杂的树。

在我们的案例中,对于分类任务使用交叉熵作为???( ·),对于回归任务使用均方误差。在我们的实现中调整的超参数包括学习率、创建子节点所需的最小样本数量以及子采样比率。3.3.3 支持向量机(SVM)[28]在处理表格数据时表现非常出色,尤其是在特征集较弱或包含噪声的情况下。它们是机器学习中最稳健且数学基础最扎实的算法之一。支持向量机(SVM)的目标是找到分隔两个类别的最大间隔超平面。给定带有标签???? ∈{?1,1}的数据集??,决策函数为:???(??)=???????+???0(4)最优超平面最大化了类别之间的间隔,这等价于最小化权重向量的范数:min??,???12?∥??∥2,同时满足条件:?????(?????????+??)≥1(5)对于不可分离的数据,引入了松弛变量????,并通过一个称为成本的正则化参数来控制它们。为了处理非线性边界,SVM采用了核技巧,通过核函数将数据映射到更高维的空间:???(????,????)=???(????)??????(????)(6)根据LibSVM [29]的建议,我们使用径向基函数(RBF)核:???(??,??) =?????????(????∥?????∥2)。对于多类分类,我们采用One-vs-Rest策略[29]。对于回归问题,使用支持向量回归(SVR)。SVR不是将点排除在间隔之外,而是尝试将尽可能多的点包含在间隔内(即??-insensitive tube)。其目标是找到一个函数???(??) =??????? +??,使得它与实际目标????的偏差不超过??。优化过程最小化:12?∥??∥2+?????∑??=1(????+??*??),同时满足条件:∣?????(???????+??)∣≤??+????(7)小于??的误差会被忽略,从而使模型对噪声和落在tube内的异常值具有鲁棒性。在我们的实验中,我们使用了带有高斯(RBF)核的聚合one-vs-all公式。根据LibSVM文档[29]的建议,我们调整的超参数包括成本参数(用于调节间隔宽度与分类错误之间的权衡)和高斯核的方差??,后者控制决策边界的曲率。4. 蒸馏方法从本质上讲,蒸馏方法可以根据以下标准进行分类:现实性–实例选择[4]:选择现有实例的方法。–生成器:生成新的、合成实例的方法。它们遵循标准的蒸馏分类法[2]。目标–分布匹配:目的是产生与原始总体统计特征相匹配的示例。可以通过以下方式评估统计特征:*低阶矩,如均值、方差;*低阶矩和异常值。实际方法包括:*矩匹配:均值、协方差、偏度、峰度。*高斯混合模型(GMMs)。*基于copula的合成数据生成器。*概率分布拟合。–梯度匹配:这种方法创建一个小的合成数据集,其梯度(相对于模型)与真实数据集产生的梯度相匹配。然而,这些方法依赖于学习模型,因此在本研究中不予使用。–保留标签的浓缩:它关注标签分布???(??)的保留,而不是数据分布???(??)。我们的目标是评估独立于学习器和标签的方法。因此,我们将评估限制在下一小节中将详细说明的有限集合上。4.1 K-Means作为一种蒸馏方法,K-means [30,31]可以被视为一种分布匹配方法,其中蒸馏后的集合符合原始集合中簇的均值。形式上,K-means算法旨在将原始的n个观测值划分为k个集合?? ={??1,??2,…,????},以最小化簇内的平方和。蒸馏后的实例(质心)????由以下优化公式定义:argmin?????∑??=1∑????∈????∥?????????∥2(8)蒸馏后的实例????计算为分配给该簇的点的均值:????=1|????|?∑????∈????????(9)显然,均值不太可能是集合中最初存在的点,因此作为K-means的替代方案,可以使用K-Medoids [32]。虽然两者都旨在将数据集划分为k组,但它们的根本区别在于如何定义簇的“中心”。在K-Medoids中,簇的中心(称为medoid)是原始数据集中的实际数据点。具体来说,它是该簇内与其他所有点的总差异最小的点。4.2 Coreset方法Coreset被定义为原始数据集的一个小的加权或未加权的子集,使得在coreset上训练(或评估)模型可以近似于在完整数据集上的训练。一般来说,coreset方法选择真实数据点(而不是创建合成点),旨在保留数据集的几何形状/覆盖范围/影响力,因此特别适用于表格数据[34]。与K-means不同,蒸馏后的点来自原始数据集???? ∈??。在这次评估中,我们考虑了两种替代方案:一种基于Gonzales算法[14]的G-Coresets,另一种基于杠杆得分(Leverage Score)。4.2.1 G-CoresetGonzales算法[14]是一种贪婪策略,用于解决K-Center问题。它通过迭代选择与当前选定集合距离最远的实例来蒸馏数据,确保数据空间的“最大覆盖范围”。然后将目标定义为最小化??中的任何点与其在蒸馏集??中的最近邻居之间的距离:min??∈??,[??]=???max????∈???dist?(????,??)(10),其中dist?(????,??) =min????∈???∥?????????∥蒸馏过程进一步称为G-Coreset(Gonzales Coreset),它是用贪婪迭代算法构建的:初始化:选择一个任意的起点??1 ∈??。设置??1 ={??1}。迭代:对于?? =2到k:–找到与当前集合?????1距离最远的实例????:????=argmax????∈???(min??∈?????1?∥???????∥)(11)–更新蒸馏集:???? =?????1 ∪{????}。结果:最终集合????是K-Center目标的近似coreset。根据这个算法,?? =????。公式(11)确保集合最大化了覆盖范围。4.2.2 Coreset Leverage ScoreGonzales方法的另一种替代方案是用于coreset的Leverage Score采样。该方法是在线性回归的背景下构建的,其中并非所有数据点对最终模型的贡献都是相同的;一些点(称为高杠杆点)对回归线的位置有不成比例的影响。通过识别和优先考虑这些点,我们可以蒸馏出一个数据集,同时显著减少计算开销。这种方法的统计核心在于投影(或“帽子”)矩阵。对于一个有N个样本和d个特征的数据集??,每个观测值????的Leverage Score定义为:????=???????(???????)?1?????(12)这些分数对应于帽子矩阵?? =???????)?1?????的对角元素。从几何上讲,????衡量了单个观测值的特征与数据集中特征的平均值的距离。高Leverage Score表明该点在特征空间中是一个异常值,因此在定义模型参数时起着关键作用。为了进行蒸馏,根据它们的Leverage Score以相应的概率对点进行采样。这个过程确保了“重要”点在蒸馏后的coreset中被保留。这种方法提供了强有力的理论保证。具体来说,如果我们采样m个点,其中?? ???,那么在蒸馏数据上训练的模型将是基于完整数据集训练的模型的(1 +??)近似。然而,我们强调这种理论证明仅在线性最小二乘问题和低秩矩阵近似的背景下有效。这些保证涉及子空间的保留和线性目标的近似。由于下游学习器是非线性的,这些理论保证不直接适用于RF、XGB或RBF-SVM。实际上,直接计算帽子矩阵H非常计算密集,因为它需要对整个数据集进行乘法运算。基于Drineas等人的工作[35],我们首先使用主成分分析(PCA)计算??的rank-k近似。根据奇异值分解(SVD)的基本结果,?? =???Σ?????,其中?? ∈???×??,Σ ∈???×??,?? ∈???×??。现在让???? ∈???×??表示由最大奇异值对应的顶部m个左奇异向量组成的矩阵。Leverage Score可以计算为:????=∥(????)??,:∥22(13),其中(????)??,:是????的第i行。我们回顾[35,36],???? ≥0且∑????=1???? =??,而高Leverage Scores表示有影响力或极端的样本,这些样本在形成coreset时很重要。我们定义了一个样本的概率分布:????=????∑????=1????=??????(14)给定一个目标缩减大小?? ???,我们根据以下公式进行无放回采样k行:????~Multinomial?(??,{????}????=1)?????={????∣??∈????}(15)从直观的角度来看,我们应用基于PCA的Leverage Score采样来选择信息量大的样本。Leverage Scores是从顶部主成分计算得出的,并用于定义数据点的采样分布。4.3 基于copula的蒸馏我们回顾一下,copula是一个多变量累积分布函数,其每个变量的边际概率分布在区间[0,1]上是均匀的。copula在实际应用中的发展基于Sklar定理[37],该定理指出每个多变量累积分布函数都可以用其边际和copula ???( ·)来表示。为了构建一个实际的基于copula的蒸馏方法,我们考虑每个实例????是d个随机变量(??(1),??(2),…,??(??))的向量。根据Sklar定理,联合累积分布函数(CDF)可以分解为:???(??(1),…,??(??))=???(??1?(??(1)),…,?????(??)))(16),其中????是第j维的边际CDF,???( ·)是描述依赖结构的Copula函数。虽然可以使用不同的模型,但之前的蒸馏和合成研究[38,39]使用了高斯Copula模型。它假设特征之间的依赖关系遵循多变量正态结构:??Σ?(??1,…????)=ΦΣ?(Φ?1?(??1)…Φ?1?(????))(17),其中Φ?1是标准正态分布的逆CDF(分位数函数),Σ是均值为0且相关矩阵为Σ的多变量正态分布的联合CDF。蒸馏(合成)过程[40]如下进行:边际估计:对于每个维度j,从原始数据??估计经验CDF ????? ≈????。相关推断:将原始数据转换为潜在的高斯空间并计算相关矩阵Σ:????,??=Φ?1?(??????(????,??))?Σ=?????????(??)(18)采样(蒸馏):在潜在空间生成k个合成样本:????~???(0,Σ),??=1…,??(19)逆变换:将样本映射回原始数据空间:????,??=????1???(Φ?(????,??))(20)虽然K-means将数据蒸馏成“平均”点,但coreset将数据蒸馏成边界点,而高斯Copula则蒸馏数据的“规则”(分布和相关性)。通过从这个学习模型中采样k次,可以得到一个模仿原始密度和特征关系的蒸馏集S。本研究中使用的解决方案基于SDV库[40]。4.4 高斯混合模型通过分布匹配进行数据蒸馏的目的是创建一个合成集??,使其统计分布尽可能接近原始数据集??的分布。通过使用高斯混合模型(GMMs),我们可以将??表示为m个概率密度的组合,并使用这些密度的参数来派生我们的k个蒸馏实例。在这个框架中,我们假设??是由概率密度函数???(??)生成的。我们使用具有m个组分的GMM来建模这个密度:???(??|??)=??∑??=1????????(??|????,Σ??)(21),其中?? ={????,????,Σ??}是混合模型的参数,????是第j个组分的混合系数(∑????=1???? =1),???(??|????,Σ??)是均值为????、相关矩阵为Σ??的多变量高斯分布。分布是使用期望最大化算法迭代找到的。首先,需要找到参数?? ={????,????,Σ??}, ?? =1…??,以最大化原始数据??的似然:log????(??|??)=??∑??=1log?(??∑??=1????????(??|????,Σ??)(22)一旦找到模式,就采样k次以获取蒸馏集??:????~???(??|????,Σ??),??=1,…,??(23)4.5 条件表格GAN更现代和复杂的模型使用了深度架构来合成应与给定集合匹配的数据。在这项工作中,我们关注Xu等人[16]提出的条件表格GAN(CTGAN)解决方案。该解决方案是一种专门为生成高质量合成表格数据而设计的生成对抗网络。更详细地说,CTGAN旨在适应表格数据的建模,这些数据通常包含混合类型的列、非高斯分布和不平衡的分类值。现成的深度学习模型往往不足,因为表格数据不共享图像或文本中发现的局部结构。为了应对这些挑战,CTGAN实现了三个主要变化:1. 连续列的特定模式标准化。它从表格数据中的连续列通常是非高斯和多模态的这一观察出发,这意味着它们的分布具有多个“峰值”或模式,CTGAN通过特定模式标准化来解决这个问题。它使用变分高斯混合(VGM)模型来估计模式的数量,并为每个连续列拟合高斯混合模型。每个值被转换为一个表示,包括一个one-hot向量(指示该值属于哪个模式)和一个标量(表示该值在该特定模式中的标准化位置)。这允许模型专注于独立学习每种模式内的分布。2. 条件生成器和基于采样的训练。这一方法基于一个观察结果:分类列通常高度不平衡,其中一个类别可能出现在超过90%的行中。在标准的GAN训练中,生成器可能永远无法学会产生稀有的“少数”类别,因为这些类别出现的频率不足以影响判别器。CTGAN通过使用条件生成器和“基于采样的训练”方法来解决这个问题:生成器被赋予一个条件向量,指定它必须产生的离散列中的特定类别;然后,在训练过程中,CTGAN根据类别的对数频率而不是原始频率来采样。这迫使模型“均匀地探索”并学习那些否则会被忽略的少数类别。接下来,向生成器添加了一个交叉熵损失,以惩罚生成的行不符合请求条件的情况。3. 适用于混合类型的专用网络架构。由于表格数据缺乏局部结构,CTGAN在生成器和判别器中都使用了全连接网络。为了处理输出的混合类型特性,模型在最后一层使用了不同的激活函数,例如Tanh(用于连续列的标量值)和Gumbel softmax(用于离散列值和连续列的模式指示器),从而使模型能够区分连续和分类输出,同时保持端到端的可微分性。此外,CTGAN还结合了PacGAN框架[41](每个“pac”使用10个样本)来进一步防止模式崩溃,这是一个常见的问题,即生成器产生的数据种类有限。4.6. 表格变分自编码器。本评估中使用的解决方案是引入CTGAN[16]的同一项工作中的第二个提案。TVAE解决方案考虑了一个表格T(在这里代表输入数据空间??),其中包含????个连续列??1,…,??????和????个离散列??1,…,??????,每个都被视为一个随机变量。它们共同遵循一个未知的联合分布???(??1:????,??1:????)。该实现适应了表格数据的变分自编码器(VAEs),将其称为表格VAE(TVAE),使用类似的预处理方法,但修改了损失函数。TVAE使用两个网络?????(????|????)和?????(????|????),并通过ELBO损失进行训练。?????(????|????)的设计旨在准确建模概率:它输出2????? +????个变量????的联合分布。编码器?????(????|????)使用两个带有ReLU的全连接层和高斯生成,然后是两个带有softmax的全连接层。解码器?????(????|????)也使用两个ReLU全连接层,接着是一个全连接层和指数运算。如果生成的行不符合请求的条件,就会对生成器施加惩罚。5. 在我们的案例中,我们使用了作者提供的CTGAN和TVAE的实现,并将其包含在SDV库[40]中。5. 数据库。本文使用了一组表格数据库。这些数据库的收集目标是拥有超过2000个实例,但少于100,000个实例。此外,还添加了一些流行的数据库,如关于“糖尿病”和“心脏”问题的数据库。这些数据库定义了分类和回归问题。除非提供了训练和测试数据,否则数据被划分为80%的训练集和20%的测试集。这种划分是一次性的,并在整个实验过程中保持不变。蒸馏方法仅分析和减少训练数据。如果标签是多维的,只保留第一个值。数据库来自三个主要来源:UC Irvine机器学习仓库(在线地址:https://archive.ics.uci.edu/,访问日期:2025年12月31日)、Kaggle(在线地址:https://www.kaggle.com/,访问日期:2025年12月31日)和OpenML(在线地址:https://www.openml.org/,访问日期:2025年12月31日)。这些数据库已公开用于学术研究,通常也可以在其他地方找到。表1提供了分类数据库的摘要和介绍性论文,表2提供了回归数据库的摘要和详细信息。6. 实验。总体而言,这项工作包含了大量的结果。因此,采取了以下策略:我们在补充材料中展示了大部分原始结果,而在主论文中只报告了结论性的、综合性的结果。然而,在每种情况下,我们都引用了用于生成报告发现的补充材料中的具体结果。6.1. 实现。代码是用Python实现的,并与输入数据一起公开提供在:https://github.com/corneliuflorea/Tabular-Data-Distillation(访问日期:2025年12月31日)。超参数是分别为基线和每个蒸馏集独立优化的。网格搜索也是分别为每个学习器独立进行的。为了减少实验时间,我们依赖于CPU并行性。由于基于LibSVM的SVM不支持并行处理,而XGBoost支持,我们得出结论,在并行线程中运行不同的实验更有效。最简单的方法是在两个不同的数据集上同时运行实验,每个数据集在一个单独的线程上。另一个应用并行性的情况是在学习器网格搜索期间:不同超参数值的训练和测试是独立的,因此可以并行执行。没有使用GPU加速。CTGAN和TVAE方法在计算上更为密集,由于基于神经网络架构,原则上可以从GPU计算中受益。然而,SDV的创建者在经过广泛测试后得出结论,GPU使用并没有带来显著的好处,并建议不要使用它。6.2. 几何保持。蒸馏将原始点集转换为新的点集。为了确定几何变化如何发生,我们计算了Wasserstein距离(WD)[67]。WD表示将一个分布传输到另一个分布所需的最小“成本”。数学上,对于假设为高斯的两个分布???(??1,Σ1)和???(??2,Σ2),距离????可以近似表示为:????=∥??1???2∥22+Tr?(Σ1+Σ2?2?(Σ1/21?Σ2?Σ1/21)1/2)(24)。直观地说,可以将数据集视为一团“质量”;Wasserstein距离衡量了将原始分布转换为新分布所需的几何工作。与标准统计测试不同,它考虑了空间的底层度量结构。首先对数据进行标准化,使每个特征的均值为零且方差为单位值。通常,WD没有标准化,解释数值结果需要一个基准。在我们的案例中,基准是通过测量原始数据集与随机抽取50%的数据子集之间的距离来计算的。最终基准值是通过平均五次这样的试验获得的。值的解释如下:如果?????????????????????? ≈????????????????????????????,那么蒸馏集捕捉到了与随机抽取的原始数据子集大致相同的几何结构。如果?????????????????????? ?????????????????????????????,那么蒸馏过程可能遭受了模式崩溃或异常值偏差。这意味着蒸馏点迁移到了特征空间的不同区域,或者蒸馏未能捕捉到原始数据的分布(方差)。如果?????????????????????? 0 →右尾;(iii)Skew <0 →左尾;|Skew| >2 →强尾。2. 峰度衡量相对于高斯的尾部重量。它定义为:Kurt??=1???∑????=1(????????????????)4。Kurt???????????????????=Kurt???3。MeanExcessKurt?(??)=1???∑????=1max?(0,Kurt???????????????????)(30)。关于解释,如果值在0附近,则表示类似高斯分布;如果值大于3,则表示非常重尾。3. 分位数尾部比率是一个非参数指标。为了控制范围,我们考虑了对数版本。首先计算特征级别的经验分位数:??(??)??=inf?{??:1?????∑??=1???(???????≤??)≥??},这意味着“使进一步条件成立的最小t值”。这用于确定??(??)0.01、??(??)0.50、??(??)0.99。这些用于确定特征级别的尾部比率以及数据集级别的平均尾部比率:TR??=??(??)0.99???(??)0.50??(??)0.50???(??)0.01+??;MeanTailRatio?(??)=1?????∑??=1log?(1+TR??)(31)。对于这个指标(原始的非对数形式),值的范围是(0, +∞)。当数据库有极端异常值时,分子会爆炸并变得非常大(值大于1010)。因此,在对数形式中,大于5的值表示重尾。4. 多变量尾部特征(联合罕见性)通过Mahalanobis尾部得分来计算,它计算有多少样本位于极端多变量尾部。为了计算,首先找到均值和协方差矩阵:??=1?????∑??=1????;Σ=1???1???∑??=1(???????)?(???????)?。接下来,确定每个样本的Mahalanobis距离:????=√(???????)??Σ?1?(???????),然后用于找到经验尾部阈值,进一步累积整个数据集的????=Quantile???({????}????=1)?TailFrac???(??)=1?????∑??=1???(????>????)(32)。对于这个指标,如果数据真正是高斯的且协方差已知,期望值是0.01。因此,大于0.05的值表示重多变量尾部,而大于0.1的值表示强烈的罕见事件结构。由于我们将它们表示为百分比(即100 ·???????????????????????),相关阈值变为1和5。对于本研究中使用的数据库,这些指标在表3和表4中提供。主要观察结果是,我们的研究包括了那些既没有被任何测量方法识别为具有强尾部的数据集(例如作物推荐和糖尿病数据集),也包括那些根据某一指标具有强尾部的数据集(例如Connect-4数据集),其中峰度值超过了150,这意味着方差主要由极少数极端观测值主导,这表明大多数样本紧密聚集,但有一小部分样本的数值大几个数量级。表3显示了分类数据集的尾部特征度量。请注意,MultivTailFrac以百分比表示。表4显示了回归数据集的尾部特征度量。同样,MultivTailFrac以百分比表示。总体而言,没有数据库根据马氏距离(Mahalanobis tail score)被归类为“重尾”数据集,但根据其他指标存在明显差异。根据分位数尾部比率(quantile tail ratio),大多数分类数据集具有重尾部,而大多数用于回归的数据集则没有。

6.4.2 学习者超参数的影响
在机器学习中,数据集的稳健性通常不是通过其达到的最高准确率来体现的,而是通过超参数调整过程中准确率的波动程度来体现的。在使用随机森林(Random Forest, RF)和径向基函数支持向量机(Radial Basis Function SVM, RBF SVM)对表格数据集进行网格搜索时,最大准确率和最小准确率之间的“差异”可以作为数据集一致性的诊断工具。简而言之:高波动性表明数据集“不稳定”,而低波动性表明数据集“稳健”。高波动性——即RBF Gamma或RF特征采样的微小变化会导致准确率的大幅波动——通常表明数据集一致性低或噪声程度高。在RBF SVM中,??控制单个训练样本的“影响范围”;如果当??增加时性能急剧下降,这表明决策边界被迫围绕异常值“摆动”,而不是捕捉全局模式。同样,如果随机森林的准确率在减少“In-bag”百分比或特征数量时崩溃,那么数据集可能包含冗余或弱特征,这些特征只有在特定、幸运的子集被采样时才会提供有用的信息。在这种情况下,模型并没有真正学习数据;它只是在“记忆”特征空间中的特定巧合。

相反,最小准确率和最大准确率之间的小波动性表明数据集高度一致。当RBF SVM在广泛的Cost(C)和Gamma(??)值范围内保持稳定性能时,这意味着类别被一个“厚”的边界很好地分隔开,不容易受到小范围边界变化的影响。对于随机森林来说,对特征数量或采样率的低敏感性表明特征之间存在协同作用——潜在的模式非常普遍,以至于几乎任何随机的特征子集或数据点都足以重构目标变量的逻辑。这种“平坦”的优化景观是数据集能够很好地泛化到未见生产数据的标志。XGBoost在数据空间中进行优化,改变空间的拓扑结构会对性能产生显著影响。因此,网格搜索的次要目标之一,除了最大化性能外,还包括分析“稳定性窗口”。一致的数据集会在超参数网格中产生一个宽广的高性能“平台”,而不一致的数据集则会产生“尖锐的峰值”。

此外,通过观察原始数据集和蒸馏数据集之间达到最大性能的位置,我们可以直观地了解蒸馏过程在多大程度上保留了原始数据的结构。为了将这些直观的概念结合到一个指标中,我们计算了学习者性能相对于超参数变化的标准差。由于超参数变化的次数相同,这个指标在相同的学习者之间是一致的。标准差值越大,数据集越不稳定。分类数据集的相关值显示在表5中。这种度量是尾部特征描述的另一种方式。由于任何尾部特征度量与标准差之间的相关性低于0.35,因此这种度量提供了不同的视角。

6.4.3 可视化
为了获得更好的洞察力,我们以原始形式和蒸馏过程后的形式对数据进行了可视化。由于表格数据集包含许多特征,直接检查无法解释它们的全局结构。为了实际可视化,必须将数据映射到二维嵌入空间中。目标是在保持关键关系(如聚类或梯度)的同时压缩多维结构,以便在标准坐标系上显示它们。我们使用了三种方法:
- 主成分分析(Principal Component Analysis, PCA)是一种线性技术,它将数据投影到方差最大的方向上。它在数学上是透明的,并且保留了全局结构,这意味着图中的点在原始空间中也相距较远。然而,由于其线性特性,它往往无法捕捉非线性关系,局部结构(如小聚类)可能会被模糊或丢失。应用时,投影矩阵是在原始数据集上计算的,并且会重新用于蒸馏后的数据集。
- t-分布随机邻居嵌入(t-SNE)[69]是一种非线性方法,它强调局部结构,并且在揭示线性技术可能遗漏的明显聚类方面表现出色。其主要缺点是它会扭曲全局结构:图中的聚类之间的距离不一定反映它们之间的真实关系。结果也是随机的,并且对困惑度超参数(perplexity hyperparameter)敏感。它针对每个数据集分别运行。
- 均匀流形近似和投影(Uniform Manifold Approximation and Projection, UMAP)[70]是一种较新的非线性方法,旨在平衡局部和全局结构。它比t-SNE快得多,并且通常更忠实地保留了聚类之间的距离。然而,如果不仔细调整,它可能会引入人为结构,如拉长的“字符串”或虚假聚类。它也针对每个数据集分别运行。

6.5 基线和其他工作的比较
分类基准测试的最佳性能显示在表6中,回归测试的最佳性能显示在表7中。在这两种情况下,完整的结果都在补充材料中;可以注意到,在三种学习者中,XGBoost和随机森林的性能相似,而SVM的性能在大多数情况下略差。这些发现与之前的实验[68,71]一致。

6.6 蒸馏——几何结构保留
使用Wasserstein距离的完整结果在补充材料的表S62–S65中提供了分类数据集的结果,在表S66–S69中提供了回归数据集的结果。这些结果在表8中汇总了分类数据集,在表9中汇总了回归数据集的结果。检查结果——特别是补充材料中的详细结果——揭示了以下观察:
- 表8显示了分类数据集上通过Wasserstein距离测量的几何结构保留情况。蒸馏集的性能应与基线进行比较。最佳值(最小的)用粗体字母标记。
- 表9显示了回归数据集上通过Wasserstein距离测量的几何结构保留情况。最佳值(最小的)用粗体字母标记。汇总的结果捕捉了总体趋势,但隐藏了许多信息细节。总体而言,K-means和GaussCop似乎是最佳保留数据集几何结构的方法。
- 某些数据集,如Mushroom或Diabetes,几乎导致所有方法都出现模式崩溃。Diabetes数据集相对较小,这表明强烈的数据缩减会损害几何结构保留的准确性。然而Mushroom数据集则不会,这表明特定的几何结构对所有蒸馏方法来说都是具有挑战性的。
- 总体而言,在比较基于coreset的方法和基于神经网络的方法时,模式崩溃的案例数量相似。
- 总的来说,没有方法之间的显著差异,使我们能够得出某种方法在保留数据集几何结构方面明显更优越的结论。

6.7 蒸馏——下游预测
每种蒸馏方法都被要求将训练集减少到原始训练集的某个百分比。使用的百分比分别为:50%、25%、10%和5%。在所有情况下,测试集保持不变。对于每种情况,都进行了超参数网格搜索。

6.7.1 分类
分类的完整原始结果在补充材料的表S6–S29中。这里我们展示了汇总结果。
为了汇总分类结果,我们使用了以下度量:
- 差异总和(Sum of Differences, SD):计算公式为:?????=1???????????????∑??=1(???????(??)??)(33),其中???????是数据库的数量(分类数据集为17个,回归数据集为9个),????是数据库i上的基线度量,??(??)??是蒸馏数据集上的等效度量。这个度量累积了所有数据库相对于基线的度量损失。较小的值表示改进。
- 标准化差异总和(Sum of Normalized Differences, SND):计算公式为:????????=1???????????????∑??=1(???????(??)??)????(34)。与之前的度量相比,这里的每个累积因子都标准化到基线度量值。这对于回归中的MSE更为相关,因为不同数据库的度量范围不同。
- 对于分类,汇总的SD和SND值关于准确率在图2和图3中以图形方式显示,并在表10和表11中以数值方式呈现。为了更好地展示蒸馏过程中的趋势,我们在图4中绘制了SND变化与百分比的关系。图2显示了基线准确率和蒸馏准确率之间的差异总和(SD)与蒸馏方法的关系。较小的值表示改进。每个条形图的顶部标有标准差。
- 表10显示了基线准确率和蒸馏准确率之间的差异总和(SD)与蒸馏方法的关系,以及蒸馏数据库相对于原始数据库的基数百分比的关系。较小的值表示改进。
- 表11显示了基线准确率和蒸馏准确率之间的标准化差异总和(SND)与蒸馏方法的关系,以及蒸馏数据库相对于原始数据库的基数百分比的关系。较小的值表示改进。
- 图4显示了每种蒸馏方法的SND变化(相对于准确率)与百分比(压缩比)的关系。平均准确率的结果在表12和表13中。表12和表13分别显示了基线准确率和蒸馏平均准确率之间的差异总和(SD)与蒸馏方法的关系,以及蒸馏数据库相对于原始数据库的基数百分比的关系。较小的值表示改进。

在分析结果时,有几个结论值得注意:
- 所有蒸馏方法都会导致性能下降。当数据集减少一半时,最小损失约为4%;当蒸馏数据集仅为原始数据集的5%时,损失增加到大约12.5%。在某些特定情况下(即特定的数据集),蒸馏后性能会有所提升,但这些情况很少见,可能是偶然的。无论数据集、使用的学习器还是评估指标如何变化,蒸馏方法的行为都是一致的。这种一致性既体现在性能损失的幅度上,也体现在与分类器的相对排名上;这些方面可以在补充材料中提供的原始结果中更详细地研究。表现最好的方法显然是基于coreset的方法。虽然基于Gonzalez算法的方法在数据量减少到50%时表现更好,但总体最佳的是基于Leverage Score的coreset方法,即使在更大幅度的数据量减少下也能保持大部分性能。当考虑平均准确率时,G-coreset成为更明显的赢家。相比之下,K-means的表现最差。这很容易解释,因为K-means方法旨在捕捉簇均值而不是决策边界,而决策边界对于分类至关重要。基于这一发现,我们不再进一步评估K-means算法。基于高斯的生成方法(高斯copula合成器和高斯混合模型)与coreset方法相比通常表现较差。在两种现代基于神经网络的方法中,TAEV的表现出人意料地更好。这在某种程度上是出乎意料的,因为在原始工作[16]中,主要提出的方法是CTGAN。在比较基于准确率和平均准确率的结果时,总体趋势是一致的。主要区别在于平均准确率的数值较低,以及由于蒸馏导致的性能损失较大。人们可能希望使用类标签的监督蒸馏能够在平均准确率上得到更平衡的结果。在适度蒸馏的情况下,所有方法都能得到不错的结果。无论问题如何,coreset方法都能产生良好的结果。在激进蒸馏(减少到5%)的情况下,即使在特定的数据库上,即使是最好的方法也会失败(即性能随机变化或学习器无法收敛)。这表明激进蒸馏比率的成功与否取决于具体问题。虽然一些蒸馏方法会更快地失去性能(例如G-Coreset),但其他方法如CTGAN则能保持几乎恒定的性能。然而,这一观察结果的相关性有限,因为预测的交叉点出现在零以下,这是不可行的。为了进一步研究这些方法的行为,我们使用了可视化工具。虽然补充材料中的图S1-S4提供了更多图表,但这里我们展示了一些更具信息量的图表。在图5中,我们展示了原始数据集以及使用G-Coreset、CTGAN和TAEV蒸馏后的版本。我们注意到PCA确保了几何可比性,但可能会忽略非线性复杂结构。请注意,在图中coreset方法,特别是CoreLeverageScore,保留了原始数据集的空间,而CTGAN和TAEV则大幅压缩了空间。图5. TelcoChurn数据集蒸馏50%后的PCA可视化。为了提供补充视图,我们在图6中展示了Crop Recommendation方法的UMAP可视化。我们注意到UMAP旨在检查非线性流形的保持情况。可以观察到,尽管数据量大幅减少,原始数据集中的结构仍被coreset方法清晰地保留了下来,而神经方法则导致分离效果不那么明显。图6. Crop Recommendation数据集蒸馏5%后的UMAP可视化。这里我们尝试回答一个问题:我们能否使用尾部度量来预测蒸馏方法的行为?为了回答这个问题,我们计算了所考虑的尾部度量与基线准确率和蒸馏后准确率之间的相关系数,并且变化了不同的数据库。接近1的绝对值表明某个尾部度量是蒸馏方法行为的非常好的指标,而接近0的值则表示没有指示作用。结果显示在表14中。如人们所注意到的,唯一相关的联系是MeanTailRatio99-01,其绝对值接近0.5表示中等相关性。负值表示反相关:MeanTailRatio的值较大,而蒸馏指标的准确率下降幅度较小。因此,尾部较大的数据库更适合用蒸馏方法进行总结。另一个值得注意的差异是两种coreset方法之间的差异;我们的发现是负面的——表现最好的方法Coreset Leverage Score被尾部度量预测得不好。表14. 在所有数据库和所有蒸馏百分比上,准确率损失与四个尾部度量之间的相关性。接近1的绝对值更好。我们进一步研究了MeanTailRatio99-01是否与特定的蒸馏情况(即减少50%、25%、10%或5%)有更好的相关性。结果见表15。除了G-Coreset方法外,结果相当一致,其相关性显著增加。表15. 在所有数据库上,准确率损失与MeanTailRat99-01尾部度量之间的相关性(按蒸馏百分比聚合)。接近1的绝对值更好。6.7.2. 回归回归问题的完整原始结果在补充材料的表S30-S53中。这里我们展示了汇总结果。在汇总回归结果时,我们使用了与分类情况相同的度量,即差异之和(SD)和标准化差异之和(SND)。与分类相比,这次度量是汇总均方误差(MSE)和皮尔逊相关系数(Pearson Correlation Coefficient)。另一个变化是,由于分类结果不佳,我们停止了将K-means作为蒸馏方法的评估。对于回归,汇总的SD和SND值分别对应于表16和表17中的MSE,而皮尔逊相关性对应于表18和表19。后者的图形表示见图7和图8。每种蒸馏方法的趋势在图9中提供。表16. 基线与蒸馏后MSE之间的差异之和(SD)(按蒸馏方法和蒸馏数据库的基数百分比缩放)。较小的值更好。表17. 基线与蒸馏后MSE之间的标准化差异之和(SND),按蒸馏方法和蒸馏数据库的基数百分比。较小的值更好。表18. 基线与蒸馏后皮尔逊相关系数之间的差异之和(SD),按蒸馏方法和蒸馏数据库的基数百分比。较小的值更好。表19. 基线与蒸馏后皮尔逊相关系数之间的标准化差异之和(SND),按蒸馏方法和蒸馏数据库的基数百分比。较小的值更好。图7. 基线与蒸馏后准确率之间的差异之和(SD)。较小的值更好。图8. 基线与蒸馏后准确率之间的标准化差异之和(SND)。较小的值更好。图9. 每种蒸馏方法的SND(相对于相关性)变化,按压缩百分比。基本度量是相关性,较高的值更好。分析结果,可以得出与分类实验类似的结论。然而,也有一些特别的注意事项:总体而言,蒸馏方法在回归任务中也会失去性能。就相关性而言,从考虑一半数据库时的0.032到仅考虑原始数据集大小5%时的大约0.132不等。G-Coreset的损失比CTGAN更突然,但这并没有弥补可能的(即由正数表示的)减少。同样,表现最好的方法是coreset方法,特别是在大数据集上,基于Leverage Score的coreset表现最佳。另一方面,排除K-means后,表现最差的是基于高斯的生成方法。再次,TAEV比CTGAN表现更好。然而,它仍然不是coreset方法的强劲竞争者。在回归设置中一个特别有趣的方面是,使用MSE与相关性进行性能测量时的发现差异,以及非标准化和标准化度量之间的差异。就原始MSE而言,蒸馏显著增加了性能损失。然而,标准化后,损失看起来相对较小。这表明蒸馏方法在预测中引入了显著的偏差;然而,它们仍然很好地捕捉了总体趋势,如基于相关性的度量所示。6.8. 蒸馏方法是否改变了数据集的性质?为了评估这一方面,我们在数据集上进行超参数搜索时观察了性能变化,以标准差作为度量。原始结果在补充材料的表S54-S57中。XGBoost(最佳学习器)分类的汇总结果见表20。表20. 在进行超参数搜索时使用XGBoost获得的平均总体标准差。基线(无蒸馏)值为0.0176。更好的值更小。可以看出,除了K-means外,所有其他蒸馏方法都显著增加了准确率的范围,表明较小的数据集变得越来越不一致。虽然这是预期的,但也意味着导致最佳值的相同超参数集在学习蒸馏集时不再自动适用。另一个更有趣的观察是,虽然偏差大于基线,但在减少训练集时几乎保持不变甚至减少。这意味着蒸馏方法改变了点的结构(Wasserstein距离无法捕捉到这一点),但这种改变是一致的:蒸馏的性质比减少的百分比更重要。7. 耗时蒸馏的一个关键方面是训练时间的减少。在这个实验中,我们使用了一个单CPU(Intel(R) Core(TM) i5-13400F—10核,16线程,4.60 GHz)运行Python 3.10.12。完整和详细的结果在补充材料的表S58-S61中。所有分类数据集的平均数据见表21。表21. 所有分类数据集的平均持续时间[s],按百分比。最佳值用粗体标出。我们注意到,虽然理论上CTGAN和TAEV可以使用GPU,但它们的创建者反对这样做,因此在本次评估中未使用它们。这里的所有处理都是仅使用CPU,单线程(无并行化)。这里呈现的结果应被视为相对指示而非绝对评估。并行化和进一步优化可以减少报告的运行时间。从数据中可以看出,迄今为止最高效的方法是Coreset Leverage Score方法。K-means在运行时间上更快,但其较差的性能抵消了这一优势。基于神经网络的方法需要显著更长的执行时间。G-Coreset方法通常需要较短的运行时间。平均时间因Credit Card Fraud数据集而较高,在计算50%的蒸馏集时需要惊人的3061秒,这质疑了该方法在大数据集上的可用性。如果忽略这个数据库上的结果,那么G-Coreset将排在Coreset Leverage Score之后。总体而言,大多数方法的运行时间相对恒定,无论蒸馏百分比如何。这是因为它们首先构建原始数据集的表示,这是计算最密集的步骤,然后进行采样,这仅占总运行时间的一小部分。一个显著的例外是G-Coreset,它独立计算蒸馏集中的每个点,因此随蒸馏数据集的大小线性扩展;相比之下,Coreset Leverage Score使用PCA将维度固定,因此几乎不受数据库维度的影响。关于具体结果,所有蒸馏方法在Credit Card Fraud数据集上的运行时间显著更高,因为这个数据集在实例数量和特征维度上都较大。因此,对于所有方法来说,这个数据集上的运行时间被视为一个高端异常值。8. 讨论和局限性 8.1.与先前研究结果的关系

在数据集压缩领域,主要出现了两种范式:合成数据生成和实例选择(核心集)。核心集选择早于现代数据集蒸馏技术,并且长期以来一直被研究作为一种用代表性子集近似大型数据集的原理性方法。实际上,数据集蒸馏技术本身经常被描述为早期核心集方法的继承者[74]。相比之下,最近的表格合成文献大多关注生成方法(例如基于GAN或扩散的模型)[3,75],这些方法通常在少量数据集上进行评估,而且往往不包含传统的实例选择基线[16,17]。同时,关于数据集压缩的综述仍然将核心集选择视为在保持预测性能的同时减少训练数据的基本技术。

我们的工作正是旨在弥合这两条研究路线之间的差距。通过在一组广泛的分类和回归任务中评估生成方法和实例选择方法,我们提供了一个迄今为止大部分研究中缺失的广泛实证比较。我们的结果表明,对于表格数据和所考虑的下游预测任务,传统的核心集方法仍然具有很高的竞争力,并且优于合成生成器。

一个可能的解释是,表格数据集通常涉及异构特征类型和不可微的学习器(如树集成[20]),这使得合成数据集的优化变得复杂,并可能更倾向于直接保留原始数据几何结构的方法。

8.2 理论支持

简而言之,本文的研究结果表明,如果排名标准是监督学习下的下游预测准确性,那么基于实例的核心集选择更适合用于数据蒸馏。首先,我们注意到实例选择近似了原始的经验分布:?????=1???∑??∈????????≈1???∑??∈???????????(35),而生成器近似真实分布???(??)。这种近似假设了一些底层模型,即实际样本????是从真实数据??中抽取的。生成器的目标是反转这个模型,这是一个假设。由于测试基于真实数据,有人可能会认为实例选择更为合适。对于下游的监督评估,也可以构建类似的理由。在监督学习中,核心集方法直接近似了经验总和(在损失函数中):1???∑??∈????(???(????),????)≈1???∑??∈???????(???(????),????)(36),其中?? ???。生成器近似损失函数????~?????????????(???(??),??)的期望值。然而,如果?????????? ≠?????????????????????????????,风险格局就会发生变化。在有限样本的监督环境中,经验风险近似可能是更优的,这与本文的发现相符。

8.3 实验的局限性

在本文中,我们研究了七种蒸馏方法。所有方法都是无监督的,意味着它们在压缩数据集时不使用标签。如果蒸馏明确考虑了标签,结论可能会有所不同。换句话说,在分布匹配过程中,我们只匹配???(??),然后从数据中获得???(??)。因此,对???(??,??)进行联合优化可能会导致不同的结论。独立于学习器来研究蒸馏方法的自我限制导致了基于梯度匹配[13]或轨迹匹配[76]等流行方法的排除。这些方法非常强大,但本质上将蒸馏过程与通过反向传播训练的学习器联系在一起。我们的结论主要适用于中等到大型维度的表格数据集以及经典的机器学习学习器(随机森林、支持向量机、XGBoost)。尽管在所有测试的实验和压缩水平上,核心集方法的一致性优越性都得到了保持,但我们并没有隐含地将这一结论扩展到神经表格模型。对于非常高维度的数据或端到端的深度学习管道,性能趋势可能会有所不同。我们研究了分类和回归任务,但没有研究聚类(明确地)、检索或表示学习。虽然我们对每个学习器进行了超参数搜索,但搜索范围有限,且学习器主要是以现成的方式使用的。尽管如此,我们展示了我们的基线性能与先前的研究相当。更仔细和密集的调整可能会导致略有不同的结果。主文中介绍的所有方法即使对于更大的数据集也是可行的。大多数方法都与实例数量N成线性比例扩展。在补充材料中,我们还讨论了另一种方法,即核心集设施位置次模优化,尽管它的性能很强,但内存需求是二次方的。这使得它不适用于大规模数据集,并与数据蒸馏的核心动机相冲突。

蒸馏方法的相对排名(对于特定的数据集和压缩比率)受到学习器选择的影响,这表明没有一种方法是普遍最优的。尽管如此,在研究的大多数情况下,基于核心集的方法表现最好。另一个限制是评估指标。对于分类任务,我们使用了准确率和平均(平衡)准确率;对于回归任务,我们使用了均方误差和皮尔逊相关系数。我们没有考虑特定于任务的指标,如F1分数、曲线下面积或基于排名的指标。同样,我们的评估主要关注下游预测性能。我们还通过可视化和与尾部度量指标的相关性来研究了一些理想的属性。我们的发现仅限于所使用的技术,即PCA、t-SNE和UMAP进行可视化,以及考虑的四种尾部度量。其他方法或指标可能会导致略有不同的结论。

8.4 稳定性

报告的结果是基于许多数据集的平均值,因此是稳定的。核心实验(每种情况下的最佳学习器)重复了五次,汇总结果几乎没有变化。当考虑特定的学习器(由模型和精确的超参数值定义)在连续的蒸馏方法运行中应用时,会出现变异性。然而,通常可以通过轻微调整(即超参数调整)来恢复类似的性能。对于非常激进的蒸馏比率,变异性会稍大一些,但即使在这种情况下,超参数搜索通常也能进行补偿。总体而言,汇总结果非常稳定。

8.5 效率权衡

蒸馏不可避免地会在准确性和效率之间进行权衡。当在多个数据集上平均时,所有蒸馏方法都会导致一定的性能损失。一般来说,适度减少训练数据集(例如,减少到50%)造成的性能损失有限(大约3-5%的准确率损失或约0.03的相关性损失)。这部分可以归因于原始数据集的相对较大规模,这使得适度蒸馏的危害较小。相比之下,激进的蒸馏在越来越多的情况下会导致性能急剧下降,这表明数据集大小有一个实际的下限,以确保可靠的学习。这个界限高度依赖于数据集。例如,在将数据集减少到5%时,基于杠杆分数的核心集的XGBoost准确率损失从最小(例如,3%的准确率损失)到几乎完全无法学习(例如,在作物推荐或红葡萄酒数据集上)不等。总体而言,无论使用哪种方法,将数据集大小减半都是可靠的,而更强的蒸馏比率则取决于方法和数据集。在评估的方法中,G-Coreset被证明是最稳定的。

9. 结论

在本文中,我们评估了七种无监督蒸馏方法,涵盖了17个分类任务和9个回归任务。蒸馏效果是根据使用现成学习器(如随机森林、支持向量机和XGBoost)的下游预测性能来评估的。这项工作并没有提出新的蒸馏算法;相反,它提供了一个统一的实验框架内现有方法的系统实证评估。研究是以结构化和规范的方式进行的:数据集的减少是在固定且有意义的百分比下进行的,虽然学习器进行了适度调整,但调整过程在所有实验中都是一致的。我们发现,从多个角度来看,基于核心集的方法是最可靠的,包括预测性能和计算效率。令人惊讶的是,较新的基于神经网络的方法在这种设置中表现较差。在核心集方法中,基于杠杆分数的核心集被证明是一个稳健的全面解决方案,而G-Coreset在低蒸馏比率下能够实现更好的性能,尽管偶尔运行时间较长。我们还研究了蒸馏性能与数据集尾部性之间的相关性,发现异常值的比例与所有方法的性能呈中度负相关,其中基于核心集的方法效果更为明显。这表明预先计算异常值比例可能有助于形成对蒸馏成功的预期。最后,我们通过测量学习器预测性能随超参数变化的变化来检查数据集级别的学习一致性。将数据集大小缩小确实会引入一些变化,因为方差大约增加了10倍。最后,我们通过公开我们的代码为社区做出了贡献,使其他人能够复制和扩展我们的实验。

补充材料

以下支持信息可以在https://www.mdpi.com/article/10.3390/make1010000/s1下载,参考文献[8,77]在补充材料文件中被引用。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号