美文网首页
XGBOOST原理解析

XGBOOST原理解析

作者: rewq123 | 来源:发表于2018-06-28 14:21 被阅读25次

1.引言

最近,因为一些原因,自己需要做一个小范围的XGBoost的实现层面的分享,于是干脆就整理了一下相关的资料,串接出了这份report,也算跟这里的问题相关,算是从一个更偏算法实现的角度,提供一份参考资料吧。这份report从建模原理、单机实现、分布式实现这几个角度展开。

在切入到细节之前,特别提一下,对于有过GBDT算法实现经验的同学(与我有过直接connection的同学,至少有将四位同学都有过直接实现GBDT算法的经验)来说,这份report可能不会有太多新意,这更多是一个技术细节的梳理,一来用作技术分享的素材,二来也是顺便整理一下自己对这个问题的理解,因为自己实际上并没有亲自动手实现过分布式的GBDT算法,所以希望借这个机会也来梳理一下相关的知识体系。本文基于XGBoost官网代码[12],commit是b3c9e6a0db0a7eb755949ac6b26e3ef805738350。

2.建模原理

我个人的理解,从算法实现的角度,把握一个机器学习算法的关键点有两个,一个是loss function的理解(包括对特征X/标签Y配对的建模,以及基于X/Y配对建模的loss function的设计,前者应用于inference,后者应用于training,而前者又是后者的组成部分),另一个是对求解过程的把握。这两个点串接在一起构成了算法实现的主框架。具体到XGBoost,也不出其外。

XGBoost的loss function可以拆解为两个部分,第一部分是X/Y配对的建模,第二部分是基于X/Y建模的loss function的设计。

2.1. X/Y建模

作为GBDT算法的具体实现,XGBoost代表了Tree Model的一个特例(boosting tree v.s. bagging tree),基本的思想用下图描述起来会更为直观:

如果从形式化的角度来观察,则可以描述如下:

其中F代表一个泛函,表征决策树的函数空间,K表示构成GBDT模型的Tree的个数,T表示一个决策树的叶子结点的数目, w是一个向量。看到上面X/Y的建模方式,也许我们会有一个疑问:上面的建模方式输出的会是一个浮点标量,这种建模方式,对于Regression Problem拟合得很自然,但是对于classification问题,怎样将浮点标量与离散分类问题联系起来呢?理解这个问题,实际上,可以通过Logistic Regression分类模型来获得启发。我们知道,LR模型的建模形式,输出的也会是一个浮点数,这个浮点数又是怎样跟离散分类问题(分类面)联系起来的呢?实际上,从广义线性模型[13]的角度,待学习的分类面建模的实际上是Logit[3],Logit本身是是由LR预测的浮点数结合建模目标满足Bernoulli分布来表征的,数学形式如下:

对上面这个式子做一下数学变换,能够得出下面的形式: 

阅读全文请点击http://click.aliyun.com/m/1000003905/

相关文章

  • XGBOOST原理解析

    1.引言 最近,因为一些原因,自己需要做一个小范围的XGBoost的实现层面的分享,于是干脆就整理了一下相关的资料...

  • Xgboost原理与Sklearn参数详解

    目录 1、Xgboost原理 2、总结 1、Xgboost原理 2、总结:本文主要分析了Xgboost和GBDT原...

  • day01-集成决策树模型

    1、xgboost原理1.1 xgboost原始论文1.2 xgboost原始ppt介绍1.3 xgboost基础...

  • GBDT进化->XGBoost & LightGBM简记

    很全面的阐释XGBoost: 集成学习之Boosting —— XGBoost 大体来看,XGBoost 在原理方...

  • XGboost 基线模型及部分参数优化

    1 模型原理及调参参考 调参:XGBoost参数调优完全指南原理:xgboost入门与实战(原理篇) 2 输出基线...

  • 集成学习之Boosting-xgboost

    一、什么是Xgboost 二、Xgboost的基本原理 三、Xgboost的工作实例 四、算法的优缺点 *****...

  • xgboost 原理学习

    参考博客 :xgboost_原理GBM

  • 常用模型使用简介

    XGBoost xgboost入门与实战(原理篇)的后半部分介绍了需要注意的参数和基本使用方法。神器xgboost...

  • xgboost原理

    基本思想 xgboost的基本思想就是一种提升的思想,后一个模型在前一个模型的基础上再进行预测,弥补前一个模型做的...

  • xgboost原理

    阅读XGBoost 与 Boosted Tree 基学习器:CART 每个叶子节点上面有一个分数 不够厉害,所以找...

网友评论

      本文标题:XGBOOST原理解析

      本文链接:https://www.haomeiwen.com/subject/kmpgyftx.html