码迷,mamicode.com
首页 > 其他好文 > 详细

XGBoost VS 深度学习

时间:2018-08-28 11:24:47      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:bsp   intro   机器学习算法   硬盘   不同类   行业   节点   分解   内存优化   

观点1:XGBoost要比深度学习更重要。2016年Kaggle大赛29个获奖方案中,17个用了XGBoost。因为它好用,在很多情况下都更为可靠、灵活,而且准确;在绝大多数的回归和分类问题上,XGBoost的实际表现都是顶尖的。

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

观点3:深度学习和XGBoost并不截然对立(XGBoost发起人-陈天奇博士)。两种方法在其各自擅长领域的性能表现都非常好:

  • XGBoost专注于模型的可解释性,而基于人工神经网络的深度学习,则更关注模型的准确度。

  • XGBoost更适用于变量数较少的表格数据,而深度学习则更适用于图像或其他拥有海量变量的数据。

不同的机器学习模型适用于不同类型的任务:
  • 深度神经网络通过对时空位置建模,能够很好地捕获图像、语音、文本等高维数据。
  • 基于树模型的XGBoost则能很好地处理表格数据,同时还拥有一些深度神经网络所没有的特性(如:模型的可解释性、输入数据的不变性、更易于调参等)。

这两类模型都很重要,并广泛用于数据科学竞赛和工业界。我们需要全面理解每一种模型,并能选出最适合你当前任务的那个。XGBoost、深度神经网络与其他经常要用的机器学习算法(如因子分解机、logistic回归分析等),值得机器学习行业的每一位从业者关注。这里没有一药能解百病的说法。

XGBoost性能:
1)运行很快:   1.内存优化,大部分的内存分配在第一次加载中就完成了,之后便不再涉及动态内存分配的问题;   2.缓存线优化,训练模式尽可能善用缓存机制;   3.模型自身的改善,我们开发出模型的各种变体,从而令算法本身更具强健性、更加准确 - Introduction to Boosted Trees(http://xgboost.readthedocs.org/en/latest/model.html);   4.C++和并行计算。
2)在资源有限情况下仍能适用于大型数据集:   1.不断探索该工具的极限,以最大限度地利用计算资源,使得在在一个节点上就能运行多个实例;   2.使用扩展内存的版本,允许数据存在硬盘上,不必把所有数据导入内存;   3.分布式版本对XGBoost的每一个节点都进行过优化,可以有效地在更少节点上处理更大的数据集。

 

XGBoost VS 深度学习

标签:bsp   intro   机器学习算法   硬盘   不同类   行业   节点   分解   内存优化   

原文地址:https://www.cnblogs.com/5211314jackrose/p/9546662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!