Tabular特征选择基准

学术实验中的表格基准通常是一小组精心选择的特征。相比之下,工业界数据科学家通常会收集尽可能多的特征到他们的数据集中,甚至从现有的特征中设计新的特征。为了防止在后续的下游建模中过拟合,数据科学家通常使用自动特征选择方法来获得特征子集。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次试验,以确定每个实验的最佳参数。不同模型设置的超参数搜索范围如下:
figs1

噪声对Deep model和GBDT的影响

最近对表格神经网络和GBDT之间持续竞争的研究发现,在中小型数据集(多达10,000个样本)上,神经网络比GBDT更容易受到噪声的影响。

该研究探讨了非信息特征对表格神经网络的影响,并评估了MLP和FT-Transformer模型在包含不同数量的非信息高斯噪声特征的数据集上的性能。作为参考,该研究还将流行的XGBoost包中实现的GBDT模型纳入了比较。图1说明了三种模型的性能与这些数据集中非信息特征的比例之间的关系。观察到,与XGBoost相比,MLP架构平均对非信息特征表现出更多的过拟合,这促使人们需要进行仔细的特征选择。有趣的是,从图1中蓝色和绿色曲线的斜率可以看出,FT-Transformer模型对噪声特征的鲁棒性与XGBoost模型大致相同。

fig1

  • 图1:FT-Transformer,MLP和XGBoost在随机附加特征数据上训练时的性能。

特征选择benchmark

特征选择算法通常在包含由高斯噪声产生的伪特征的数据集上进行评估。这不仅与现实世界的特征选择场景有很大不同,而且对于许多特征选择算法来说,消除这些随机特征也是一个相对简单的任务。鉴于这些考虑,提出了一种替代方法,通过引入三种不同的方法来制作附加特征,从而建立更具挑战性和更现实的特征选择基准:

  • 随机特征:在最简单的场景中,我们从高斯分布中采样无信息特征,并将它们与原始数据集特征连接起来。
  • 损坏的特征:为了模拟一个有噪声但仍然相关的特征的场景,我们从原始特征中采样无关的特征,并用高斯噪声破坏它们。此外,进行了拉普拉斯噪声破坏实验。
  • 二阶特征:为了进一步模拟工程特征的场景,还添加了二阶特征,即随机选择的原始特征的乘积。

高阶特征并不是虚假的,数据科学家经常使用它们。有时候,选择高阶特征而不是原始特征可能不是一件坏事。因为本质上,特征选择算法最终应该根据下游模型的性能进行评估。


为了衡量所提出benchmark的难度,该研究探索了不同特征选择算法在获得的 top- k k k 最重要特征中对无关特征进行排序的频率,其中 k k k为数据集中原始特征的数量。从图2中,观察到所有方法选择的随机特征(随机特征本身就是额外的特征)都比损坏或二阶特征少。此外,为了量化不同特征选择方法之间的总体一致性,该研究分析了不同选择算法生成的特征排名之间的平均成对Spearman相关性。值得注意的是,涉及随机额外特征的设置显示出最高的相关性,这表明过滤掉随机特征相对简单,所有特征选择算法的行为在这种场景下都比较相似。

作为对比,具有二阶额外特征的设置具有最低的等级相关性,这意味着算法之间的选择偏好存在更大的差异。

fig2

  • 图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α

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX开发调用AWT创建系统托盘MenuItem菜单中文乱码

打开系统托盘MenuItem只能显示英文字符和中文显示方框 解决办法: 打开Edit Configurations… 选择Mofidy options 勾选Add VM options 在VM optios中填入以下代码 -Dfile.encodingGBK

【MySQL | TCP】宝塔面板结合内网穿透实现公网远程访问

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置&#x…

Oracle的安装及使用流程

Oracle的安装及使用流程 1.Win10安装Oracle10g 1.1 安装与测试 安装版本: OracleXEUniv10.2.1015.exe 步骤参考:oracleXe下载与安装 安装完成后测试是否正常 # 输入命令连接oracle conn sys as sysdba; # 无密码,直接按回车 # 测试连接的s…

我的第一次SACC之旅

今年有很多第一次,第一次作为“游客”参加DTCC(中国数据库大会),第一次作为讲师参与ACDU中国行(成都站),第一次参加OB年度发布会(包含DBA老友会),而这次是第一…

leetcode面试经典150题——32 串联所有单词的子串(中等+困难)

题目: 串联所有单词的子串(1中等) 描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串&…

【涂鸦T2-U】1、开发环境搭建

前言 本章介绍T2-U的开发环境搭建流程,以及一些遇到的问题。 一、资料 试用网址: 【新品体验】涂鸦 T2-U 开发板免费试用 涂鸦官网文档: 涂鸦 T2-U 开发板 T2-U 模组规格书 T2-U 开发板 淘宝(资料较全): 涂鸦智能 TuyaOS开发…

【C语言】字母转换大小写的三种方法

🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 方法一:库函数法 1.小写转换大写:toupper()函数 2.大写转换小写:tolower()函数 方法二:自定义函数加减32法 1.小写转换大…

Redis报错:JedisConnectionException: Could not get a resource from the pool

1、问题描述: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 2、简要分析: redis.clients.util.Pool.getResource会从JedisPool实例池中返回一个可用的redis连接。分析源码可知JedisPool 继承了 r…

BigDecimal的使用全面总结

BigDecimal BigDecimal可以表示任意大小,任意精度的有符号十进制数。所以不用怕精度问题,也不用怕大小问题,放心使用就行了。就是要注意的是,使用的时候有一些注意点。还有就是要注意避免创建的时候存在精度问题,尤其…

Spring全面详解(学习总结)

Spring FrameWork一、 前言二、IOC(控制反转)2.1 对于IOC的理解2.2如何使用IOC2.3配置文件的解读2.4IOC容器创建bean的两种方式2.5从IOC容器中取bean2.6bean的属性如果包含特殊字符 三、DI(依赖注入)四、Spring中的bean五、Spring中的继承六、Spring的依赖七、Spring读取外部资…

【咕咕送书 | 第六期】深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!

🎬 鸽芷咕:个人主页 🔥 个人专栏:《粉丝福利》 《linux深造日志》 ⛺️生活的理想,就是为了理想的生活! 文章目录 ⛳️ 写在前面参与规则引言一、为什么嵌入式系统需要虚拟化技术?1.1 专家推荐 二、本书适合谁&#x…

WiFi的CSMA/CA竞争窗口流程简述

1、若站点最初有数据要发送(不是发送不成功再进行重传的那种),且检测到信道空闲,在等待DIFS后,就发送整个数据帧。 2、否则,站点执行退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空…

Less 安装教程

文章目录 前言LESS的系统要求安装LESS例子输出Less编译css工具后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Sass和Less 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板…

error LNK2038: 检测到“RuntimeLibrary”的不匹配项 解决方法

问题: 我们在使用Visual Studio编程的时候偶尔会遇到以下三种报错: error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug” (引用的是release模式,但设置成debug模式了…

操作系统——进程管理

文章目录 进程和线程进程的概念进程和程序的区别PCB(进程控制块)程序是如何运行的进程的特征进程的状态和状态转换五态模型 进程控制进程状态装换为啥需要保证原子性如何实现原语的原子性? 进程控制相关原语进程创建进程终止进程的阻塞和唤醒进程的唤醒进程的切换 进…

1603. 整数集合划分(2016年408数据结构算法题)

一、题目 1603. 整数集合划分https://www.acwing.com/problem/content/description/1605/ 二、算法的基本设计思想 由题意知,将最小的 个元素放在 中,其余的元素放在 中,分组结果即可满足题目要求。仿照快速排序的思想,基于枢…

Vue 2.0源码分析-Virtual DOM

Virtual DOM 这个概念相信大部分人都不会陌生,它产生的前提是浏览器中的 DOM 是很“昂贵"的,为了更直观的感受,我们可以简单的把一个简单的 div 元素的属性都打印出来,如图所示: 可以看到,真正的 DOM …

地铁在线售票vue票务系统uniAPP+vue 微信小程序

功能介绍 管理员 (1)管理员登录功能 (2)查看和修改线路信息 (3)减少线路 (4)修改价格(5站3元 5-10 5元 10-15站6元 往上8元) (5)删除用…

吾爱破解置顶的“太极”,太好用了吧!

日常工作和娱乐,都需要用到不同类型的软件,哪怕软件体积不大,也必须安装,否则到用时找不到就非常麻烦了。 其实,很多软件不一定一样不剩地全部安装一遍,一方面原因是用的不多,另一方面多少有点…

Android设计模式--外观模式

弈之为术,在人自悟 一,定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的,尤其是在第三方的SDK里面&#xff0…