1、LightGBM简介
LightGBM是一个梯度Boosting框架,使用基于决策树的学习算法。具有以下优势:
a)更快的训练效率
b)低内存使用
c)更高的正确率
d)支持并行化学习
e)可以处理大规模数据
2、XGBoost的不足
a)每轮迭代时,都需要遍历整个训练数据多次,如果把整个训练数据装进内存,则会限制训练数据的大小,如果不装进内存,反复读写训练数据又会消耗非常大的时间。
b)预排序方法的时间和空间的消耗都很大.
3、LightGBM原理
1)直方图算法:把连续的浮点特征值离散化成k个整数,同时构造一个宽度为k的直方图。当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。在XGBoost中需要遍历所有离散化的值,而在这里只要通过遍历k个直方图的值
2)LightGBM的直方图做差加速:一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到,且直方图做差仅遍历直方图的k个桶
3)带深度限制的leaf-wise的叶子生长策略
4)直接支持类别特征(即不需要组偶one-hot编码)
5)支持高效并行:
a)特征并行:在不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优分割点
b)数据并行:让不同的机器先在本地构造直方图,然后进行全局的合并,最后在合并的直方图上面寻找最优分割点
4、LightG