原理笔记 - LightGBM

一句话打头儿:为了优化计算资源消耗,更快、更高效,并且使用更少的资源,lgb诞生!

和xgboost一样同样是对gbdt的优化和更高效的实现,与xgboost主要的不同在对于连续值的直方图算法,和树生长策略的调整。Lightgbm的优点官方说法如下:

  • 更快的训练速度
  • 更低内存使用
  • 更高的准确率
  • 支持并行化学习
  • 可处理大规模数据
  • 支持直接使用category特征

1. 直方图算法

 核心思想:

  • 将连续的值离散成k个离散值,并构造宽度为k个直方图
  • 遍历训练数据,统计每个离散值在直方图中的累积统计量
  • 在进行特征选择时,只需要根据直方图的离散值,遍历寻找最佳分割点

2. 树的生长策略

XGBoost采用的是按层生长的策略,能够同时分裂同一层的叶子,从而进行多线程优化,不容易过拟合。但很多叶子实际上分裂增益较低,没必要进行分裂,因此造成了不必要的计算开销。

LightGMB采用按叶子生长的策略,每次从当前所有叶子中找到分裂增益最大的(一般也是数据量最大的)一个叶子进行分裂,以此类推。这种方式可以降低更多的误差,得到更好的精度。

3. 构建过程

1. 设定初始预测:建立一个输出相同值的初始化模型

       对于回归问题,输出值可以为平均值

       分类分体:输出值可以为最多的类别

2. 迭代构建弱学习器

       1. 计算残差,(即预测值与真实值之间的差异,分类问题:计算损失函数的负梯度。

2. 将残差作为目标训练新决策树

       训练树的过程:

              1. 使用直方图将特征离散化(连续的特征值转换为离散的桶)

              2. 采用叶子优先策略,通过直方图求和技术,快速找到最佳的分割点

              3. 循环直到达到停止条件(如深度限制和其他约束)

3. 新决策树加入原有模型更新模型预测

3. 重复步骤2直到停止(即满足停止条件,如n棵树)

4. LightGBM优点

  1. 高效:基于直方图的算法,可以减少计算时间和内存使用并且支持多核并行处理和 GPU 加速。
  2. 支持类别特征:能够直接处理类别特征。
  3. 叶子优先的分裂策略:与传统的深度优先或广度优先策略不同,LightGBM 采用叶子优先策略,这有助于获得更低的损失。

5. LightGBM缺点

  1. 对噪声和异常值敏感: 与其他基于树的方法一样都是基于偏差的算大,因此对噪声和异常值比较敏感。
  2. 可解释性较差: LightGBM 的模型通常被认为是黑盒模型,难以解释。虽然 LightGBM 提供了一些特征重要性的指标,但是解释模型的决策过程仍然比较困难。
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值