1. 简介

LightGBM 是一个高性能的分布式梯度提升决策树框架,可以用于分类、回归、排序任务等,属于监督学习算法。LightGBM 属于 Boosting 的一种,Boosting 是指用一系列的模型线性组合起来完成模型任务。Boosting 分为两种:

  • Ada Boost:根据当前的 Loss 来改变样本权重,比如这个样本在学习中误差比较大,则获得一个大的权重,反之获得更小的权重,从而控制后续子模型的产生。
  • Gradient Boost:直接修改样本 Label,新的样本 Label 将变成原来的 Label 和已知形成的的模型预测值之间的残差。Gradient Boost 更倾向于降低训练误差的角度去完成算法优化。

而 GBDT = Gradient Boosting + Decision Tree,即在 Gradient Boosting 中,每一个 base learner 都是一个 decision tree。

2. 决策树

决策树的学习过程可以分为两种:

  • Leaf-wise Learning:在学习过程中,我们需要不断地寻找分类后收益最大的叶子节点,然后对其进行进一步的分裂,从而生长树。这种方法能够更加快速有效地寻找模型,但是整个生长过程都是顺序的不方便加速。
  • Level-wise Learning:这种方式树是按层生长的,不需要每次去挑选生长的节点,只需要按层级顺序去生长。这种方法在每个 Level 中各个节点的分类可以并行的完成,有天然的并行性,但是会产生很多没必要的分类,造成更大的计算代价。