新型在线预测模型DeepGBM(基于GBDT扩展的深度学习框架)

DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks

Guolin Ke, Zhenhui Xu, Jia Zhang, Jiang Bian, Tie-Yan Liu

Microsoft Research, Peking University

KDD 2019

http://delivery.acm.org/10.1145/3340000/3330858/p384-ke.pdf

在线预测在很多实际应用中起着非常重要的作用。典型在线预测任务有两个特点,其一即为表格形式的输入空间,其二即为在线的数据生成。表格形式的输入空间,意味着其中既有比较稀疏的类别型特征,又有比较稠密的数值型特征;在线的数据生成,暗含着任务以指数动态分布的形式产生连续的数据。

既能比较有效的处理表格形式的输入空间,又可以比较快的自适应到在线的数据生成中,成为在线预测模型中的两大重要挑战。虽然梯度提升决策树(GBDT)和神经网络在实际中广泛应用,但是二者皆有其劣势。比如,GBDT很难应用于线上动态生成的数据,而且在应对比较稀疏的特征时很难取得较好的效果;同时,对于神经网络,该模型在应对稠密数值特征时很难取得好效果。

本文提出一种新的学习框架,DeepGBM,该框架能够集成神经网络和GBDT的优势,其中包含了两种神经网络,一种是CatNN,这种网络集中处理稀疏类别型特征,另一种是GBDT2NN,这种模型集中处理数值型特征,其中借助从GBDT提取到的知识。得益于这两种神经网络,DeepGBM既可以处理类别特征,又可以处理数值型特征,同时保证高效的在线更新。

在多个公开数据集上的大量实验表明,DeepGBM在多个在线预测任务上的效果优于其他比较好的基准模型。

DeepGBM框架图示如下

640?wx_fmt=png

几种模型在三个方面(稀疏类别型特征、稠密数值型特征、在线更新和大规模数据)的对比如下

640?wx_fmt=png

该模型的核心技巧之一即为,对叶节点进行嵌入表示,进而提高效率

640?wx_fmt=png

数据集信息统计如下

640?wx_fmt=png

几种模型的效果(分类问题利用AUC,回归问题利用MSE)对比如下

640?wx_fmt=png

GBDT对应的论文为

Greedy function approximation: a gradient boosting machine. Annals of statistics, 2001

LightGBM对应的论文为

LightGBM: A highly efficient gradient boosting decision tree, NIPS2017

代码地址

https://github.com/microsoft/LightGBM

DeepFM对应的论文为

Deepfm: a factorization-machine based neural network for ctr prediction, IJCAI 2017

代码地址

https://github.com/ChenglongChen/tensorflow-DeepFM

https://github.com/SongDark/DeepFM_keras

https://github.com/nzc/dnn_ctr/blob/master/model/DeepFM.py

https://github.com/chenxijun1029/DeepFM_with_PyTorch

xDeepFM对应的论文为

xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems,KDD 2018

代码地址

https://github.com/batch-norm/xDeepFM

Wide & Deep对应的论文为

Wide & deep learning for recommender systems,DLRS 2016

代码地址

https://github.com/ichuang/tflearn_wide_and_deep

https://github.com/tensorflow/models/tree/master/official/wide_deep

https://github.com/jrzaurin/Wide-and-Deep-Keras

PNN对应的论文为

Product-based neural networks for user response prediction, ICDM 2016

代码地址

https://github.com/Atomu2014/product-nets

https://github.com/Atomu2014/product-nets-distributed

FM对应的论文为

Factorization machines,ICDM 2016

代码地址

https://github.com/coreylynch/pyFM

https://github.com/babakx/fm_tensorflow

AUC随迭代次数变化趋势对比如下

640?wx_fmt=png

DeepGBM比其他模型收敛更快,而且效果较好。

线上效果对比如下

640?wx_fmt=png

线下实验数据分割机制如下

640?wx_fmt=png

线上实验数据分割机制如下

640?wx_fmt=png

一些超参数设置如下

640?wx_fmt=png

640?wx_fmt=png

代码地址

https://github.com/motefly/DeepGBM


              smiley_12.png我是分割线smiley_12.png


您可能感兴趣


版权声明:本文为hestendelin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。