在表格数据上,为什么基于树的模型仍然优于深度学习?

简介: 在表格数据上,为什么基于树的模型仍然优于深度学习?
为什么基于树的机器学习方法,如 XGBoost 和随机森林在表格数据上优于深度学习?本文给出了这种现象背后的原因,他们选取了 45 个开放数据集,并定义了一个新基准,对基于树的模型和深度模型进行比较,总结出三点原因来解释这种现象。


深度学习在图像、语言甚至音频等领域取得了巨大的进步。然而,在处理表格数据上,深度学习却表现一般。由于表格数据具有特征不均匀、样本量小、极值较大等特点,因此很难找到相应的不变量。

基于树的模型不可微,不能与深度学习模块联合训练,因此创建特定于表格的深度学习架构是一个非常活跃的研究领域。许多研究都声称可以击败或媲美基于树的模型,但他们的研究遭到很多质疑。

事实上,对表格数据的学习缺乏既定基准,这样一来研究人员在评估他们的方法时就有很多自由度。此外,与其他机器学习子域中的基准相比,大多数在线可用的表格数据集都很小,这使得评估更加困难。

为了缓解这些担忧,来自法国国家信息与自动化研究所、索邦大学等机构的研究者提出了一个表格数据基准,其能够评估最新的深度学习模型,并表明基于树的模型在中型表格数据集上仍然是 SOTA。

对于这一结论,文中给出了确凿的证据,在表格数据上,使用基于树的方法比深度学习(甚至是现代架构)更容易实现良好的预测,研究者并探明了其中的原因。

论文地址:https://hal.archives-ouvertes.fr/hal-03723551/document

值得一提的是,论文作者之一是 Gaël Varoquaux ,他是 Scikit-learn 计划的领导者之一。目前该项目在 GitHub 上已成为最流行的机器学习库之一。而由 Gaël Varoquaux 参与的文章《Scikit-learn: Machine learning in Python》,引用量达 58949。

本文贡献可总结为:

该研究为表格数据创建了一个新的基准(选取了 45 个开放数据集),并通过 OpenML 共享这些数据集,这使得它们易于使用。

该研究在表格数据的多种设置下比较了深度学习模型和基于树的模型,并考虑了选择超参数的成本。该研究还分享了随机搜索的原始结果,这将使研究人员能够廉价地测试新算法以获得固定的超参数优化预算。

在表格数据上,基于树的模型仍然优于深度学习方法

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

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

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

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

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

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

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

删除过于简单的数据集。

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

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

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

图 1 和图 2 给出了不同类型数据集的基准测试结果

实证调查:为什么基于树的模型在表格数据上仍然优于深度学习

归纳偏差。基于树的模型在各种超参数选择中击败了神经网络。事实上,处理表格数据的最佳方法有两个共有属性:它们是集成方法、bagging(随机森林)或 boosting(XGBoost、GBT),而这些方法中使用的弱学习器是决策树。

发现 1:神经网络(NN)倾向于过度平滑的解决方案
如图 3 所示,对于较小的尺度,平滑训练集上的目标函数会显着降低基于树的模型的准确率,但几乎不会影响 NN。这些结果表明,数据集中的目标函数并不平滑,与基于树的模型相比,NN 难以适应这些不规则函数。这与 Rahaman 等人的发现一致,他们发现 NN 偏向于低频函数。基于决策树的模型学习分段(piece-wise)常函数,没有这样的偏置。

发现 2:非信息特征更能影响类似 MLP 的 NN


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

图 5 可以看到移除非信息特征 (5a) 减少了 MLP (Resnet) 与其他模型(FT Transformers 和基于树的模型)之间的性能差距 ,而添加非信息特征会扩大差距,这表明 MLP 对非信息特征的鲁棒性较差。在图 5a 中,当研究者移除更大比例的特征时,相应的也会删除有用信息特征。图 5b 表明,去除这些特征所带来的准确率下降可以通过去除非信息特征来补偿,与其他模型相比,这对 MLP 更有帮助(同时,该研究还删除了冗余特性,也不会影响模型性能)。


发现 3:通过旋转,数据是非不变的

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

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


原文链接:https://twitter.com/GaelVaroquaux/status/1549422403889

相关文章
|
5月前
|
机器学习/深度学习 算法 定位技术
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
本项目基于YOLOv8模型与C#界面,结合Baumer工业相机,实现裂缝的高效检测识别。支持图像、视频及摄像头输入,具备高精度与实时性,适用于桥梁、路面、隧道等多种工业场景。
626 27
|
4月前
|
机器学习/深度学习 数据可视化 算法
深度学习模型结构复杂、参数众多,如何更直观地深入理解你的模型?
深度学习模型虽应用广泛,但其“黑箱”特性导致可解释性不足,尤其在金融、医疗等敏感领域,模型决策逻辑的透明性至关重要。本文聚焦深度学习可解释性中的可视化分析,介绍模型结构、特征、参数及输入激活的可视化方法,帮助理解模型行为、提升透明度,并推动其在关键领域的安全应用。
435 0
|
3月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
207 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
2月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
5月前
|
机器学习/深度学习 人工智能 PyTorch
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
本文以 MNIST 手写数字识别为切入点,介绍了深度学习的基本原理与实现流程,帮助读者建立起对神经网络建模过程的系统性理解。
649 15
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
|
3月前
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
247 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
AI 基础知识从 0.3 到 0.4——如何选对深度学习模型?
本系列文章从机器学习基础出发,逐步深入至深度学习与Transformer模型,探讨AI关键技术原理及应用。内容涵盖模型架构解析、典型模型对比、预训练与微调策略,并结合Hugging Face平台进行实战演示,适合初学者与开发者系统学习AI核心知识。
502 15
|
10月前
|
机器学习/深度学习 数据采集 自然语言处理
深度学习实践技巧:提升模型性能的详尽指南
深度学习模型在图像分类、自然语言处理、时间序列分析等多个领域都表现出了卓越的性能,但在实际应用中,为了使模型达到最佳效果,常规的标准流程往往不足。本文提供了多种深度学习实践技巧,包括数据预处理、模型设计优化、训练策略和评价与调参等方面的详细操作和代码示例,希望能够为应用实战提供有效的指导和支持。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习模型、算法与应用的全方位解析
深度学习,作为人工智能(AI)的一个重要分支,已经在多个领域产生了革命性的影响。从图像识别到自然语言处理,从语音识别到自动驾驶,深度学习无处不在。本篇博客将深入探讨深度学习的模型、算法及其在各个领域的应用。
1052 3
|
6月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
294 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统