lightGBM 和 xgboost 都是 gbdt 的实现,下面以 xgboost 为例说明算法原理和增量学习的利弊。

首先,xgboost 的标准实现是每一棵数的构建都对全量数据进行拟合,而增量学习是假设有数据 a 和 b,先对 a 训练好模型,然后在 b 数据的基础上 tune 模型,以期实现类似与直接训练 a + b 的效果。

gbdt 的增量训练,从算法角度来看就是在已经在 a 数据集上训练好的模型的基础上,接着在 b 数据集上训练新的树,最终将两个批次训练的树的总和作为最终的模型。当然,也可以保持以前训练的树结构不变,更新每个叶子节点的预测值来对新的数据进行 fine-tune。https://blog.csdn.net/xieyan0811/article/details/82949236

但是,上述的方法问题也比较明显:

1,针对 b 数据新训练树的方式,会导致最终的预测结果更偏向于拟合 b 的数据,也即对最新的数据比较敏感,对历史数据的拟合变差,极端情况可能会慢慢失去对历史数据的拟合能力。https://discuss.xgboost.ai/t/how-xgboost-reach-incremental-learning/734

2,如果是需要不断增量 tune 模型的话,上述不断加树的方案也是不可行的,一段时间之后模型将会越来越大,线上预测的性能也会受到影响。

总之,虽然 xgboost 作为 additive model 天然支持增量训练,但是在数据集 a 上训练,b 上增量训练 并不能达到类似在 a + b 上训练的效果。所以,还是建议在全量数据集上训练模型。如果数据确实很多,可以适当降低模型的更新频次,或者在训练样本上做一下采样。

lightgbm 保存模型 过大_LightGBM如何进行在线学习工作中每天都会有数据更新以及增量数据,重新训练开销显然太大如何解决?...相关推荐

  1. Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  2. (原码反码补码的计算)在一个8位的二进制的机器中,补码表示的整数范围是从_(1)_(小)到_(2)_(大)。这两个数在机器中的补码表示为_(3)_(小)到_(4)_(大)。数0的补码为_(5)_。

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 题目 分析过 ...

  3. lightgbm 保存模型 过大_一个例子读懂LightGBM的模型文件

    机器学习模型的可解释性是个让人头痛的问题.在使用LightGBM模型的肯定对生成的GBDT的结构是好奇的,我也好奇,所以就解析一个LightGBM的模型文件看看,通过这个解析,你可以看懂GBDT的结构 ...

  4. lightgbm保存模型参数

    20210205 params = {'task': 'train', # 执行的任务类型'boosting_type': 'gbrt', # 基学习器'objective': 'lambdarank ...

  5. PyTorch如何加速数据并行训练?分布式秘籍大揭秘

    本文转载自机器之心. 选自arXiv 作者:Shen Li等 机器之心编译 参与:小舟.杜伟 PyTorch 在学术圈里已经成为最为流行的深度学习框架,如何在使用 PyTorch 时实现高效的并行化? ...

  6. 管理经济学的大作业——边际效应分析在学习生活中的应用

    边际效应分析在学习生活中的应用 目录 边际效应分析在学习生活中的应用 1.引言 2.边际效应 3生活中的边际效应 3.1递增的边际效应 3.2递减的边际效应 3.3边际效应的综合分析 本文为我管理经济 ...

  7. lightgbm 保存模型 过大_机器学习之12—Lightgbm

    Lightgbm模型和GBDT以及XGboost一样,都是基于决策树的boosting集成模型: Lightgbm是一个快速高效.低内存占用.高准确度.支持并行和大规模数据处理的数据科学工具. 关于G ...

  8. Tensorflow 加载预训练模型和保存模型

    使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练.这时候我们需要掌握如何操作这些模型数据.看完本文,相信你一定会有收获 ...

  9. 基于在线学习行为的评价模型的设计与实现

    基于在线学习行为的评价模型的设计与实现 1.评估模型的需求分析 学习评价是学习者在学习过程中非常重要的部分,但因为在线学习和传统学习方式在学习环境.方式上的区别,所以在传统方式中的评价模式不太适用于在 ...

最新文章

  1. 卷积神经网络(CNN)的简单实现(MNIST)
  2. python图像腐蚀处理_[Python图像处理]八.图像腐蚀和图像膨胀
  3. 微软宣布推出Azure Blockchain Tokens加密代币平台
  4. tensolrflow之基础变量
  5. 10个节省时间和改善工作流的Git技巧
  6. [ZJOI2007]时态同步 树形DP
  7. ECharts 联动效果
  8. inputtextarea表单提示文字
  9. Failed to find provider null for user 0; expected to find a valid ContentProvider for this authority
  10. python java爬虫_java爬虫与python爬虫对比
  11. 美国的人民币汇率谋略
  12. 云计算数据中心运维管理要点
  13. 红帽:商业模式比技术更重要
  14. 实时进销存如何帮助企业从销售、采购到库存实现一体化管理?
  15. 【机器学习】EM算法
  16. MFC设置编辑框内容
  17. 如何防止单元格在Google表格中进行编辑
  18. 【信息检索】Java简易搜索引擎原理及实现(三)B+树索引和轮排索引结构
  19. VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping
  20. 面向对象设计原则之接口隔离原则

热门文章

  1. CHAPTER 01 网络视频:内容创业的新风口-认识网络视频
  2. Picard工具 - 简介
  3. Matlab/simulink 风电并网系统,风电调频,三机九节点,四机两区,ieee39。潮流计算,一次调频GOV,PSS,AVR。
  4. 【转载】----Mysql日志解析
  5. Java_File类和MultipartFile类
  6. 10个完整的Android开源项目,值得大家学习借鉴
  7. Mac上 vue-cli使用命令创建项目
  8. Queue学习之Singly-Linked List
  9. 【YOLOv7】Python基于YOLOv7的人员跌倒检测系统(源码&部署教程&数据集)
  10. Splash界面使用动画