学术实验中的表格基准通常是一小组精心选择的特征。相比之下,工业界数据科学家通常会收集尽可能多的特征到他们的数据集中,甚至从现有的特征中设计新的特征。为了防止在后续的下游建模中过拟合,数据科学家通常使用自动特征选择方法来获得特征子集。Tabular特征选择的现有基准建立在经典的下游模型,合成的toy数据集上。在Tabular深度学习日益普及的激励下,该文构建了一个具有挑战性的全新特征选择基准,在包括Transformer在内的下游网络上进行评估。还提出了一种基于输入梯度的Lasso模型,它在具有挑战性的问题上优于经典的特征选择方法。
来自:A Performance-Driven Benchmark for Feature Selection in Tabular Deep Learning
项目地址:https://github.com/vcherepanova/tabular-feature-selection
目录
- 背景概述
- 相关工作
- 表格深度学习
- 特征选择
- 特征选择的benchmark
- 实验设置
- 噪声对Deep model和GBDT的影响
- 特征选择benchmark
- 基准测试特征选择方法
- 结果
背景概述
表格数据在科学和工业应用中无处不在。从业者通常通过包括详尽的可用特征集或手工设计附加特征来管理表格数据集。在这样的过程下,现实世界的表格数据集可以快速积累大量的特征,其中许多特征对下游模型没有用处。在如此大量的特征上进行训练,包括嘈杂的或无信息的特征,可能会导致过拟合。为了避免过拟合,从业者使用自动特征选择方法过滤和去除特征。
现有文献中包含了大量的工作,提出或评估特征选择方法,这些方法在选择标准中使用经典机器学习算法,或者选择用于训练经典机器学习算法的特征。在过去几年中,表格数据的深度学习已经变得具有竞争力,并越来越多地被从业者采用。虽然很早已经有研究指出神经网络容易对噪声特征过拟合,但现在依然缺乏对下游的Trabular-based神经网络特征选择方法的全面评估。
为了解决这一缺失,该研究在Tabular深度学习设置中对特征选择方法进行基准测试,通过对其进行下游训练的神经网络的性能来评估。除了流行的现有方法外,还使用Tabular Transformer模型的注意力图来选择特征,并且进一步提出了Deep Lasso:一种基于输入梯度的Lasso模型。鉴于之前许多关于特征选择的工作完全使用合成数据集或通过将随机噪声连接到现有特征上创建无关特征,该研究在真实数据集上进行基准测试,并探索了三种不同的方法来构建无关特征:随机噪声特征、损坏特征和二阶特征作为特征工程的典型例子。
在实验中发现虽然许多特征选择方法可以在合理范围内区分信息特征和噪声,但它们可能在更具挑战性的设置下失效。值得注意的是,当从损坏或二阶特征中选择特征时,Deep Lasso选择的特征比以前的方法获得了更好的下游神经网络性能。
相关工作
表格深度学习
表格数据是现实世界机器学习应用中主要的数据格式。直到最近,这些应用都还主要是使用经典的决策树模型来解决的,比如GBDT。然而,现代深度表格神经网络开始弥补与传统GBDT的差距,这反过来又为表格领域的深度学习打开了新的案例。最近的工作包括开发新的架构,例如基于Transformer,可微学习器集成,以及基于MLP架构的修改和正则化。也有其他研究探索了表格深度学习带来的新功能,如自监督预训练,迁移学习,小样本学习和生成式学习。
目前GBDT依然是最受欢迎的表格数据方法
特征选择
应用机器学习的基石是特征选择,数据科学从业者仔细策划和选择有利于预测任务的特征。因此,人们对自动化这个过程非常感兴趣。
现有的特征选择方法可以分为三种主要类型:过滤法、包装法和嵌入法。过滤法根据特征的个体特征和与目标变量的相关性对特征进行排序,而不考虑任何特定的学习算法。过滤法的例子包括单变量统计检验(univariate statistical tests)、方差过滤(variance filters)和互信息分数(mutual information scores)。另一方面,包装法依赖于算法,并且涉及在特征子集上迭代地重新训练机器学习算法,以确定产生最佳性能的子集。其中包括递归特征消除(recursive feature elimination)以及进化算法(evolutionary algorithms)。嵌入法将特征选择任务整合到训练过程中,允许模型在训练时学习哪些特征是最相关的。Lasso是一种经典的嵌入式特征选择算法,该算法也以Adaptive Group Lasso的形式应用于深度神经网络。此外,基于树的算法,如随机森林和梯度提升决策树采用内置的特征重要性度量,实现自动特征选择。
该研究发现包装法通常计算成本太高,无法用于大型深度神经网络模型。因此,在该研究中,重点就自然地放在可以应用于通用表格架构的经典和现代已建立的过滤和嵌入式方法上。
特征选择的benchmark
到目前为止,还不清楚哪种策略,无论是经典的还是现代的,对于表格模型的特征选择是最优的。现有的基准研究主要集中在经典的下游模型,或者根本没有对下游任务性能进行优化。一些研究在合成数据集或特定领域的数据集(如包含少量样本的高维基因组学数据:Benchmark for filter methods for feature selection in high-dimensional classification data,恶意软件检测数据)上评估特征选择方法。
相比之下,这项工作为现代深度表格模型提供了广泛的特征选择方法基准。其在具有不同类型的无关特征的大规模表格数据集上构建了特征选择基准,并研究了一系列具有代表性的特征选择器,包括经典和基于深度学习的特征选择器。该基准基于下游深度表格模型的性能评估特征选择方法。
实验设置
该研究构建了一个具有挑战性的特征选择基准,该基准使用真实数据集,并包括多种方法来控制外部特征的构建。在所有情况下,基于下游神经网络性能评估特征选择方法,即特征选择的实际相关度量。将MLP架构和最近基于Transformer的表格学习FT-Transformer架构作为下游模型进行了实验。基准包括12个数据集和3种附加特征。这些数据集是根据最近的表格基准论文收集和调整的,包括ALOI (AL), California Housing (CA), Covertype (CO), Eye Movements (EY), Gesture (GE), Helena (HE), Higgs 98k (HI), House 16K (HO), Jannis (JA), Otto Group Product Classification (OT), Year (YE) 和Microsoft (MI)。在这些数据集中,有8个分类数据集和4个回归数据集。使用分类任务的accuracy和回归任务的RMSE来衡量下游模型的性能。
对于每个基准测试实验,我们使用贝叶斯超参数优化引擎(Bayesian hyperparameter optimization engine)Optuna对特征选择算法和下游模型的性能进行了广泛的超参数调优。根据验证指标选择最佳超参数,并设置超过10个随机种子计算的测试指标。有关最终超参数的详细信息如下。
训练细节
训练200个epoch的所有深度表模型,并且如果连续20个epoch后验证精度没有提高,则训练停止。XGBoost模型使用最多2000个估计器和50个早期停止轮进行训练。利用AdamW优化器并在epoch 40和80之后应用线性学习率调度器。所有实验的批处理大小设置为512。其他训练参数,包括学习率和权值衰减,是通过超参数调优确定的。
超参数调优
使用贝叶斯超参数优化库Optuna调整每个实验的所有模型的参数。对于特征选择实验,同时调整特征选择和下游模型的参数,以优化下游模型验证的准确性。进行了100次试验,以确定每个实验的最佳参数。不同模型设置的超参数搜索范围如下:
噪声对Deep model和GBDT的影响
最近对表格神经网络和GBDT之间持续竞争的研究发现,在中小型数据集(多达10,000个样本)上,神经网络比GBDT更容易受到噪声的影响。
该研究探讨了非信息特征对表格神经网络的影响,并评估了MLP和FT-Transformer模型在包含不同数量的非信息高斯噪声特征的数据集上的性能。作为参考,该研究还将流行的XGBoost包中实现的GBDT模型纳入了比较。图1说明了三种模型的性能与这些数据集中非信息特征的比例之间的关系。观察到,与XGBoost相比,MLP架构平均对非信息特征表现出更多的过拟合,这促使人们需要进行仔细的特征选择。有趣的是,从图1中蓝色和绿色曲线的斜率可以看出,FT-Transformer模型对噪声特征的鲁棒性与XGBoost模型大致相同。
- 图1:FT-Transformer,MLP和XGBoost在随机附加特征数据上训练时的性能。
特征选择benchmark
特征选择算法通常在包含由高斯噪声产生的伪特征的数据集上进行评估。这不仅与现实世界的特征选择场景有很大不同,而且对于许多特征选择算法来说,消除这些随机特征也是一个相对简单的任务。鉴于这些考虑,提出了一种替代方法,通过引入三种不同的方法来制作附加特征,从而建立更具挑战性和更现实的特征选择基准:
- 随机特征:在最简单的场景中,我们从高斯分布中采样无信息特征,并将它们与原始数据集特征连接起来。
- 损坏的特征:为了模拟一个有噪声但仍然相关的特征的场景,我们从原始特征中采样无关的特征,并用高斯噪声破坏它们。此外,进行了拉普拉斯噪声破坏实验。
- 二阶特征:为了进一步模拟工程特征的场景,还添加了二阶特征,即随机选择的原始特征的乘积。
高阶特征并不是虚假的,数据科学家经常使用它们。有时候,选择高阶特征而不是原始特征可能不是一件坏事。因为本质上,特征选择算法最终应该根据下游模型的性能进行评估。
为了衡量所提出benchmark的难度,该研究探索了不同特征选择算法在获得的 top- k k k 最重要特征中对无关特征进行排序的频率,其中 k k k为数据集中原始特征的数量。从图2中,观察到所有方法选择的随机特征(随机特征本身就是额外的特征)都比损坏或二阶特征少。此外,为了量化不同特征选择方法之间的总体一致性,该研究分析了不同选择算法生成的特征排名之间的平均成对Spearman相关性。值得注意的是,涉及随机额外特征的设置显示出最高的相关性,这表明过滤掉随机特征相对简单,所有特征选择算法的行为在这种场景下都比较相似。
作为对比,具有二阶额外特征的设置具有最低的等级相关性,这意味着算法之间的选择偏好存在更大的差异。
- 图2:由不同特征选择算法在随机、损坏和二阶特征场景下的结果。importance rank correlation是指在所有特征选择算法和数据集上的成对特征重要性Spearman相关性的平均值。与损坏和二阶特征相比,特征选择算法在从随机特征中进行选择时具有更高的一致性。
基准测试特征选择方法
该研究对各种特征选择方法进行基准测试。特别是,考虑以下特征选择方法:
-
单变量统计检验:这一经典分析检验了预测因子与目标变量之间的线性相关性。对于分类问题,它根据ANOVA F-values选择特征。对于回归问题,它根据univariate linear regression test F-values选择特征。
-
Lasso:使用L1正则化来促进线性回归模型的稀疏性,在这种稀疏回归之后,根据系数大小对特征进行排序。
-
First Layer Lasso(1L Lasso):是Lasso的扩展,适用于多层MLP。它对第一层参数的权重施加了Group Lasso惩罚: m i n θ L θ ( X , Y ) + ( 1 − α ) ∑ j = 1 m ∣ ∣ W ( j ) ∣ ∣ 2 min_{\theta}L_{\theta}(X,Y)+(1-\alpha)\sum_{j=1}^{m}||W^{(j)}||_{2} minθLθ(X,Y)+(1−α