作者 | 冯鸥
发布 | ATYUN订阅号
Vishal Morde讲了这样一个故事:十五年前我刚完成研究生课程,并以分析师的身份加入了一家全球投资银行。在我工作的第一天,我试着回忆我学过的一切。与此同时,在内心深处,我想知道我是否能够胜任这份工作。我的老板感觉到我的焦虑,他说:
“别担心!你唯一需要知道的就是回归建模!”
在我了解了回归建、线性和逻辑回归后,我发现我的老板是对的。在我任职期间,我专门建立了基于回归的统计模型。事实上,在那个时候,回归建模是无可争议的预测分析女王。十五年后的今天,回归建模的时代已经结束,而新女王名字很长:XGBoost或Extreme Gradient Boosting!
什么是XGBoost
XGBoost 是一种基于决策树的集成机器学习算法,梯度增强为框架。在涉及非结构化数据(图像,文本等)的预测问题中,人工神经网络往往优于所有其他算法或框架。然而,当涉及到中小型结构化或表格数据时,基于决策树的算法被认为是同类中最佳的。参阅下面的图表了解多年来基于树的算法的发展:
决策树的XGBoost算法演化
XGBoost算法是华盛顿大学的一个研究项目。Tianqi Chen and Carlos Guestrin在2016年的SIGKDD会议上发表了他们的论文,引起了机器学习领域的轰动。自推出以来,该算法不仅赢得了众多Kaggle比赛的胜利,而且还成为几个尖端行业应用的引擎驱动力。因此,有一个强大的数据科学家社区为XGBoost开源项目做出贡献,在GitHub上有大约350个贡献者,3600多条提交。该算法具有以下特性:
建立直觉
决策树最简单的形式,是易于可视化和可解释的算法,但为下一代基于树的算法建立直觉可能有点棘手。请参阅下面的简单类比,以更好地了解基于树的算法的演变。
想象一下,你是一名招聘经理,面试几位具有优秀资历的候选人。基于树的算法演变的每一步都可以看作是一个采访。
表现甚佳
XGBoost 和 Gradient Boosting Machines(GBMs)都是集合树方法,它们应用了使用梯度下降架构来提升弱学习者(通常是CART)的原理。但是,XGBoost通过系统优化和算法增强改进了基础GBM框架。
XGBoost优化标准GBM算法
系统优化:
算法增强功能:
证据在哪
我们使用 Scikit-learn 的 Make_Classification 数据包创建了一个包含20个特征(2个信息的和2个冗余的)的100万个数据点的随机样本。我们测试了几种算法,如Logistic回归,随机森林,标准梯度提升和XGBoost。
使用SKLearn的Make_Classification数据集的XGBoost与其他ML算法
如上图所示,与其他算法相比,XGBoost模型是预测性能和处理时间的最佳组合。其他严格的基准研究也得到了类似的结果。所以XGBoost在最近的数据科学竞赛中被广泛使用。
机器学习如同生活,没有免费的午餐。作为数据科学家,我们必须测试所有可能的数据算法,以确定冠军算法。此外,选择正确的算法是不够的。我们还必须通过调整超参数为数据集选择正确的算法配置。选择算法还有其他几个考虑因素,例如计算复杂性,可解释性和易于实现性。如此,机器学习开始从科学走向艺术,但老实说,这就是奇迹的开端!
未来何去何从
机器学习是一个非常活跃的研究领域,已经有几种可行的替代XGBoost的方案。微软研究院最近发布了LightGBM框架,用于梯度提升,显示出巨大的潜力。由Yandex Technology开发的CatBoost已经提供了令人印象深刻的基准测试结果。这是一个时间问题,但直到下一个更强大的挑战者出现之前,XGBoost将继续统治机器学习世界!
专注于数据科学领域的知识分享
欢迎在文章下方留言与交流