专栏首页AI科技大本营的专栏周末漫谈|XGBoost与深度学习到底孰优孰劣?都说XGBoost好用,为什么名气总不如深度学习?

周末漫谈|XGBoost与深度学习到底孰优孰劣?都说XGBoost好用,为什么名气总不如深度学习?

来源|Quora

整理|AI100

AlphaGo大战柯洁、李世石后,所有人都能谈上几句深度学习。人工智能在围棋上的这场突破,最终还要归功于机器学习三巨头三十年如一日的长期研究。

相比之下,横扫Kaggle大赛的XGBoost(去年的29个获奖方案中,有17个是用XGBoost),名气可就小太多了。更何况,它的发起人还只是个名不见经传的年轻人。

有人打抱不平说,XGBoost要比深度学习更重要,这一点毫无疑问。

因为它好用,在很多情况下都更为可靠、灵活,而且准确;在绝大多数的回归和分类问题上,XGBoost的实际表现都是顶尖的。

当然,不买账的人也不少。

某Quora就撰文到,针对非常要求准确度的那些问题,XGBoost确实很有优势,同时它的计算特性也很不错。然而,相对于支持向量机、随机森林或深度学习,XGBoost的优势倒也没到那种夸张的程度。特别是当你拥有足够的训练数据,并能找到合适的深度神经网络时,深度学习的效果就明显能好上一大截。

还有用户打趣说,XGBoost的名气坏在它的名字上,深度学习一听就非常高大上,XGBoost再怎么包装也是书呆子气十足。

那么,XGBoost的发起人又是怎么说的呢?

XGBoost的发起人——陈天奇博士,他并不认可将深度学习和XGBoost截然对立起来。他谈到,这两种方法在其各自擅长领域的性能表现都非常好:

  • XGBoost专注于模型的可解释性,而基于人工神经网络的深度学习,则更关注模型的准确度。
  • XGBoost更适用于变量数较少的表格数据,而深度学习则更适用于图像或其他拥有海量变量的数据。

到底,XGBoost与深度学习孰优孰劣?

陈天奇在Quora上的解答如下:

不同的机器学习模型适用于不同类型的任务。深度神经网络通过对时空位置建模,能够很好地捕获图像、语音、文本等高维数据。而基于树模型的XGBoost则能很好地处理表格数据,同时还拥有一些深度神经网络所没有的特性(如:模型的可解释性、输入数据的不变性、更易于调参等)。 这两类模型都很重要,并广泛用于数据科学竞赛和工业界。举例来说,几乎所有采用机器学习技术的公司都在使用tree boosting,同时XGBoost已经给业界带来了很大的影响。 作为一名机器学习研究者,我一直在用深度学习和XGBoost。我相信,我们需要全面理解每一种模型,并能选出最适合你当前任务的那个。XGBoost、深度神经网络与其他经常要用的机器学习算法(如因子分解机、logistic回归分析等),值得机器学习行业的每一位从业者关注。这里没有一药能解百病的说法。

既然提到XGBoost在业界已经有广泛的应用,那么到底又有哪些呢?

XGBoost实际用例不完全列表

dmlc/xgboost(https://github.com/dmlc/xgboost/tree/master/demo#usecases)

  • 使用XGBoost的Kaggle获奖方案可在这里找到 https://www.kaggle.com/kernels
  • 使用XGBoost的Seldon预测服务Iris http://docs.seldon.io/iris-demo.html
  • XGBoost的分布式版本被用于阿里云大数据计算服务ODPS https://yq.aliyun.com/articles/6355
  • 使用XGBoost的Graphlab Create
  • 腾讯数据平台把分布式版本的XGBoost用于微信内的购买点击预测
  • 汽车之家把分布式版本的XGBoost用于展示广告的点击率预测

谈了XGBoost的应用范围,再来客观聊聊XGBoost的性能。说到性能,就不得不说到它的一个突出特点——运行很快。

XGBoost运行很快

至于它为什么这么快,有人说C++和并行计算是主要原因,而陈天奇则一针见血说到,性能原本就是XGBoost最初的设计目标:

比如:

  • 内存优化,大部分的内存分配在第一次加载中就完成了,之后便不再涉及动态内存分配的问题。
  • 缓存线优化,训练模式尽可能善用缓存机制。
  • 模型自身的改善,我们开发出模型的各种变体,从而令算法本身更具强健性、更加准确。详见:Introduction to Boosted Trees(http://xgboost.readthedocs.org/en/latest/model.html) 。

另外,性能不仅仅意味着速度上的提升,在资源有限情况下你仍能对大型数据集使用该算法:

  • 我们不断探索该工具的极限,以最大限度地利用计算资源,让你在一个节点上就能运行多个实例。
  • 使用扩展内存的版本,允许数据存在硬盘上,不必把所有数据导入内存。
  • 分布式版本对XGBoost的每一个节点都进行过优化,让你可以有效地在更少节点上处理更大的数据集。

稀稀拉拉扯了这么多,您对XGBoost是什么观点呢?相比深度学习,XGBoost有什么优势和缺陷呢?欢迎在留言区写下你的宝贵观点哦。

原文链接: https://www.quora.com/Why-is-xgboost-given-so-much-less-attention-than-deep-learning-despite-its-ubiquity-in-winning-Kaggle-solutions https://github.com/dmlc/xgboost/tree/master/demo#usecases https://www.quora.com/What-makes-xgboost-run-much-faster-than-many-other-implementations-of-gradient-boosting

本文分享自微信公众号 - AI科技大本营(rgznai100)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-03

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 结构化数据上的机器学习大杀器XGBoost

    XGBoost是一个机器学习算法工具,它的原理本身就并不难理解,而且你并不需要彻底搞懂背后的原理就能把它用得呼呼生风。 它的威力有多强? 自从2014年9月份在...

    AI科技大本营
  • 课程 | 8小时搞定机器学习之概率与统计推断

    还记得我们的《XGBoost从基础到实战》吗?没错,我们的美女老师冒老师要开新课啦~~~专门为你排忧解难,解决各大数学问题——《机器学习之概率与统计推断》在等你...

    AI科技大本营
  • AI一分钟|亚马逊回应中国代工厂违规事件;特斯拉将开启全自动驾驶功能;小米CDR招股书看点

    据英国《卫报》、China Labor Watch 等外媒日前曝光了亚马逊的中国 Echo 智能音箱代工厂存在违规行为, 外媒报道称,衡阳富士康工厂在生产亚马逊...

    AI科技大本营
  • XGBoost资料汇总,以及它背后的故事

    近来,群中有几个小伙伴想要公号推送XGBoost的相关内容,去年我在学习XGBoost时写过几篇笔记(恕我当时理解的浅显):

    double
  • 结构化数据上的机器学习大杀器XGBoost

    XGBoost是一个机器学习算法工具,它的原理本身就并不难理解,而且你并不需要彻底搞懂背后的原理就能把它用得呼呼生风。 它的威力有多强? 自从2014年9月份在...

    AI科技大本营
  • 【推荐收藏】带你撸一遍 XGBoost论文

    XGBoost作为一个非常常用的算法,我觉得很有必要了解一下它的来龙去脉,于是抽空找了一些资料,主要包括陈天奇大佬的论文以及演讲PPT,以及网络上的一些博客文章...

    石晓文
  • 集成学习经典算法之XGBoost

    在算法圈,相信大家对XGBoost的大名早有耳闻,在CTR广告点击预估中更是炙手可热的大神器,接下来我就给大家简单介绍下,XGBoost到底是何方神圣?

    用户7569543
  • 【推荐收藏】带你撸一遍 XGBoost论文

    XGBoost作为一个非常常用的算法,我觉得很有必要了解一下它的来龙去脉,于是抽空找了一些资料,主要包括陈天奇大佬的论文以及演讲PPT,以及网络上的一些博客文章...

    Sam Gor
  • 小巧玲珑:机器学习届快刀XGBoost的介绍和使用

    XGBoost的全称为 eXtreme Gradient Boosting,是GBDT的一种高效实现,XGBoost中的基学习器除了可以是CART(gbtree...

    张萌
  • 第 02 课:XGBoost 简介

    XGBoost 是为速度和表现而设计的梯度提升决策树的实现。 XGBoost 代表e X treme G radient Boosti ng。 它由陈天琪开...

    PM小王

扫码关注云+社区

领取腾讯云代金券