向AI转型的程序员都关注了这个号👇👇👇
机器学习AI算法工程 公众号:datayx
随着深度神经网络的不断发展,DNN在图像、文本和语音等类型的数据上都有了广泛的应用,然而对于同样非常常见的一种数据——表格数据,DNN却似乎并没有取得像它在其他领域那么大的成功。参加过Kaggle等数据挖掘竞赛的同学应该都知道,对于采用表格数据的任务,基本都是决策树模型的主场,像XGBoost和LightGBM这类提升(Boosting)树模型已经成为了现在数据挖掘比赛中的标配。相比于DNN,这类树模型好处主要有:
而对于DNN,它的优势在于:
然而对于传统的DNN,一味地堆叠网络层很容易导致模型过参数化(overparametrized),导致DNN在表格数据集上表现并不尽如人意。因此,如果能够设计这样一种DNN,它既吸收了树模型的长处,又继承了DNN的优点,那么这样的模型无疑是针对于表格数据的一大利器,而这次介绍的论文就巧妙地设计出了这样的模型——TabNet,它在保留DNN的end-to-end和representation learning特点的基础上,还拥有了树模型的可解释性和稀疏特征选择的优点,这使得它在具备DNN优点的同时,在表格数据任务上也可以和目前主流的树模型相媲美,接下来我们就开始具体介绍TabNet。
既然想要让DNN具有树模型的优点,那么我们首先需要解决的一个问题就是:如何构建一个与树模型具有相似决策流形的神经网络?下图是一个决策树流形的简单示例。
为了理解起来比较容易,上面的那个神经网络构造得比较简单,作为一个加性模型它只有两步,Mask层是人为设置好的,特征计算用的也是一个简单的FC层,而接下来介绍的TabNet就对这些地方做了改进,它的基本结构如下所示。
前面提到了DNN的一个好处就是可以进行表征学习,而TabNet就应用了自监督学习的方法,通过encoder-decoder框架来获得表格数据的representation,从而也有助于分类和回归任务,如下图所示:
简单来说,我们认为同一样本的不同特征之间是有关联的,因此自监督学习就是先人为mask掉一些feature,然后通过encoder-decoder模型来对mask掉的feature进行预测。我们认为通过这样的方式训练出来的encoder模型,可以有效地将表征样本的feature(可以理解为对数据进行了编码或压缩),这时再将encoder模型由于回归或分类任务,就能够事半功倍。自监督学习时的encoder模型就是上图中的模型,decoder模型如下所示:
这里的encoded representation就是encoder中没有经过FC层的加和向量,将它作为decoder的输入,decoder同样利用了Feature transformer层,只不过这次的目的是将representation向量重构为feature,然后类似地经过若干个step的加和,得到最后的重构feature。
为了证明TabNet确实具有上文中提到的种种优点,这篇文章在不同的数据集上进行了各种类型的实验,这里只介绍一部分,其它实验以及具体实验细节可以看论文原文,写得也很详细。
这个模型的代码:
tensorflow版本的代码
https://github.com/google-research/google-research/tree/master/tabnet
2. 真实数据集
Forest Cover Type:这个数据集是一个分类任务——根据cartographic变量来对森林覆盖类型进行分类,实验的baseline采用了如XGBoost等目前主流的树模型、可以自动构造高阶特征的AutoInt、以及AutoML Tables这种用了神经网络结构搜索 (Neural Architecture Search)的强力模型(node hours的数量反映了模型的复杂性),对比结果如下:
Higgs Boson:这是一个物理领域的数据集,任务是将产生希格斯玻色子的信号与背景信号分辨开来,由于这个数据集很大,因此DNN比树模型的表现更好,下面是对比结果,其中Sparse evolutionary MLP应用了目前最好的evolutionary sparsification算法,能够有效减小原始MLP模型的大小,不过可以看出,和它大小相近的TabNet-S的性能也只是稍弱一点,这说明轻量级的TabNet表现依旧很好。
3. 可解释性
4. 自监督学习
前面已经提到了,自监督学习可以提高模型的小样本学习能力,还能加快模型的收敛速度。为了验证这一点,这里我们采用Higgs Boson数据集,其中用全部样本来做自监督学习(pre-training),而只用部分样本做监督学习(fine-tuning),该方法与直接全样本监督学习的对比结果如下所示:
从结果中可以看出,通过自监督学习进行预训练之后,模型的收敛速度明显更快,小样本学习的结果也变得更好。
这篇论文提出的TabNet是一种针对于表格数据的神经网络,它通过类似于加性模型的顺序注意力机制(sequential attention mechanism)实现了instance-wise的特征选择,还通过encoder-decoder框架实现了自监督学习,从而将树模型的可解释性与DNN的表征能力很好地结合到了一起,相信这种兼具两者优点的模型将会成为数据挖掘竞赛中的一大利器,也对未来的研究提供了一个很好的思路。
[1] TabNet: Attentive Interpretable Tabular Learning
https://arxiv.org/abs/1908.07442
机器学习算法AI大数据技术
搜索公众号添加: datanlp
长按图片,识别二维码
阅读过本文的人还看了以下文章:
基于40万表格数据集TableBank,用MaskRCNN做表格检测
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx