前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最新特征筛选方法--Deep Lasso

最新特征筛选方法--Deep Lasso

作者头像
Python数据科学
发布2024-04-10 16:15:49
620
发布2024-04-10 16:15:49
举报
文章被收录于专栏:Python数据科学Python数据科学

论文出发点

A Performance-Driven Benchmark for Feature Selection in Tabular Deep Learning https://github.com/vcherepanova/tabular-feature-selection

虽然已有有很多关于特征选择的方法,但大多数是基于传统机器学习算法,或者是选择特征用于训练传统机器学习算法。

为了填补这一空白,本文构建了一个表格深度学习环境下的特征选择基准,通过评估所选特征在下游神经网络性能上的表现来评估这些特征选择方法。除了使用传统方法,还使用表格变换器模型的注意力图来选择特征,并提出了Deep Lasso,这是一种基于输入梯度的深度表格模型的Lasso方法。 与以前的工作不同,该研究使用真实数据集进行基准测试,并尝试三种不同方式构造不相关特征:随机噪声特征、受损特征和二阶特征。

背景知识:特征筛选方法

表格数据是现实世界中机器学习应用中的主要数据格式。过去,这些应用主要使用传统的决策树模型,如梯度提升决策树(GBDT)来解决。然而,现代深度表格神经网络开始弥合与传统GBDT的差距。

特征选择的现有方法可以分为三种主要类型:过滤器、包装器和嵌入方法。

  • 过滤法:根据特征的个体特性和与目标变量的相关性对特征进行排序,而不考虑任何具体的学习算法。过滤方法的示例包括单变量统计测试、方差过滤和互信息分数。
  • 包装法:依赖于具体算法,涉及迭代地对特征子集重新训练机器学习算法,以确定产生最佳性能的子集。这包括贪婪的顺序算法、递归特征消除以及进化算法。
  • 嵌入法:将特征选择任务融入到训练过程中,允许模型在训练时学习哪些特征最相关。

Lasso是一种经典的嵌入式特征选择算法,也被应用于深度神经网络中。此外,基于树的算法如随机森林和梯度提升决策树使用内建的特征重要性度量,实现了自动特征选择。一些最近的研究提出了具有嵌入式特征选择的专门的神经网络架构。

特征筛选数据集

基准测试包括12个数据集,其中包括三种类型的额外特征。这些数据集是基于最近的表格基准论文进行收集和调整的,包括ALOI、California Housing、Covertype、Eye Movements、Gesture、Helena、Higgs 98k、House 16K、Jannis、Otto Group Product Classification、Year和Microsoft。其中有八个分类数据集和四个回归数据集。研究者使用准确性来衡量分类任务的下游模型性能,使用RMSE来衡量回归任务的下游模型性能。

在每个基准测试实验中,他们对特征选择算法和下游模型进行了广泛的超参数调整,以优化下游模型的性能。他们使用贝叶斯超参数优化引擎Optuna来选择最佳超参数,基于验证指标选择最佳超参数,并报告在10个随机模型初始化(种子)上计算的测试指标。更多有关最终超参数的详细信息可以在附录部分找到。

特征选择评价方法

传统的特征选择基准通常包括完全随机的无用特征,但实际上,工程化的特征通常具有不同程度的冗余和噪声。因此,研究者引入了三种不同的方法来生成额外的特征,从而构建更有挑战性和现实性的特征选择基准:

  • 随机特征:在最简单的情况下,研究者从高斯分布中采样不相关特征,并将它们与原始数据集的特征连接起来。
  • 受损特征:为了模拟具有噪声但仍然相关特征的情况,研究者从原始特征中采样额外特征,并使用高斯噪声进行破坏。
  • 二阶特征:为了模拟工程化特征中包含冗余信息的情况,研究者添加了二阶特征,即随机选择的原始特征的乘积。

为了衡量所提出的基准测试的难度,研究者探讨了不同特征选择算法在排名中是否经常将额外特征排在前k个最重要的特征之中,其中k代表数据集中原始特征的数量。

为了量化不同特征选择方法之间的整体一致性,他们分析了不同选择算法生成的特征排名之间的平均两两Spearman相关性。包含随机额外特征的设置具有最高的相关性,表明过滤掉随机特征相对容易,所有特征选择算法的行为都相似。相比之下,包含二阶额外特征的设置具有最低的排名相关性,暗示了不同算法之间选择偏好的差异更大。

Deep Lasso原理

Deep Lasso是一种特征选择方法,旨在通过应用Group Lasso正则化来鼓励深度表格模型中特征的梯度稀疏性,使模型对不相关特征的变化具有鲁棒性。

模型训练

首先,需要训练深度表格模型,这可以是一个多层感知器(MLP)或任何其他可微分模型。训练模型时,使用训练数据 ,其中 是输入特征矩阵, 是目标变量。在训练中,模型的参数 被优化以最小化损失函数 。

Deep Lasso正则化

在模型训练的同时,应用Deep Lasso正则化来鼓励特征的梯度稀疏性。Deep Lasso的正则化项由以下公式给出:

其中, 表示特征的数量, 表示损失函数 相对于第 个特征的梯度。这个正则化项的目标是使模型的输出对于不相关特征的梯度变得稀疏,从而减少对这些不相关特征的依赖。

特征重要性计算

一旦模型训练完成,可以计算每个特征的重要性。特征的重要性由以下公式给出:

这里, 表示损失函数相对于第 个特征的梯度的L2范数。较大的L2范数表示该特征对于模型的输出具有更大的梯度,因此在特征选择中更重要。

Deep Lasso的主要思想是通过鼓励模型在训练过程中对于不相关特征的梯度变得稀疏,从而使模型在特征选择中更加鲁棒。 这可以帮助模型更好地应对噪声和不相关特征,提高模型的泛化能力。同时,Deep Lasso也与其他用于网络可解释性的方法相关,因为它利用输入特征的梯度信息来进行特征选择。

特征筛选方法汇总

在这一部分,研究者介绍了用于评估特征选择方法的各种方法。

  • 单变量统计测试:这是一种经典的分析方法,用于检查预测变量与目标变量之间的线性依赖关系。它根据分类问题的ANOVA F值和回归问题的单变量线性回归测试F值来选择特征。
  • Lasso:使用L1正则化来鼓励线性回归模型的稀疏性。在这种稀疏回归之后,特征根据其在模型中的系数大小进行排名。
  • 第一层Lasso (1L Lasso) :这是针对具有多层的MLP的Lasso扩展。它对第一层参数的权重应用Group Lasso惩罚,以鼓励特征的稀疏性。
  • 自适应Group Lasso (AGL) :这是Group Lasso正则化方法的扩展。与第一层Lasso类似,它对第一层参数的权重应用Group Lasso惩罚,但每个系数组都有一个自适应权重参数。
  • LassoNet:这是一种神经网络架构,具有特征选择功能。它通过添加一个跳跃(残差)层,并允许特征只有在其跳跃层连接处活跃时才能参与。
  • 随机森林 (Random Forest, RF) :这是一个决策树的bagging集成,它根据特征对整体集成的贡献来对特征进行排名。
  • XGBoost:这是一种流行的梯度提升决策树的实现,它计算特征的重要性作为特征在树的所有分裂中的平均增益。
  • Attention Map Importance (AM) :这是针对FT-Transformer模型的特征重要性,通过在验证集上的一个前向传递计算。它计算特征重要性作为所有层、头和验证样本中[CLS]标记的平均注意力图。
  • Deep Lasso:这是对深度表格模型(实际上是任何可微分模型)的Lasso的推广。它通过在训练过程中对输入特征的损失梯度应用Group Lasso惩罚,鼓励特征梯度的稀疏性,使模型对不相关特征的变化具有鲁棒性。

实验结果

在论文的结果部分,作者介绍了他们对各种特征选择方法进行基准测试的结果。实验分别在两种下游模型上进行:MLP和FT-Transformer,并考虑了不同类型的额外特征:随机特征、受损特征和二阶特征。

以下是基准测试的主要发现:

随机特征

  • 在包含无关的高斯噪声特征(随机特征)的情景下,XGBoost、Random Forest、单变量统计测试和Deep Lasso对于MLP下游模型表现相似。
  • 对于FT-Transformer下游模型,Random Forest和XGBoost优于其他方法。
  • Lasso、1L Lasso、AGL、LassoNet和Attention Map Importance在这些情景中表现较差。

受损特征

  • 在涉及受损额外特征的情景中,Deep Lasso和XGBoost明显优于其他特征选择方法。
  • Deep Lasso在MLP下游模型中表现更好,而XGBoost在FT-Transformer下游模型中略优。

二阶特征

  • 在最具挑战性的情景中,即在原始特征和二阶特征之间进行选择,Deep Lasso表现出明显的性能优势。
  • Deep Lasso在更具挑战性的特征选择问题中表现出色,包括大量虚假或冗余特征,正如在受损和二阶额外特征中观察到的。

结果还包括特征选择方法之间的相似性分析。计算了不同特征选择方法之间的成对Spearman相关性,然后在不同数据集之间进行平均。

总结与讨论

论文提出了针对深度表格模型的具有挑战性的特征选择基准,以满足特征选择评估中更现实的情境需求。基准包括具有额外无关、受损和多余特征的真实数据集。通过全面的实验,我们在我们提出的基准上比较了各种特征选择方法。

但论文方法有如下待改进的地方:

  • 在实验部分,作者选择了相对较小的数据集进行评估。 这可能会引发关于数据集规模的担忧,因为实验结果在更大的数据集上是否具有相似性仍然需要验证。
  • 从实验结果来看,XGBoost和随机森林在不同设置下表现出色。这表明了这些传统的机器学习方法在特征选择中的竞争力。然而Deep Lasso并没有在所有情况下达到最优。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据科学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文出发点
  • 背景知识:特征筛选方法
  • 特征筛选数据集
  • 特征选择评价方法
  • Deep Lasso原理
  • 特征筛选方法汇总
  • 实验结果
    • 随机特征
      • 受损特征
        • 二阶特征
        • 总结与讨论
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档