LightGBM(LGBM)是一个开源的梯度提升库,在机器学习开发者中得到了极大的欢迎和喜爱。
目前,它已经成为Kaggle竞赛的首选库之一,正是因为它在训练模型过程中速度和准确度方面具有非常优秀的表现。
LightGBM的性能优势是它对数据进行采样(GOSS —Gradient-based One-Sided Sampling)并减少训练期间稀疏数据集中的特征数量(EFB — Exclusive Feature Bundling)的结果。
在本文中,我将尝试解释LGBM背后的关键概念,并在最后给出一个简单的实现,以便能够让大家快速的了解LGBM的概念已经LightGBM库的使用方法。
GRADIENT BOOSTING TREES(GBTs)
Boosting是一种用于机器学习的集成技术,用于提高诸如决策树之类的弱机器学习算法的准确性。
梯度提升就是这样一种技术,在GBT中,我们从一棵决策树开始,该决策树始终一致地做出相同的预测(目标的平均值)。
为了改善此结果,因此,创建了第二棵树,该树可以预测相对于损失函数(通常是MSE或CrossEntropyLoss)的梯度。由于我们希望将损失降到最低,因此在梯度的反方向走很小的一步。学习率(0到1,通常为0.1)确定我们在该方向上移动了多少,我们重复该过程并拟合后续树以预测梯度,理想情况下,在每个步骤中都将其移近目标值。
随着训练实例和特征数量的增加,普通的GBT变得非常低效和缓慢。所以,我们转而使用LightGBM和XGBoost等库。
LightGBM(LGBM)
LightGBM为普通GBT带来了重大改进。
LightGBM引入的两个新思路:
-
GOSS —Gradient-based One-Sided Sampling
-
EFB — Exclusive Feature Bundling
除此以外,LGBM还使用了一种基于直方图的高效方法来识别连续特征中的分割

LightGBM因其在训练速度和准确度上的优势成为Kaggle竞赛常用库。本文介绍了LightGBM的关键特性,如GOSS和EFB,并提供了一个简单的实现示例,帮助理解其工作原理和使用方法。
最低0.47元/天 解锁文章
469

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



