高级算法梳理之LightGBM

LightGBM是一种高性能的梯度增强框架,通过直方图算法优化速度和内存,采用Leaf_wise策略提高准确率,同时在并行学习中实现特征并行、数据并行和投票并行的优化,降低网络通信成本。
摘要由CSDN通过智能技术生成

LightGBM(Light Gradient Boosting Machine)是微软的开源分布式高性能Gradient Boosting框架,使用决策树的学习算法,下面介绍以下这个框架的优化。

1、速度、内存方面的优化

许多提升工具使用基于预排序的算法(近似直方图算法)(例如XGBoost中的默认算法)来进行决策树学习。这是一个比较简单的解决方案,但不容易优化。LightGBM使用基于直方图的算法,它将连续特征值存储到离散区间。这可以加快训练速度并减少了内存使用量。

1.1 直方图算法的优点

降低计算分裂增益的成本
基于预排序的算法具有时间复杂性 O(训练样本的个数),计算直方图具有时间复杂度O(训练样本的个数),但这仅当在执行总结操作时发生;
构建完直方图后,基于直方图的算法具有时间复杂度O(某个特征不同值的个数),因为某个特征不同值的个数远小于训练样本的个数;
使用直方图的相减进一步加速
在计算某个叶子节点的直方图时,通过它的父节点和它的相邻节点的直方图相减,得到;
根据上条可知,每次分裂仅需要为一个叶子节点构建直方图,另一个叶子节点的可以通过直方图的减法获得,成本较低;
减少内存的使用
用离散箱替换连续值。如果某个特征不同值的个数很小,可以使用小数据类型,例如uint8_t来存储训练数据,无需存储用于预排序特征值的其他信息
降低并行学习的通信成本

2、针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值