lightGBM与XGBOOST相关概述

LightGBM与XGBOOST算法概述
LightGBM: 用于排序,分类,回归等机器学习任务,支持高效率并行训练
XGBOOST:来源于GBDT

LightGBM与XGBOOST相关理论基础:

  1. Boosting
    集成学习的一个分支,通过将弱分类器训练成强分类器,达到准确分类的效果
  2. Gradient boosting
    Boosting分为Adaboost和Gradient Boosting,lightGBM属于gradient boosting
    ? 什么是gradient boosting,与adaboosting不同的地方
    Gradient boosting: 一个迭代的过程,一次性迭代变量,但逐一增加子模型,并保证过程中损失函数不断减小
    假设f(xi)为子模型,复合模型为
    在这里插入图片描述

损失函数为在这里插入图片描述
,在每次加入新的子模型后,使得在这里插入图片描述

  1. 决策树
    一种分类和回归的方法,大多用于分类,在每个叶子节点,根据某一判断条件,输出符合条件和不符合条件两类结果;换句话说,把决策树当做众多if-then规则的集合,也可当做定义在特定空间与类空间上的条件概率分布。
    在这里插入图片描述

决策树包括3个主要步骤:特征选择,决策树的生成和决策树的修剪
决策树按叶子分裂方法分为两类:
 叶子分裂的学习方法

  • 在分裂过程中要不断寻找分裂后收益最大的节点,对其进行进一步的分裂,其他非收益最大化的节点将不再继续分裂
  • 优点是算法更加快速有效,
  • 缺点是会忽略掉被舍弃叶子上的信息,导致分裂结果不够细化
     按层分类的学习方法
  • 每一层的每个节点都进行分裂,即每次迭代都要遍历整个训练集的所有数据
  • 优点是每层的叶子都可并行完成,具有天然的并行性
  • 缺点是产生很多没必要的分裂,需要更多的计算成本,且占用较大的运行内存
    在这里插入图片描述
    在这里插入图片描述
  1. GBDT
     GBDT=gradient boosting+decision tree
     即若gradient boosting的每个子模型都是一个decision tree,这样的模型就是GBDT
     常用于点击率预测,搜索排序
     只利用了一阶导数信息
    ? GBDT与决策森林有什么区别

  2. XGBOOST
     GBDT只利用了一阶的导数信息,而XGBOOST对损失函数进行了二阶的泰勒展开,求得模型最优解的效率更高
    在这里插入图片描述

 XGBOOST优点

  • 正则化:能实现正则化提升,有利于减少过拟合现象
  • 并行处理:XGBOOST相比Gradient Boosting速度有了较大提升,XGBOOST可实现并行处理,而boosting算法是顺序处理
  • 高度灵活:XGBOOST允许用户定义自定义优化目标和评价标准,它对模型增加了一个全新的维度,故处理时不会受到任何限制
  • 缺失值处理:XGBOOST内置处理缺失值的规则,在不同节点遇到缺失值时采用不同的处理方法,并会学习未来遇到缺失值时的处理方法
  • 剪枝:当分裂时遇到一个负损失时,Gradient Boosting会停止分裂,但XGBOOST会一直分裂到指定的最大深度,然后回过头来剪枝,若某个节点不在有正值,它会去除这个分裂
  • 内置交叉验证:XGBOOST允许在每一轮boosting中使用交叉验证,因此,可方便地获得最优boosting迭代次数,而gradient boosting使用网络搜索,只能检测有限个值
  • 在已有的模型基础上继续训练:XGBOOST可在上一轮结果的基础上继续训练,该特性在某些特定应用上是个巨大优势
     XGBOOST优化
  • 选择较高的学习速率,并选择对应于该学习速率的最优决策树数量
  • 对给定的学习速率和决策树数量,进行决策树特定参数的调优
  • XGBOOST的正则化参数的调优,可降低算法复杂度,进而提高算法表现
  1. LightGBM
     属于GBDT的一种,为解决GBDT在海量数据中的问题,让GBDT更好用于实践
     采用叶子分裂方法分裂节点,故计算代价较小,因此需要控制树的深度和每个叶子节点的最小数据量,避免过拟合现象
     选择了基于histogram的决策树算法,将特征值分为很多个小桶,在这些桶上寻找分裂,减小储存成本和计算成本
     可分为3类:特征并行,数据并行和投票并行;特征并行运用于特征较多的场景,数据并行运用于数据量较大的场景,投票并行运用于特征和投票都较多的场景
     LightGBM优点
  • 更快的训练速度
  • 更低的内存消耗
  • 更好的模型精度
  • 支持并行学习
  • 可快速处理海量数据
     LightGBM优化
  • 加快运行速度
  1. 随机减少数据量
  2. 随机减少特征
  3. 若有类别特征,可直接输入类别特征
  4. 若一个训练文件训练多次,可将文件保存为二进制文件
  5. 使用并行训练方式
  • 提高模型精度
  1. 减少学习率,增加学习次数
  2. 增大叶子节点数量
  3. 使用交叉验证的方法对比参数,选择更好的参数
  4. 增加训练数据
    LightGBM与XGBOOST算法的比较:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值