LightGBM算法框架一文详解!

在这里插入图片描述

简介

微软DMTK团队在 github上开源了性能超越其他 boosting decision tree工具 ! LIGHTGBM,三天之内star了1000+次,fork了200+次。知乎上有近干人关注如何看待微软开源的 Lightgbm? 问题,被评价为速度惊人”,“非常有启发”,“支持分布式",“代码清晰易慬",“占用内存小"等。

lightgbm主要涉及分类、回归、排序等。属于监督学习算法。

通过调整模型参数w使得损失函数最小化,但一昧的最小化模型输出和数据标度的差异,可能会使得模型过拟合,所以通畅加一些正则项来控制模型,比如下图中的L1正则,从而将有监督的学习目标变成了损失函数和正则项的加和

NvU6k8.png

Boosting简介

LightGBM属于Boosting的一种。Boosting就是指用一系列的模型线性组合来完成模型任务。在Boosting学习中,逐步的确定每一个模型之间,每一个子模型叠加到复合模型当中来,在这个过程中保证损失函数随着子模型的增加而逐渐减少。

Boosting有两种,AdaBoost和Gradient Boost。

总的来说,Boosting方法都是在训练好子模型后,统计现有的复合模型的拟合情况,从而调整接下来学习任务的一些setting,使得接下来,找到的子模型加入复合模型之后,符合降低整体loss的目标。

NvUxn1.png

AdaBoost和Gradient Boosting特点
AdaBoost

根据当前的loss来改变样本权重,比如这个样本在学习中误差比较大,则获得一个大的权重,反之获得更小的权重,从而控制后续子模型的产生。

Gradient Boosting

直接修改样本label,新的样本的label将变成原来的label和已知形成的模型预测值之间的残差。

从两者来看,gradient boosting 更倾向于降低训练误差的角度去完成算法乘积。

NvaAcd.png

Gradient Boosting

完整的模型是由很多“base learner”的子模型组成,学习中是一个个增加子模型,并希望loss能够不断减小。如果把复合函数f(x)看成自变量,我们希望改变这个复合函数使得loss下降,那么沿着loss相对于f的梯度方向是一个合理的选择。简单来说,如果我们新加入的子模型使得f沿着loss相对于f的梯度方向变了,那么我们就得到了我们希望要的子模型。

在实际问题中,比如我们定义的loss是平方误差,也就是L2 loss,那么梯度方向就是估计值与样本值之间的残差,如下图。我们新加入的子模型,就应该朝着这个残差来学习,也就是下图显示的:
f m ( x ) f_m(x) fm(x)
NvdbQJ.png

GBDT

了解了gradient boosting,接下来GBDT就好理解了。

也就是当gradient boosting中,每一个base learner(基础学习器?)都是一个decision tree(决策树)时,我们就把它叫做GBDT。

GBDT可以完成分类、回归,排序(ranking)任务等。

NvwpWD.png

Decision Tree

就是把数据的feature value划分成很多不重叠的区域,一般来说我们都是指的二叉树,树种的叶子节点需要做分割。所以会包含分割点信息,有哪个为feature,然后这个为feature,我们用什么将数据分为左边和右边两个部分,从而不断把树长的更深。

而在叶子节点,包含了最重要的分类信息,也是纯度最大的地方,归类到同一个叶子节点的数据会被归类到一起,生成叶子节点的数值。会用在这个节点上所有样本的均值来作为这个节点的输出。

Nvwo7t.png

决策树是如何学习的

decision tree学习过程可以分为两种。一种,叫做leaf-wise learning,也就是说学习过程中,我们需要不断的寻找分类后收益最大的叶子节点,然后对其进行进一步的分裂,从而生长成树,这种方法能够更加快速有效的寻找模型,但是整个生长的过程都是顺序的不方便加速。

也因此提出了另一种方法,Level-wise learning</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值