XGBoost + LR 就是加特征而已

LR (逻辑回归) 算法因其简单有效,成为工业界最常用的算法之一。但 LR 算法是线性模型,不能捕捉到非线性信息,需要大量特征工程找到特征组合。为了发现有效的特征组合,Facebook 在 2014年介绍了通过 GBDT (Gradient Boost Decision Tree)+ LR 的方案 [1] (XGBoost 是 GBDT 的后续发展)。随后 Kaggle 竞赛实践证明此思路的有效性 [2][3]。

1. XGBoost + LR 的原理

XGBoost + LR 融合方式原理很简单。先用数据训练一个 XGBoost 模型,然后将训练数据中的实例给 XGBoost 模型得到实例的叶子节点,然后将叶子节点当做特征训练一个 LR 模型。XGBoost + LR 的结构如下所示。

我第一接触到 XGBoost + LR 的时候,认为 XGBoost + LR 是尝试自动替代特征工程的方法。深度学习在 CTR 领域便是在讲述这样的故事和逻辑:只需人工对原始特征进行简单的变换,深度学习能取的比大量人工特征的 LR 好的效果。

2. XGBoost 叶子节点不能取代特征工程

为了验证 XGBoost + LR 是尝试自动替代特征工程的方法,还只是一种特征工程的方法,我们在自己业务的数据上做了一些实验。下图便是实验结果,其中: “xgboost+lr1″ 是 XGBoost 的叶子节点特征、原始属性特征和二阶交叉特征一起给 LR 进行训练;”xgboost+lr2″ 则只有叶子节点特征给 LR;”lr1″ 是原始属性特征和二阶交叉特征; “lr2” 只有原始属性特征。

从上面的实验来看:1) “xgboost+lr2” 明显弱于 “lr1” 方法,说明只用叶子节点特征的 XGBoost + LR 弱于有特征工程的 LR 算法。即 XGBoost 叶子节点不能取代特征工程,XGBoost + LR 无法取代传统的特征工程。2) “xgboost+lr1” 取得了所有方法中的最好效果,说明了保留原来的特征工程 XGBoost + LR 方法拥有比较好的效果。即 XGBoost 叶子节点特征是一种有效的特征,XGBoost + LR 是一种有效的特征工程手段。

上面的实验结果和我同事二哥之前的实验结果一致。在他实验中没有进行二阶交叉的特征工程技巧,结果 XGBoost > XGBoost + LR > LR,其中 XGBoost +LR 类似我们的 “xgboost+lr2” 和 LR 类似于我们的 “lr2″。

3. 强大的 XGBoost

只用 XGBoost 叶子节点特征, XGBoost + LR 接近或者弱于 XGBoost 。在下图中,我们发现 XGBoost 的每个叶子节点都有权重 w, 一个实例的预测值和这个实例落入的叶子节点的权重之和有关。

如果二分类 XGBoost 使用了 sgmoid 做激活函数, 即参数为 “binary:logistic”, 则 XGBoost 的最终预测值等于 sgmoid(叶子节点的权重之和)。而 LR 的最终预测值等于 sgmoid (特征对应的权重之后)。因此 LR 只要学到叶子节点的权重,即可以将 XGBoost 模型复现出来。因此理论上,如果 LR 能学到更好的权重,即使只有叶子节点特征的 XGBoost + LR 效果应该好于 XGBoost。

但是从上面的结果来看,XGBoost + LR 要接近或者弱于 XGBoost。XGBoost 赋予叶子节点的权重是很不错的,LR 学到的权重无法明显地超过它。

4. 总结

XGBoost + LR 在工业和竞赛实践中,都取得了不错的效果。但 XGBoost 的叶子节点不能完全替代人工特征, XGBoost + LR 并没有像深度学习那样试图带来自动特征工程的故事和逻辑。最终,XGBoost + LR 的格局没有超越特征工程。

参考文献

[1].He X, Pan J, Jin O, et al. Practical lessons from predicting clicks on ads at facebook[C]. Proceedings of 20th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. ACM, 2014: 1-9. [2].http://www.csie.ntu.edu.tw/~r01922136/Kaggle-2014-criteo.pdf [3].https://github.com/guestwalk/Kaggle-2014-criteo

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏窦凯丽的专栏

【 SPA大赛 】关于数据挖掘的理论与实践

这是我第一次参加数据挖掘类的比赛,幸运的是在比赛中认识了两个小伙伴,能够一起讨论,分享,得出成果,对我来说,受益良多。下面按照数据挖掘过程:数据预处理、特征工程...

45600
来自专栏人工智能

深度学习的局限性

本文改编自我的书"Deep Learning with Python(用Python深度学习)"中第9章第2节( Manning Publications 出版...

616110
来自专栏新智元

以色列神秘AI研究力量:深度学习的四大失败

【新智元导读】深度学习力量强大,但无论是理论研究者还是实际从业者,了解深度学习的局限也是十分重要的。耶路撒冷希伯来大学的一组研究人员,其中有两位任职于 Mobi...

44580
来自专栏深度学习思考者

图像处理之灰度模糊图像与彩色清晰图像的变换

  针对模糊图像的处理,个人觉得主要分两条路,一种是自我激发型,另外一种属于外部学习型。接下来我们一起学习这两条路的具体方式。 第一种 自我激发型   基于图像...

37290
来自专栏PPV课数据科学社区

先搞懂这八大基础概念,再谈机器学习入门!

翻译 | AI科技大本营 参与 | 林椿眄 准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时...

27580
来自专栏数据科学与人工智能

人工智能、机器学习和深度学习是什么?

人工智能、机器学习与深度学习,每天都有它们的新闻。包括新的技术、新的应用、新的挑战、新的机遇。 人人都在谈,人人都在看,那究竟什么是人工智能、机器学习与深度学习...

38660
来自专栏企鹅号快讯

先搞懂这八大基础概念,再谈机器学习入门!

翻译 | AI科技大本营 参与 |林椿眄 准备好开始AI了吗?可能你已经开始了在机器学习领域的实践学习,但是依然想要扩展你的知识并进一步了解那些你听过却没有时间...

25480
来自专栏机器之心

学界 | 深度学习算法全景图:从理论证明其正确性

选自arXiv 机器之心编译 参与:蒋思源、黄小天 ? 论文地址:https://arxiv.org/abs/1705.07038 本论文通过理论分析深度神经...

33250
来自专栏人工智能头条

由一只猫看深度学习面临哪些挑战?

我们要面对的可不仅仅是这样一只蹲在我们面前可爱的小猫,在实际中有着很多的可能性,比如光照强度,遮蔽程度,角度等等,这些就成为了我们深度学习任务的一个极大的挑战。

8520
来自专栏数值分析与有限元编程

逆迭代法求矩阵特征值

前面提到,幂迭代法用于求矩阵的主特征值以及对应的特征向量。如果把幂迭代用于这个矩阵的逆矩阵,那么就能求得最小的特征值。来看下面的定理: 设n阶矩阵A的特征值用λ...

45560

扫码关注云+社区

领取腾讯云代金券