LightGBM,即轻量级梯度提升机(Light Gradient-Boosting Machine)的简称,是一个免费且开源的分布式梯度提升框架,最初由微软开发。它基于决策树算法,用于排序、分类以及其他机器学习任务。该框架旨在实现高性能和高可扩展性,因此在学术研究和工业应用中广受欢迎。
LightGBM支持多种算法,包括梯度提升树(GBT)、梯度提升决策树(GBDT)、梯度提升回归树(GBRT)、梯度提升机(GBM)、多重加性回归树(MART)以及随机森林(RF)。它融合了XGBoost的诸多优点,例如稀疏处理、并行训练、多种损失函数、正则化、袋装法(bagging)和早停法。然而,其关键区别在于树的构建方式:LightGBM采用叶子生长(leaf-wise)策略而非层级生长(level-wise)策略,即每次选择具有最大增量损失的叶子节点进行分裂。这种方法可以加快收敛速度,但需要仔细调整参数以避免过拟合。
另一个显著特点是其使用高度优化的基于直方图的决策树学习算法,而非XGBoost及其他实现所采用的基于排序的方法。这种基于直方图的方法显著提升了训练效率和内存利用率。此外,LightGBM引入了两种新颖的技术:基于梯度的单边采样(GOSS)和互斥特征捆绑(EFB),二者结合可在保持高精度的同时加速训练。
LightGBM可在Linux、Windows和macOS上运行,并提供C++、Python、R和C#的接口。其源代码以MIT许可证发布,并托管在GitHub上。
基于梯度的单边采样
基于梯度的单边采样(GOSS)是一种专为梯度提升决策树开发的技术。在传统梯度提升中,模型被概念化为一个山谷,最低点代表对数据的最佳拟合。算法通过沿减少损失的方向迭代调整模型参数,从而有效地下探至谷底。通常,这一过程使用整个数据集来计算梯度,并假设每个数据点对学习信号的贡献相等。
GOSS对这一假设提出了挑战,它认识到梯度较小(即斜率较平缓)的数据点在训练过程中信息量较少。这些点通常对应于已被良好预测的实例或噪声。GOSS会随机丢弃一部分这类低梯度样本,同时保留所有具有较大梯度的样本。这种选择性采样减少了有效数据集的大小,从而在不显著牺牲精度的前提下加速训练。通过聚焦于信息量最大的数据点,GOSS帮助模型更好地捕捉数据中的潜在关系,同时降低噪声样本的影响。
互斥特征捆绑
互斥特征捆绑(EFB)是一种近乎无损的方法,用于减少数据集中的有效特征数量。在许多实际应用中,尤其是特征空间稀疏的场景下,许多特征几乎是互斥的,即它们很少同时取非零值。独热编码特征就是一个典型例子:每个类别由一个二元特征表示,对于任意给定样本,只有一个特征是激活的。EFB将这些互斥特征捆绑成一个复合特征,从而降低数据的维度。这种降维可减少内存占用并加快训练速度,同时由于捆绑过程保留了原始信息,因此能够维持较高的精度。将互斥特征捆绑成单一特征的过程被称为互斥特征捆绑。
性能与可扩展性
LightGBM专为处理包含数百万实例和特征的大规模数据集而设计。其基于直方图的算法降低了寻找最优分裂点的计算成本,而其叶子生长策略可以生成更深的树,从而捕捉复杂的模式。该框架支持分布式训练,使其能够跨多台机器进行扩展。这种可扩展性使LightGBM适用于点击率预测、排序以及其他数据量庞大的任务。
使用与生态系统
LightGBM与流行的机器学习库和平台无缝集成。它常与scikit-learn配合使用,并成为许多梯度提升解决方案的核心组件。其Python接口尤其受欢迎,为数据科学家提供了熟悉的API。LightGBM还原生支持类别特征,简化了预处理流程。其对C++、R和C#的兼容性进一步扩展了其在不同开发环境中的适用范围。
与其他框架的比较
LightGBM常被拿来与XGBoost和CatBoost进行比较,后两者也是著名的梯度提升框架。XGBoost采用层级生长和基于排序的分裂查找,而LightGBM的叶子生长和基于直方图的方法通常能带来更快的训练速度和更低的内存占用。然而,叶子生长策略若正则化不当,可能导致过拟合。相比之下,CatBoost在处理类别特征方面表现出色,且通常能以默认参数获得较高精度。在这几个框架之间的选择往往取决于具体的数据集和需求;LightGBM因其在大规模稀疏数据上的速度和效率而常被优先选用。
应用领域
LightGBM已广泛应用于众多领域,包括搜索排序、推荐系统、欺诈检测和医疗诊断。其处理高维稀疏数据的能力使其在在线广告的点击率预测中尤为有效。此外,在Kaggle等竞赛平台上,LightGBM凭借其性能和速度成为参赛者的常用工具。
开发与社区
LightGBM由微软研究院的柯国霖(Guolin Ke)等人于2017年首次推出。该项目在GitHub上积极维护,并获得了全球开发者社区的贡献。其文档全面,开源特性鼓励了持续改进。LightGBM在众多学术论文中被引用,已成为机器学习从业者工具箱中的标准工具。
参见
- 机器学习
- 人工智能
- 深度学习
- 神经网络
- 大语言模型
- Transformer
- OpenAI
- Anthropic
- Google DeepMind
- 生成式人工智能
- AMD
- 苹果公司
- 三星电子
- 英特尔
- 台积电
- 博通
- 高通
- ARM控股
- 亚马逊网络服务
- AWS Trainium
- 微软Azure
- 谷歌云
- 甲骨文云
- CoreWeave
- Cerebras
- Groq
- SambaNova
- Graphcore
- 诺基亚贝尔实验室
- OpenAI
- Bhabha原子研究中心
- 三星研究院
- 施乐帕克
- MIT计算机科学与人工智能实验室
- 斯坦福人工智能实验室
- 多伦多大学
- 卡内基梅隆大学
- 伯克利人工智能研究
- 牛津大学
- 计算机博弈
- 索尼AI
- 富士通
- 日本电气
- D-Wave
- 阿里巴巴达摩院
- 阿里云
- 亚马逊AI
- Halcyon
- Insta学院
- Omniscient
- Commure
- Intuitive Surgical
- TomTom
- BigBear.ai
- AI21 Labs
- Inflection AI
- Essential AI
- Sanctuary AI
- Figure AI
- Fermata
- Neuralink
- Braina
- Cortica
- Xyber
- Cruise
- Waymo
- 特斯拉自动驾驶
- Llion-Jones
- Jakob Uszkoreit
- Lukasz Kaiser
- Niki Parmar
- Barret Zoph
- Mark Chen
- Brad Lightcap
- Jacob Steinhardt
- David Kaplan
- Ryan Lowe
- Jack Clark
- Shan Carter
- David Luan
- Chen Wu
- Ashish Kumar
- Freddie Sulit
- Karen Simonyan
- Koray Kavukcuoglu
- Thomas Dietterich
- Michael Jordan
- Daphne Koller
- Anima Anandkumar
- Samy Bengio
- Joshua Tenenbaum
- Brendan Lake
- Melanie Mitchell
- Aaron Courville
- Alan Perlis
- Aleksander Madry
- Alexei Efros
- Ali Rahimi
- Andrew Lloyd Brown
- Ani Bhattacharya
- Anna Patterson
- Anna Ritter
- Anubhav Sinha
- Arakawa Ryota
- Arka Dutta
- Arthur Franz
- Ben Goertzel
- Bernard Widrow
- Brian Cheung
- Brian Christian
- Brian Lilly White
- Calvo Rafael
- Carlos Guestrin
- Catherine Flick
- Chad Mirkin
- Chin-Yen Chiu
- Chris Bishop
- Christopher Bishop
- Craig Boutilier
- Craig Ku
- Dafna Sharon
- Daphne Leon
- David Ha
- David Froitzheim
- David Martin
- David Winger
- Deepak Kumar
- Drew Puckett
- Elaine Rich
- Eilon Reshef