Bootstrap

万字总结LightGBM原理、核心参数以及调优思路(上篇)

万字总结LightGBM原理、核心参数以及调优思路(上篇)

在机器学习领域,LightGBM凭借其卓越的速度和准确性,迅速成为众多数据科学家和算法工程师的首选算法之一。作为一款基于梯度提升框架的高效机器学习工具,LightGBM在处理大规模数据集时表现出色,尤其适用于需要快速模型训练和预测的场景。


一、LightGBM提出背景

XGBoost作为一种先进的梯度提升算法,在高精度建模方面虽然表现出色,但在处理大规模数据时,其计算速度和资源消耗的不足成为了制约其应用的瓶颈。针对这些问题,LightGBM提出了创新的解决方案。通过采用高效的数据压缩技术,LightGBM显著提升了计算效率,其计算时间仅为XGBoost的二十分之一,内存占用量则降至五分之一,成为首个能够迅速处理海量数据的集成学习算法。与XGBoost相比,LightGBM不仅在计算效率和内存占用上具有明显优势,而且在面对高维数据时展现出更好的抗过拟合特性。在数据量不断增长的当下,LightGBM因其出色的性能和适应性,成为了探索性建模的理想选择(Baseline模型)。在实际建模效果上,LightGBM与XGBoost相比也毫不逊色,为数据分析和机器学习领域带来了新的选择和可能性。

LightGBM算法简介

LightGBM 是一种高效的 Gradient Boosting 算法,由 Microsoft Research Asia 团队开发,早期为Microsoft内部处理海量高维数据的专用算法,并于2017年由Guolin Ke, Qi Meng, Thomas Finley等人通过论文形式正式发布。如果说XGB为GBDT类算法在提升计算精度上做出了里程碑式的突破,那么LGBM则是在计算效率和内存优化上提出了开创性的解决方案,一举将GBDT类算法计算效率提高了近20倍、并且计算内存占用减少了80%,这也最终使得GBDT类算法、这一机器学习领域目前最高精度的预测类算法,能够真正应用于海量数据的建模预测。以下是官网给出的XGB、基于直方图优化的XGB和LGBM算法的在相同计算任务下计算时间的对比:
在这里插入图片描述

而在内存占用方面,LGBM算法的优势也同样非常明显,以下是相同计算任务下不同算法的内存占用对比:
在这里插入图片描述

XGBoost_hist 是在 LightGBM 提出之后,针对 XGBoost 的一种优化。XGBoost_hist 是 XGBoost 的一种变体,使用了直方图近似的技术。XGBoost_hist是受到了 LightGBM 的启发,LightGBM 则是第一个广泛使用直方图近似技术的梯度提升决策树算法。

LightGBM算法是目前进行集成学习建模过程中,速度最快,效率最高的算法。围绕海量数据集进行迅速的建模,一般都是先使用LightGBM进行建模的尝试,探索出一些经验后,再使用一些更加复杂的算法完成最终的建模。不仅计算速度快,LightGBM的计算精度同样很高,几乎能够保持和xgboost几乎一样的预测精度,相同计算任务,三种算法的计算准确率如下:
在这里插入图片描述
不难发现,预测精准而计算过程高效,这也是Light一词的核心精髓,并且经过这么多年的实践验证,可以说目前来看,LightGBM已然成为处理海量数据最高效、最通用的机器学习算法。

二、LightGBM基本原理与核心优化介绍

LightGBM基本原理与核心优化介绍(欢迎关注~)

三、LightGBM中的优化策略

1.连续变量分箱

LightGBM连续变量分箱(欢迎关注~)

2.互斥特征捆绑(Exclusive Feature Bundling,EFB)

LightGBM互斥特征捆绑(欢迎关注~)

3.基于梯度的单边采样(Gradient-based One-Side Sampling,GOSS)

LightGBM基于梯度的单边采样(欢迎关注~)

4.LGBM决策树生长过程与直方图优化算法(Histogram-based Algorithm)

LightGBM决策树生长过程与直方图优化算法(欢迎关注~)


总结

在这里插入图片描述

;