机器学习模型——LightGBM

LightGBM是一种优化的GBDT框架,通过直方图算法、按叶子生长策略、GOSS和EFB等技术,实现了更快的训练速度和更低的内存消耗。它支持并行训练,适用于处理大规模数据,同时具备良好的准确率。直方图算法虽可能导致不精确分割点,但在实际应用中影响不大。LightGBM的优缺点包括:速度快、内存小,但可能产生过拟合。
摘要由CSDN通过智能技术生成

  LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
  GBDT在每一次迭代的时候,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。因此LightGBM提出的主要目的就是解决GBDT在海量数据时的问题,让GBDT可以更好更快地用于工业实践。

基本原理

一、直方图算法

  为每个特征构造一个直方图:将该特征的所有数据按值域划分为k个区间,k个区间对应直方图的k个箱子,每个区间内数据的量对应直方图每个箱子的高度,当然每个箱子实际存储的还有该箱子中数据的一阶导数和、二阶导数和等。
优点
  1.内存占用小,只需要保存特征离散化后的值
  2.计算代价更小:XGBoost的时间复杂度为O(样本数特征数),LightGBM的时间复杂度为O(k特征数)。
缺点:
  特征被离散化后,找到的不是精确的分割点。但大量的实验结果表明,离散化的分割点对最终的预测精度影响并不大,甚至有时候会更好一些,因为粗的分割点有正则化的效果,可以防止过拟合;

二、直方图做差加速

  一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到,在速度上可以提升一倍。在实际构建树的过程中,LightGBM还可以先计算直方图小的叶子节点,然后利用直方图做差来获得直方图大的叶子节点,这样就可以用非常微小的代

  • 2
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值