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框架图示如下
几种模型在三个方面(稀疏类别型特征、稠密数值型特征、在线更新和大规模数据)的对比如下
该模型的核心技巧之一即为,对叶节点进行嵌入表示,进而提高效率
数据集信息统计如下
几种模型的效果(分类问题利用AUC,回归问题利用MSE)对比如下
GBDT对应的论文为
Greedy function approximation: a gradient boosting machine. Annals of statistics, 2001
LightGBM对应的论文为
LightGBM: A highly efficient gradient boosting decision tree, NIPS 2017
代码地址
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随迭代次数变化趋势对比如下
DeepGBM比其他模型收敛更快,而且效果较好。
线上效果对比如下
线下实验数据分割机制如下
线上实验数据分割机制如下
一些超参数设置如下
代码地址
https://github.com/motefly/DeepGBM
您可能感兴趣