GBDT有两种工业化实现 :XGBoost 和 LightGBM。LightGBM 是在 XGBoost 的基础之上的优化版本。
这里是LightGBM优势讲解第一篇,主要包含XGB的缺陷,LightGBM的优势,以及LightGBM中基于直方图的决策树最优分割点选取 + Leaf-wise叶子节点生成策略。
1. XGBoost 基本缺陷
XGBoost 是基于预排序的决策树算法。假设正在构建第 T 颗决策树,此时正在构建第 L 层,正在选择第 L 层中第 J 个叶子节点的最佳特征 + 最佳分割点时,有如下步骤:
(1)分别对所有特征,按照特征的数值进行排序(需要记录排序后的样本索引);
(2)在遍历最佳分割点时,枚举每一个特征的每一个数值,选择增益最大的分割位置作为最佳分割点;注意:由XGB增益的计算公式可得,增益与第 J 个节点中所有样本的一阶导数 和 二阶导数有关,这些导数值在第 J 个节点确定的时(在上一轮子树划分后,包含的样本都是确定的)都是已知的,可以提前计算好!增益的计算和损失函数的解析解也有关联(如果感兴趣的小伙伴可以自己搜索一下,或者等我写一写);

文章介绍了XGBoost在构建决策树时的缺陷,包括空间消耗大、时间消耗大和缓存访问效率低。LightGBM通过引入基于直方图的决策树算法和Leaf-wise生长策略进行优化,减少了分割次数和内存消耗,提升了效率。此外,还提到了LightGBM的其他优化点,如单边梯度采样和互斥特征捆绑等。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



