TabNet: Attentive Interpretable Tabular Learning

作者:一元,公众号:炼丹笔记

背景

本文提出了一种高性能、可解释的规范深度表格数据学习结构TabNet。号称吊锤XGBoost和LightGBM等GBDT类模型。来吧,开学!

TabNet使用sequential的attention来选择在每个决策步骤中要推理的特征,使得学习被用于最显著的特征,从而实现可解释性和更有效的学习。我们证明了TabNet在广泛的非性能饱和表格数据集上优于其他变体,并产生了可解释的特征属性和对其全局行为的洞察。

最后,我们展示了表格数据的自监督学习,在未标记数据丰富的情况下显著提高了效果。

1. 决策树类模型在诸多的表格型问题中仍然具有非常大的优势:

  • 对于表格型数据中常见的具有近似超平面边界的决策流形,它们是表示有效的;
  • 它们的基本形式具有高度的可解释性(例如,通过跟踪决策节点),并且对于它们的集成形式有流行的事后可解释性方法;
  • 训练非常快;

2. DNN的优势:

  • 有效地编码多种数据类型,如图像和表格数据;
  • 减轻特征工程的需要,这是目前基于树的表格数据学习方法的一个关键方面;
  • 从流式数据中学习;
  • 端到端模型的表示学习,这使得许多有价值的应用场景能够实现,包括数据高效的域适配;

3. TabNet:

  • TabNet无需任何预处理即可输入原始表格数据,并使用基于梯度下降的优化方法进行训练,实现了端到端学习的灵活集成。
  • TabNet使用sequential attention来选择在每个决策步骤中从哪些特征中推理,从而实现可解释性和更好的学习,因为学习能力用于最显著的特征。这种特征选择是基于实例的,例如,对于每个输入,它可以是不同的,并且与其他基于实例的特征选择方法不同,TabNet采用了一种深度特征选择和推理的学习体系结构。
  • TabNet在不同领域的分类和回归问题的不同数据集上优于或等同于其他表格学习模型;
  • TabNet有两种可解释性:局部可解释性,用于可视化特征的重要性及其组合方式;全局可解释性,用于量化每个特征对训练模型的贡献。
  • 最后,对于表格数据,我们首次通过使用无监督预训练来预测掩蔽特征,得到了显著的性能提升;

类似于DTs的DNN building blocks

  • 使用从数据中学习的稀疏实例特征选择;
  • 构造一个连续的多步骤体系结构,其中每个步骤有助于基于所选特征的决策的一部分;
  • 通过对所选特征的非线性处理来提高学习能力;
  • 通过更高的维度和更多的步骤来模拟融合。

我们使用所有的原始数值特征并且将类别特征转化为可以训练的embedding,我们并不考虑全局特征normalization。

在每一轮我们将D维度的特征传入,其中B是batch size, TabNet的编码是基于序列化的多步处理, 有N个决策过程。在第i步我们输入第i-1步的处理信息来决定使用哪些特征,并且输出处理过的特征表示来集成到整体的决策。

实验

1. 基于实例的特征选择

  • TabNet比所有其他的模型都要好;
  • TabNet的效果与全局特征选择非常接近,它可以找到哪些特征是全局最优的;
  • 删除冗余特征之后,TabNet提升了全局特征选择;

2. 现实数据集上的表现

  • TabNet在多个数据集上的效果都取得了最好的效果;

3. 自监督学习

  • 无监督预训练显著提高了有监督分类任务的性能,特别是在未标记数据集比标记数据集大得多的情况下;
  • 如上图所示,在无监督的预训练下,模型收敛更快。快速收敛有助于持续学习和领域适应.

小结

TabNet,一种新的用于表格学习的深度学习体系结构。TabNet使用一种顺序attention机制来选择语义上有意义的特征子集,以便在每个决策步骤中进行处理。基于实例的特征选择能够有效地进行学习,因为模型容量被充分地用于最显著的特征,并且通过选择模板的可视化产生更具解释性的决策。我们证明了TabNet在不同领域的表格数据集上的性能优于以前的工作。最后,我们展示了无监督预训练对于快速适应和提高模型的效果。

更多干货,请关注微信公众号:炼丹笔记

NN如何在表格数据中战胜GBDT类模型相关推荐

  1. 【论文解读】NN如何在表格数据中战胜GBDT类模型!

    作者:一元,四品炼丹师 TabNet: Attentive Interpretable Tabular Learning(ArXiv2020) 01 背景 本文提出了一种高性能.可解释的规范深度表格数 ...

  2. 数据挖掘算法中,预测类模型详解

    预测类模型根据被解释变量的度量类型,分为对连续变量建模的回归,对分类变量建模的分类器,其中以二分类器为主.这里的回归不是仅有线性回归,还有回归决策树.回归神经网络,甚至最近邻域(KNN)和支持向量机( ...

  3. 如何在表格数据中加同一个数_怎么在excel表格中的数字前统一加一个字母

    怎么在excel表格中的数字前统一加一个字母以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎么在excel表格中的数字 ...

  4. matlab 里的数据粘贴不出来怎么办,为什么excel表格数据复制不出来怎么办_为什么excel中内容不能复制粘贴...

    excel里面的数字为什么复制不出来怎么办 因为是带公式的,直接复制到另张表中.公式中的单元格会相对变动的. 你可以这样操作 复制这个和, 然后选中你要粘的位置 右击菜单-选择性粘贴-数值. exce ...

  5. VUE项目中如何实现表格数据的懒加载

    vue+elementUI table表格展示数据,当数据很多的时候,不能一页显示完,同时一次请求数据量太大,会增加网页渲染的时间,影响体验, 这个时候常常有两种方法处理, 1.分页处理 如果不想分页 ...

  6. 如何将Excel表格数据批量导入到MySQL数据库中

    最近遇到一个问题,就是如何将excel表格数据中几百上千行的数据导入到数据库中,使用Navicat工具的手动导入一直不成功,所以就选择使用代码的方式来进行导入,过程也比较简单,我们一起来看一下是如何实 ...

  7. 《预训练周刊》第9期:TABBIE:表格数据的预训练表示、「视觉预训练神作」:不用图片却训出图像识别SOTA?...

    No.09 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第9期< ...

  8. 一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...

    来源:DeepHub IMBA 本文约3000字,建议阅读5分钟 我在PyTorch中对表格的数据加载器进行的简单更改如何将训练速度提高了20倍以上,而循环没有任何变化! 深度学习:需要速度 在训练深 ...

  9. 删除表格数据后自动刷新_Calliope: 表格数据的自动故事生成系统

    视觉数据故事以叙事可视化的形式呈现,如海报或数据视频,通常用于面向数据的故事讲述中,以促进对故事内容的理解和记忆.虽然有用,但技术障碍(如数据分析.可视化和脚本)使可视化数据故事的生成变得困难.现有的 ...

最新文章

  1. 微软职位内部推荐-Android Developer
  2. Android的DataBinding原理介绍
  3. Bootstrap页面布局17 - BS选项卡
  4. java链表集合_Java底层基于链表实现集合和映射--集合Set操作详解
  5. 上网行为审计产品对比(2008版)
  6. linux输入字符串到文件,[Linux文件]将用户输入的字符串写入文件实例
  7. pywin32下载python3.6_pywin32 py3.7下载
  8. SVN 删除文件及其恢复大全
  9. FPN网络结构及Pytorch实现
  10. 使用STM32与TB6612FNG驱动直流减速电机
  11. JavaScript(6):回调函数
  12. 17家IT初创公司失败史
  13. 光照度传感器之RS485 通信与 Modbus 协议
  14. 《指导生活的算法》读后感
  15. 认识Http协议(超文本传输协议)
  16. 电商运营风向标:数据分析。
  17. 【Python上分之路】第一篇:Python是什么?
  18. 被公司笃定不敢辞职,毅然裸辞出来,九月拿下29K的offer,这波我赢麻了...
  19. 2016.3.16__CSS3_选择器_边框_背景_蒙版mask__第九天
  20. OSChina 周五乱弹 —— 夏目不想上班,还想要甜甜的恋爱

热门文章

  1. Git 初始化及仓库创建及操作
  2. 雅虎团队经验:网站页面性能优化的 34条黄金守则
  3. 自定义Matlab功能函数——10进制整数矩阵转二进制字符矩阵
  4. 计算机视觉与深度学习 | 视觉里程计综述(框架+算法)
  5. python横坐标如何显示为月份_如何显示给定两个日期之间的所有月份?
  6. asp.net必须要放在form中吗_传闻:已经有人在0.33或0.34集成了Echarts(更新中)
  7. html元素移动时颜色逐渐变深,css实现随鼠标移动div渐变色效果
  8. Python 网络爬虫笔记2 -- Requests库实战
  9. julia(5)-变量与内部常量
  10. AI理论知识整理(9)-级数与数列收敛