Team up GBDTs and DNNs: Advancing Efficient and Effective Tabular Prediction with Tree-hybrid MLPs

核心思想

融合GBDT和DNN优势,提出高效表格数据预测框架T-MLP。

论文概述

虽然深度模型在各个领域大放光彩,但在表格数据领域,树模型(GBDT)和深度模型(DNN)谁更胜一筹仍在上演龙虎之争!特别是在Kaggle等数据科学竞赛平台上,树模型仍常位居榜首。工业界,深度模型在各个岗位上发光发热,但仍少不了一些树模型在某些角落打螺丝。

GBDT和DNN各有其优势和缺点。

模型 优势 不足
GBDT 1.对数据分布和特征交互有较好的适应性,在表格预测任务中出色且高效,随便一搞就是一个不错的基线。
2.低资源要求,可解释性好。
1.比较依赖特征工程。
2.在大规模表格数据下,推理延迟显著增加。
3.难以应用现有的优化算法。
DNN 1. 拥有高维特征空间,能够挖掘复杂的特征交互,在复杂数据场景中优势明显。
2. 模型表达能力强,理论上可以拟合任何函数关系。
1.容易过参数化,在小数据集上容易出现过拟合现象。
2.训练成本高:计算资源 + 训练时间。

针对这些问题,论文提出了Tree-hybrid MLP(T-MLP)方法,其核心思想是结合GBDT的特征选择和模型集成优势与DNN的高维特征空间和光滑优化特性,通过张量化GBDT特征门、DNN架构剪枝和反向传播协同训练MLP模型,以实现高效、有效的表数据预测。

方法介绍

具体来说,T-MLP包括以下几个关键步骤或模块:

  1. GBDT特征门控(GBDT Feature Gate,GFG)】

    先用GBDT在训练数据上学习一遍得到一个树模型,再利用这个树模型获得特征频率来选择对当前样本最重要的特征,通过张量化操作将GBDT的决策过程融入到DNN中,实现样本特定的特征选择。

  2. 纯MLP基本块(Pure MLP Basic Block) :采用简化版的MLP结构,通过空间门控单元(SGU)实现特征间的交互,保持模型的紧凑性。

  3. DNN架构剪枝(DNN Architecture Pruning) :借鉴GBDT的预剪枝思想,通过DNN剪枝技术减少模型参数,提高模型的泛化能力和训练效率。

实验分析

论文中也对比了不同模块的重要性,特地对比了使用神经网络门控,依然有一定效果。

另外一个有趣的实验是分析了不同模型的决策边界(FT-T表示FT-Transformer)。通过在两个数据集上的例子可以看出树模型和深度模型决策边界的明显区别:树模型决策边界通常是垂直的,深度模型是很光滑的(这也是深度模型容易过拟合的原因——拟合的太好了)。T-MLP看起来兼具了两者的特点,既有大致的垂直也有较光滑的边界。

结论

内核感觉就是特征权重,只是权重来源于树模型,有点像经典的GBDT+LR的方法。

不失为打比赛时的一种选择哦~

FunPapers[1]: GBDT和DNN强强联手,表格预测新突破!的更多相关文章

  1. 【可视化】DataV接入ECharts图表库 可视化利器强强联手

    DataV接入ECharts图表库 可视化利器强强联手 摘要: 两个扛把子级产品的结合,而且文末有彩蛋. DataV 数据可视化是搭建每年天猫双十一作战大屏的幕后功臣,ECharts 是广受数据可视化 ...

  2. DOM给表格添加新一行和删除整个行的内容

    DOM用appendChild()给表格添加新一行时,要注意,在HTML中没特别设置<thead>,<tbody>时,会自动添加上,所以要选择表格第一个元素在添加tr. // ...

  3. OKR与Scrum如何强强联手

    我们收到很多问题询问如何把OKR和其他框架结合起来使用,以便管理组织的人员.流程和活动. 软件开发公司最喜欢用的框架之一就是Scrum,Scrum是一个诞生于20世纪90年代的软件开发框架,我们公司内 ...

  4. ChatGPT 与 Midjourney 强强联手,让先秦阿房宫重现辉煌!

    Midjourney 是一款非常特殊的 AI 绘画聊天机器人,它并不是软件,也不用安装,而是直接搭载在 Discord 平台之上,所有的功能都是通过调用 Discord 的聊天机器人程序实现的.要想使 ...

  5. Javascript/jQuery根据页面上表格创建新汇总表格

    任务背景及需求 按页面上的现成表格,用js生成新的统计表格如下: 实现思路 1,把表格数据抽取出来生成json数组 2,计算表格总数并创建空表格 3,历遍json数组把数据动态插入所有的表格,设值/a ...

  6. chapter02 三种决策树模型:单一决策树、随机森林、GBDT(梯度提升决策树) 预测泰坦尼克号乘客生还情况

    单一标准的决策树:会根每维特征对预测结果的影响程度进行排序,进而决定不同特征从上至下构建分类节点的顺序.Random Forest Classifier:使用相同的训练样本同时搭建多个独立的分类模型, ...

  7. NPOI word文档表格在新的文档中多次使用

    最近有一个项目,涉及到文档操作,有一个固定的模版,模版中有文字和表格,表格会在新的文档中使用n多次 //获取模版中的表格FileStream stream = new FileStream(strPa ...

  8. 苹果HomeKit联手海尔的三大原因

    2014已成智能家居元年,无论是资本市场还是巨头企业无不把触角向这一领域延伸.刚有人称,智能家居将成三星和谷歌对决,但不成想,前几天的苹果WWDC大会上,苹果就发布了自家的智能家居平台HomeKit. ...

  9. Apache Log4j 2 报高危漏洞,CODING 联手腾讯安全护卫软件安全

    导语 12 月 9 日晚间,Apache Log4j 2 发现了远程代码执行漏洞,恶意使用者可以通过该漏洞在目标服务器上执行任意代码,危害极大. 腾讯安全第一时间将该漏洞收录至腾讯安全漏洞特征库中,C ...

  10. DOM(七)使用DOM控制表格

    表格的css控制就先不说了,首先分享下表格常用的DOM 表格添加操作的方法常用的为insertRow()和insertCell()方法. row是从零开始计算起的,例如: var oTr = docu ...

随机推荐

  1. 版本管理客户端工具SourceTree

    [使用] 1.设置SSH客户端 工具 > 选项 设置OpenSSH, SSH 密钥这一栏自然会去选择当前用户下的 .ssh 目录下的 id_rsa 这个私钥:

  2. elementUI 选择开始结束日期加限制

    需求是开始结束日期不得大于当前时间,当开始日期发生变化时,结束日期不得小于开始日期且不得大于当前日期 <el-form-item label="开始日期:"> < ...

  3. cajviewer逆向分析-HN文件格式分析和010editor模板开发

    文章首发于 https://mp.weixin.qq.com/s/7STPL-2nCUKC3LHozN6-zg 概述 本文介绍对cajviewer中对HN文件格式的逆向分析并介绍如何编写相应的010e ...

  4. windows安装gitbook并部署发布到openEuler欧拉服务器

    1. 安装nodejs10 下载安装nvm https://github.com/coreybutler/nvm-windows/releases/download/1.1.9/nvm-setup.e ...

  5. R数据分析:临床研究样本量计算、结果解读与实操

    很久之前给大家写过一篇文章详细介绍了样本量计算的底层逻辑,不过那篇文章原理是依照卡方比较来写的,可以拓展到均值比较,但视角还是比较小,今天从整个临床研究的角度结合具体的例子谈谈大家遇到的样本量的计算方 ...

  6. 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算

    目录 简介 Python Code 导包 设置首页 计算的接口 问题0:设置请求方式 问题1:关于接收数据可能存在的问题 问题2:返回结果 启动 完整代码 HTML Code 问题分析 分析:获取下拉 ...

  7. git log 常用方法

    • git log --all 查看所有分支的历史• git log --all --graph 查看图形化的 log 地址• git log --oneline 查看单行的简洁历史.• git lo ...

  8. Powercat 无文件落地执行技巧,你确定不进来看看?

    声明:本文主要用作技术分享,所有内容仅供参考.任何使用或依赖于本文信息所造成的法律后果均与本人无关.请读者自行判断风险,并遵循相关法律法规. 目录 完整示例 注意事项 演示 无文件落地执行(filel ...

  9. 哪里有 class 告诉我?

    说明 本文中的 JVM 参数和代码在 JDK 8 版本生效. 哪里有用户类? 用户类是由开发者和第三方定义的类,它是由应用程序类加载器加载的. Java 程序可以通过CLASSPATH 环境变量,JV ...

  10. Qt/C++开发经验小技巧281-285

    悬停窗体QDockWidget默认在标题栏右键会弹出悬停模块的显示隐藏菜单,如果需要去掉,会发现设置Qt::NoContextMenu或者事件过滤器拦截都是无效的,必须设置 dockWidget-&g ...