2022年竞赛打榜,神经网络还是干不过树模型??

4f745525d3f92c923451fc58c0d1e8e0.png

文 | QvQ

随着深度神经网络的不断发展,DNN在图像、文本和语音等类型的数据上都有了广泛的应用,然而对于同样非常常见的一种数据——表格数据,DNN却似乎并没有取得像它在其他领域那么大的成功。从Kaggle平台上对数据挖掘竞赛Top团队使用的工具统计上也能看出,XGBoost和LightGBM这类提升(Boosting)树模型依旧占据主要地位。

0708b1576bb607fc00d5c24d2fea2224.png

这种来自GBM类模型的压制力在表格数据上尤为明显,即便算上当今专注于处理表格数据的神经网络模型,Xgboost的性能(速度 & 精度)依旧不是这些神经网络可以“碰瓷”的。516ea2a02532ecaf6cb0ded8e46673d9.png

那么,在自然语言领域和图像领域号称超越人的神经网络模型,怎么在表格数据上就变的吭哧瘪肚了呢?今天我们来浅析一下其中可能的原因。72c9f9e3a5c66e6cdbe2c8658d26a7e7.png

88fddc9927046cd5d053cbaac511f7bc.png1.数据有何不同?0aae80cae212387e20d787ef8dd72143.png

1.1 什么是表格数据?

99ec04e3ec4d77796433e93a8c2e7491.png表格数据的最大的特点是:异质性(Heterogeneous),即数据的每一列具有不同含义且数据类型不一致,这种异质的表格数据与图像或语言数据(同质数据)相比,其具有密集的数值特征和稀疏的分类特征

1.2 NN处理表格数据的挑战

1) 低质量表格数据往往来自于真实世界的统计,而一旦数据来自真实世界,那么事情便复杂起来。可谓是虚假的数据千篇一律,真实的数据五花八门。脏数据、离群点、样本不均衡、数据空间小等一系列现实问题便很容易涌现出来。

  • inconsistent data

    • missing values

    • outliers

  • expensive

    • class-imbalanced

    • small size

2)缺失或拥有复杂的空间相关性当前主流的NN模型往往是在同质数据中使用归纳偏置,最典型的如卷积神经网络。表格数据集中的变量之间往往不存在空间相关性,或者特征之间的相关性相当复杂和不规则。当使用表格数据时,必须从头开始学习它的结构和特征之间的关系。这也是为什么迁移学习难以在表格数据上奏效的原因。

3)强依赖预处理同质数据上的深度学习的一个关键优势是它包含一个隐式表示学习步骤,因此只需要极少的预处理或显式特征构建。然而,当深度神经网络处理表格数据,其性能可能在很大程度上取决于所选择的预处理策略。不当的预处理方式可能导致:

  • 信息缺失,预测性能下降

  • 生成非常稀疏的特征矩阵(如通过使用onehot编码类别特征)导致模型无法收敛

  • 引入先前无序特征的虚假排序信息(如通过使用有序编码方案)

4)特征重要性通常情况下,改变图像的类别需要对许多特征(如像素)进行协调变化,但一个分类(或二进制)特征的最小可能变化可以完全颠覆对表格数据的预测。与深度神经网络相比,决策树算法通过选择单个特征和适当的阈值“忽略”其余数据样本,可以非常好地处理不同的特征重要性。

4bf7133cd0ce1ef1e183c3ba16fbce71.png2.模型偏置有何不同?7f18fa7c700d2e4cce5ef6a77933f4fe.png

归纳偏置:在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就称为 归纳偏置(Inductive Bias)

因此,归纳偏置可以理解为,从现实生活中观察到的现象中归纳出一定的规则(heuristics),然后对模型做一定的约束,从而可以起到“模型选择”的作用,即从假设空间中选择出更符合现实规则的模型。

所以,要理解两个模型在同一数据上的表现差异,就需要理解两个模型归纳偏置的不同。

2.1 实验配置

2.1.1 数据集

新基准参考 45 个表格数据集,选择基准如下 :

  • 异构列,列应该对应不同性质的特征,从而排除图像或信号数据集。

  • 维度低,数据集 d/n 比率低于 1/10。

  • 无效数据集,删除可用信息很少的数据集。

  • I.I.D.(独立同分布)数据,移除类似流的数据集或时间序列。

  • 真实世界数据,删除人工数据集,但保留一些模拟数据集。

  • 数据集不能太小,删除特征太少(<4)和样本太少(<3000)的数据集。

  • 删除过于简单的数据集。

  • 删除扑克和国际象棋等游戏的数据集,因为这些数据集目标都是确定性的。

2.1.2 数据预处理

论文里尽可能少的使用了人工预处理,只应用以下转换:

  • 高斯化特征:对于神经网络训练,采用Scikit-learn的QuantileTransformer对特征进行高斯化处理。

  • 改变回归目标:在回归任务中,当目标变量的分布是重尾时,对其进行对数变换。

  • OneHotEncoder:对于本身不处理类别特征的模型,使用ScikitLearn的OneHotEncoder编码分类特征。

2.2 模型

在基于树的模型中,研究者选择了 3 种 SOTA 模型:Scikit Learn 的 RandomForest,GradientBoostingTrees (GBTs) , XGBoost 。

该研究对深度模型进行了以下基准测试:Resnet 、FT Transformer、SAINT 。

FT Transformer:《Revisiting Deep Learning Models for Tabular Data》2021 NIPS。专注于解决表格数据的NN模型。
SAINT:《Towards an Appropriate Query, Key, and Value Computation for Knowledge Tracing》 提出一种分离的自注意力神经知识追踪结构,本质还是transformer结构,选它的原因是在一部分表格数据上它有远超transformer的表现。

2.3 归纳偏置

(1)类别特征并不是神经网络的主要弱点图一是在纯数字特征数据集上的表现:6e285cebcea03875d50e465f329ea0d4.png图二是在同时具有数字和分类特征数据集上的表现:5c67d588c5b91f6532b217e200829217.png【说明】

  • 虚线对应默认超参数的得分,也是第一次随机搜索迭代。

  • 实线上的每个值对应于最佳模型(在验证集上)经过特定次数的随机搜索迭代后的所有数据集上的平均测试分数。

  • 色带对应这15次随机初始化的最低和最高分数。

【显式结论】

  • 调优超参数并不能使神经网络达到SOTA:基于树的模型对于每个随机搜索都具有优越性,即使经过大量的随机搜索迭代,NN模型相比树模型性能差距仍然很大。

  • 类别特征并不是神经网络的主要弱点:类别特征通常被认为是在表格数据上使用神经网络的一个主要问题。我们在数值变量上的结果只揭示了树型模型和神经网络之间的差距比包含分类变量更小。然而,当只学习数字特征时,这种差距仍然存在。

(2)神经网络倾向于比较平滑的解决方案通过不同尺度的高斯核函数将训练集上的output进行平滑,这样可以有效防止模型学习目标函数的不规则pattern。高斯平滑核:5418183a7f8e70467a2d9a5be8afb58f.png平滑训练集output方式:888bc0f34dd9f5645976e1418e08ecf9.png实验结果:a4848ca89ff6fa6ecefd2f4daced5d20.png

上图显示了模型性能作为平滑核的长度尺度的函数。结果表明,对目标函数进行平滑处理会显著降低基于树的模型的精度,但对神经网络的精度影响不大。这也说明我们数据集中的目标函数不是平滑的,与基于树的模型相比,神经网络很难拟合这些不规则的函数。

这与Rahaman等人[2]的发现一致,他们发现神经网络偏向拟合低频函数。而基于决策树的模型学习分段常数函数,不会表现出这样的偏见。

3159ad307ef4b85ed29e0c949794b04b.png

上图是电力数据集两个最重要特征的决策边界。在这一部分中,我们可以看到RandomForest能够学习MLP无法学习的x轴上的不规则模式(对应于日期特征)。

(3)非信息特征更能影响类似MLP的NN

表格数据集包含许多非信息(uninformative)特征,对于每个数据集,该研究根据特征的重要性会选择丢弃一定比例的特征(通常按随机森林特征重要性排序)。从下图可以看出,去除一半以上的特征对GBT的分类准确率影响不大。4fbad502f0347399a6ee9721f5a905e5.png

  • 绿线:保留最重要的特征,依次移除最不重要的特征

  • 红线:依次添加上述被移除的特征

可以发现,当在被移除20%特征时,GBT在测试集上的精度都降低的非常小,直到被移除50%特征时,精度下降才逐渐明显,这表明这些特征大部分是无信息增益的。但是从红线的涨幅来看,这些特征又不是完全无用的。0367c90b5399fbd7fcf81511b613d60e.png

上图可以看到移除非信息特征减少了 MLP (Resnet) 与其他模型(FT Transformers 和基于树的模型)之间的性能差距 ,而添加非信息特征会扩大差距,这表明MLP 对非信息特征的鲁棒性较差

(4)MLP更具旋转不变性与其他模型相比,为什么MLP更容易受到无信息特征的影响?其中一个答案是:MLP 是旋转不变的。当对训练集和测试集特征应用旋转时,在训练集上学习 MLP 并在测试集上进行评估,这一过程是不变的。事实上,任何旋转不变的学习过程都具有最坏情况下的样本复杂度,该复杂度至少在不相关特征的数量上呈线性增长。直观地说,为了去除无用特征,旋转不变算法必须首先找到特征的原始方向,然后选择信息最少的特征。a862888e6d6b68842fb8b03f9c27a800.png上图 a 显示了当对数据集进行随机旋转时的测试准确率变化,证实只有 Resnets 是旋转不变的。值得注意的是,随机旋转颠倒了性能顺序,这表明旋转不变性是不可取的。事实上,表格数据通常具有单独含义,例如年龄、体重等。

图 b 中显示:删除每个数据集中最不重要的一半特征(在旋转之前),会降低除 Resnets 之外的所有模型的性能,但与没有删除特征使用所有特征时相比,相比较而言,下降的幅度较小。

74824ba1636e36e62cbf08eacdb382de.png模型本质有何不同?0fc323ea1991631127a1756c58124f46.png

树模型的本质:分段常数函数528206a11fe40c246bcfaa89ba326952.png决策树在本质上是一组嵌套的if-else判定规则,从数学上看是分段常数函数,对应于用平行于坐标轴的平面对空间的划分。判定规则是人类处理很多问题时的常用方法,这些规则是我们通过经验总结出来的,而决策树的这些规则是通过训练样本自动学习得到的。而正是这种简单的划分使得模型的决策流形(decision manifolds)可以看成是超平面的分割边界,对于表格数据的效果很好。

神经网络的本质:分段线性函数fb84cb75211ebcf67178dd84f98858c5.png以最简单的神经网络结构表示的单变量逻辑回归模型来说,中间层是ax+b这种线性表达方式进行拟合的表达能力是非常有限的。8041f4e2018f4109804428e90fa854fa.png而不管在中间加多少层线性变换,并不能提高其表达能力,最终模型本质上仍然是一个关于x的线性模型。那么如何引入非线性呢?——激活函数。激活函数的引入使神经网络具备了非线性表达的能力。005a5328dda465836e4d86a5fc5589c7.png神经网络强大的本质原因:1)激活函数让线性的神经网络具备了“分段”表达的能力。2)任何函数都可以用“分段”线性函数来逼近。成也强大、败也强大,正是因为神经网络这种过强的拟合能力导致在size通常不大的表格数据上很容易过拟合。对于大规模神经网络来说,中间隐层所生成的“高维特征”甚至有时比原始数据还多。

dd93726516ea0b31bed8b0f990e66d64.png做个小结f4fc747017285d569a2e425daccaadc7.png

树模型特点

  1. 天然的鲁棒性,对异常点、缺失值不敏感,不需要归一化等操作。

  2. 模型的决策流形(decision manifolds)是可以看成是超平面的分割边界,对于表格数据的效果很好。

  3. 基于贪心的自动化特征选择和特征组合能相比其他ML模型,具有更强的非线性表达能力。

  4. 树的可解释性很好,分裂可视化以及特征重要性等操作,能改善特征工程。进一步优化特征,提升模型性能。

  5. 数据量带来的边际增益不大,容易触及天花板。

NN模型特点

  1. 在语义含义统一的稠密数据上,拥有全自动化的特征工程的能力,包括超强的特征挖掘与特征组合能力。

  2. 极强的数据记忆能力与外推泛化能力。

  3. 对异常值敏感,对于表格数据,强依赖数据预处理。

  4. 不可解释,无法像树模型那种直观展示预测流程,无法推演与优化基础特征。

  5. 过强的非线性中隐含过拟合和噪音。

闻道有先后,术业有专攻,即便强如神经网络也有自己的软肋。但从上述结果其实也可以发现,神经网络不适合处理表格数据仅仅是因为我们还没有掌握合适的方法,神经网络的强大的建模能力仍毋庸置疑。相信总有一天,神经网络模型将一统江湖,三界唯尊!89dca0e61a5143eb1b0fc574d3e5227d.png

b007d13fe8d2dd090718cbf9b990ce4f.png卖萌屋作者:乐乐QvQ

硕士毕业于中国科学院大学,前ACM校队队长,区域赛金牌。竞赛混子,Kaggle两金一银,国内外各大NLP、大数据竞赛Top10。校招拿下国内外数十家大厂offer,超过半数的SSP。目前在百度大搜担任搜索算法工程师。知乎ID:QvQ

作品推荐:

1.13个offer,8家SSP,谈谈我的秋招经验

2.BERT为何无法彻底干掉BM25??

3.训练双塔检索模型,可以不用query-doc样本了?

4.他与她,一个两年前的故事

5.Bing与DuckDuckGo搜索结果惊人一致?Google展现强势差异

e10a5a42b580cd44af4e904a91e1a1c9.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

 abd99d5af12a18366b256fffc667deec.png

[1] Why do tree-based models still outperform deep learning on tabular data? https://arxiv.org/abs/2207.08815

[2] On the Spectral Bias of Neural Networks.https://arxiv.org/abs/1806.08734

[3] Deep Neural Networks and Tabular Data: A Survey. https://arxiv.org/pdf/2110.01889.pdf

[4] Relational inductive biases, deep learning, and graph networks. https://arxiv.org/abs/arXiv:1806.01261

[5] Revisiting Deep Learning Models for Tabular Data. https://arxiv.org/pdf/2106.11959.pdf

[6] 遇事不决,XGBoost,梯度提升比深度学习更容易赢得Kaggle竞赛

[7] 数据挖掘竞赛利器——TabNet模型浅析 https://zhuanlan.zhihu.com/p/152211918

[8] 为什么在实际的kaggle比赛中,GBDT和Random Forest效果非常好?https://www.zhihu.com/question/51818176

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

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

相关文章

支持向量机(Support Vector Machines,SVM)

文章目录1. 线性可分SVM 与 硬间隔最大化1.1 线性可分SVM1.2 函数间隔、几何间隔1.3 间隔最大化2. 线性SVM 与 软间隔最大化2.1 线性SVM3. 非线性SVM 与 核函数3.1 核技巧/核函数3.2 常用核函数3.3 非线性SVM分类4. 序列最小最优化算法5. sklearn SVC 实例6. 课后习题支持向量机…

Bengio团队发起AI竞赛!

源 | AI4ClimateCoop比赛主办方&#xff1a;由MILA&#xff08;蒙特利尔人工智能实验室&#xff09;& Salesforce&#xff08;北美顶级云科技公司&#xff09;共同组织&#xff0c;由AI Economist团队领队Stephan Zheng博士和图灵奖得主Yoshua Bengio教授共同指导。比赛目标…

.NET Framework 1.1安装出现1935错误的解决办法

系统不知道什么原因&#xff0c;.NET Framework 1.1不能用了&#xff0c;得重装&#xff0c;但是重装了一次&#xff0c;每次老是提示错误1935&#xff0c;如图没有办法&#xff0c;上网查找相关资料&#xff0c;有文章介绍&#xff1a;“卸载Visual Studio .NET的预发布版之后…

ICLR Spotlight|Facebook提出无损INT8优化器,单机可以跑千亿参数模型了??

文 | 王思若2018年GPT、BERT预训练模型的提出吹响了大模型“军备竞赛”冲锋的号角&#xff0c;一场大模型的狂欢拉开帷幕&#xff0c;业界强大的算力支撑起例如Megatron-Turing、Switch Transformer、悟道2.0等千亿&万亿参数量模型。与此同时&#xff0c;面对着超大模型训练…

程序员面试金典 - 面试题 04.01. 节点间通路(图的遍历)

1. 题目 节点间通路。给定有向图&#xff0c;设计一个算法&#xff0c;找出两个节点之间是否存在一条路径。 示例1:输入&#xff1a;n 3, graph [[0, 1], [0, 2], [1, 2], [1, 2]],start 0, target 2输出&#xff1a;true 示例2:输入&#xff1a;n 5, graph [[0, 1], […

签名程序集密钥文件路径

在AssemblyInfo.cs 文件中 [assembly: AssemblyKeyFileAttribute("文件名")] 文件名是以解决方案.sln文件的路径为准的相对路径转载于:https://www.cnblogs.com/hjf1223/archive/2005/09/14/236590.html

华为天才少年谢凌曦:关于视觉识别领域发展的个人观点

文 | 谢凌曦知乎最近&#xff0c;我参加了几个高强度的学术活动&#xff0c;包括CCF计算机视觉专委会的闭门研讨会和VALSE线下大会。经过与其他学者的交流&#xff0c;我产生了许多想法&#xff0c;千头万绪&#xff0c;便希望把它们整理下来&#xff0c;供自己和同行们参考。当…

程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)

1. 题目 给定一棵二叉树&#xff0c;设计一个算法&#xff0c;创建含有某一深度上所有节点的链表&#xff08;比如&#xff0c;若一棵树的深度为 D&#xff0c;则会创建出 D 个链表&#xff09;。返回一个包含所有深度的链表的数组。 例&#xff1a; 输入&#xff1a;[1,2,3,…

microsoft WINDOWS 系统错误代码 [收藏]

MS Windows Error Messages Code Error Message 0 操作成功完成。 1 功能错误。 2 系统找不到指定的文件。 3 系统找不到指定的路径。 4 系统无法打开文件。 5 拒绝访问。 6 句柄无效。 7 存储控制块被损坏。 8 存储空间不足&#xff0c;无法处理此命…

月薪3w算法工程师日均7行代码被开除 / AI歌手入学上海音乐学院 / 天文照片被植入恶意代码...

文 | 日报君 发自 凹非寺源 | 量子位又到周四&#xff0c;不少人心中的「小周末」&#xff01;你有没考虑下班后放松放松&#xff1f;劳逸结合&#xff0c;别忘关注这些「科技圈都在看」的新鲜事&#xff01;今日大新闻月薪3.6万算法工程师&#xff0c;日均写7行代码被开除&…

程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)

1. 题目 实现一个函数&#xff0c;检查二叉树是否平衡。在这个问题中&#xff0c;平衡树的定义如下&#xff1a;任意一个节点&#xff0c;其两棵子树的高度差不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7]3/ \9 20/ \15 7 返回 true 。示例 2: 给定二叉树 [1,2…

火树银花的夜晚

好些年前就想看国际音乐烟花节&#xff0c;但不是有事就是错过了买票的时间&#xff0c;这次很早就订好了票子一定要去凑个热闹~&#xff01;特定定了6号希腊专场&#xff0c;结果看来很明智&#xff0c;3号那天这么大的雨&#xff0c;哈哈&#xff01;上午去看了《神话》&…

扩散模型背后的数学太难,谷歌发论文带路

源 | 机器之心扩散模型背后的数学可是难倒了一批人。最近一段时间&#xff0c;AI 作画可谓是火的一塌糊涂。在你惊叹 AI 绘画能力的同时&#xff0c;可能还不知道的是&#xff0c;扩散模型在其中起了大作用。就拿热门模型 OpenAI 的 DALLE 2 来说&#xff0c;只需输入简单的文本…

程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)

1. 题目 实现一个函数&#xff0c;检查一棵二叉树是否为二叉搜索树。 示例 1: 输入:2/ \1 3 输出: true示例 2: 输入:5/ \1 4/ \3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。根节点的值为 5 &#xff0c;但是其右子节点值为 4 。2. 解题 该题要求严格&…

2 MyWarCraftStudio v0.6版

MyWarCraftStudio v0.6版,可以查看Wow的BLP2、M2、WMO、WDL、ADT、DBC格式的文件 如题。平民程序2005.03.11放出。大家可去平民程序下载&#xff1a;http://blog.gameres.com/show.asp?BlogID144&column0// --- 这个Blog作者不再更新了&#xff0c;如果下载不了&#xff0…

我是如何从头开始写一篇顶级论文的

文 | 重剑无锋知乎源 | 极市平台关于一篇顶会论文是如何产生的这件事—且看作者为你娓娓道来&#xff0c;如何从一形成routine的日常科研生活中挖掘到巧妙的产出。最近完成了一篇很满意的论文&#xff0c;不仅整个过程愉快&#xff0c;回味无穷&#xff0c;而且真正做到了“学术…

程序员面试金典 - 面试题 05.06. 整数转换(位运算)

1. 题目 整数转换。编写一个函数&#xff0c;确定需要改变几个位才能将整数A转成整数B。 示例1:输入&#xff1a;A 29 &#xff08;或者0b11101&#xff09;, B 15&#xff08;或者0b01111&#xff09;输出&#xff1a;2示例2:输入&#xff1a;A 1&#xff0c;B 2输出&am…

论文模型构建的步骤_【论文分享】AiR:具有推理能力的注意力模型框架

大家好&#xff0c;今天我们分享一篇来自于ECCV 2020的论文《AiR: Attention with Reasoning Capability》。这篇论文主要研究的是在视觉推理过程中&#xff0c;人和机器的注意力在时域上的渐进变化。论文代码​github.com一. 论文的动机现有的工作在视觉任务中&#xff0c;例如…

第一次Blog

没有经验请多关照转载于:https://www.cnblogs.com/oiramario/archive/2005/10/18/257414.html

这可能是中国最穷的211大学!连研究生奖学金都发不起了....

源 | 募格学术万万没想到曾经因为“穷”而登上了微博热搜榜的西北大学。最近又因为“没钱”惹的祸而闯上了风口浪尖....近日&#xff0c;西北大学因研究生奖学金发放问题引发关注。起因是临近开学&#xff0c;西北大学通知调整奖学金发放政策&#xff0c;不仅取消了考研新生的奖…