LightGBM 是 Light Gradient Boosting Machine 的缩写,是一个高性能、开源的梯度提升框架,由 Microsoft.它广泛应用于机器学习(ML)中的分类、回归和排序等任务。LightGBM 尤其以速度和效率著称,尤其是在处理大型数据集时,与其他梯度提升算法相比,它往往能在提供高准确率的同时消耗更少的内存。它以决策树算法中的概念为基础,属于梯度提升方法系列。
LightGBM 如何实现速度和效率
LightGBM 采用了多项创新技术来优化性能:
- 基于梯度的单侧采样(GOSS):这种方法侧重于梯度较大的数据实例(通常是训练不足的数据实例),并随机丢弃梯度较小的实例,从而在保持准确性的同时,显著减少了训练所需的数据量。
- 排他性特征捆绑(EFB):这种技术将互斥特征(很少同时取非零值的特征,在稀疏数据中很常见)捆绑在一起,在减少特征数量的同时不会丢失太多信息。
- 按树叶生长与许多其他算法(如XGBoost)使用的传统的逐级生长不同,LightGBM 是按树叶(垂直)生长的。它会选择它认为能最大程度减少损失的树叶,这通常会带来更快的收敛速度和更高的准确度,不过如果不通过超参数调整,有时会导致较小数据集上的过度拟合。
这些优化措施使 LightGBM 的运行速度和内存效率极高,可以在海量数据集上进行训练,而其他框架可能无法做到这一点。
LightGBM 的主要功能
LightGBM 为 ML 从业人员提供了多项优势:
- 训练速度快:由于采用了 GOSS 和 EFB,与许多其他提升算法相比,训练速度明显更快。
- 降低内存使用量:优化的数据处理和功能捆绑减少了内存占用。
- 高精确度:在处理表格数据任务时,通常能达到最先进的结果。
- 支持GPU :可利用 GPU加速功能,加快训练速度。
- 并行和分布式训练:支持分布式训练,可在多台机器上处理超大数据集。更多详情,请查阅LightGBM 官方文档。
- 处理分类特征:可直接处理分类特征,简化数据预处理。
与其他助推框架的比较
虽然 LightGBM、XGBoost 和CatBoost都是功能强大的梯度增强库,但它们之间存在着主要差异:
- 树木生长:LightGBM 采用树叶生长方式,而 XGBoost 通常采用水平生长方式。CatBoost 使用遗忘决策树(对称)。
- 分类特征:LightGBM 和 CatBoost 内置了分类特征处理功能,与通常需要进行单次编码或类似预处理的 XGBoost 相比,它们通常能简化工作流程。
- 速度与内存:由于采用了 GOSS 和 EFB,LightGBM 通常比 XGBoost 速度更快,占用内存更少,尤其是在大型数据集上。CatBoost 也很有竞争力,尤其是在分类特征处理性能方面表现出色。
在它们之间做出选择通常取决于具体的数据集特征和项目要求。
实际应用
LightGBM 的优势使其适用于处理结构化数据或表格数据的各种应用:
- 欺诈检测:在金融领域,LightGBM 可以快速处理大量交易数据,利用其速度和准确性,近乎实时地识别潜在的欺诈活动。这与金融领域人工智能的大趋势相一致。
- 点击率(CTR)预测:在线广告平台使用 LightGBM 预测用户点击广告的可能性,并根据大规模用户行为数据优化广告投放和创收。您可以在Kaggle 竞赛中找到使用 LightGBM 的实例。
- 预测性维护:分析工业机械的传感器数据以预测潜在故障,从而实现主动维护调度并减少停机时间。这对制造业中的人工智能等领域至关重要。
- 医疗诊断支持:协助分析患者数据(结构化临床信息)以预测疾病风险或结果,为医疗保健领域的人工智能做出贡献。
虽然 LightGBM 擅长处理表格数据,但它有别于以下模型 Ultralytics YOLO等模型不同,这些模型设计用于计算机视觉任务,如非结构化图像数据上的物体检测和图像分割。Ultralytics HUB等工具有助于管理此类计算机视觉模型的生命周期。对于涉及结构化数据集的经典 ML 问题,LightGBM 仍然是一个重要工具。