Bootstrap

lightgb原理_LightGBM介绍及参数调优

1、LightGBM简介

LightGBM是一个梯度Boosting框架,使用基于决策树的学习算法。它可以说是分布式的,高效的,有以下优势:

1)更快的训练效率

2)低内存使用

3)更高的准确率

4)支持并行化学习

5)可以处理大规模数据

与常见的机器学习算法对比,速度是非常快的

2、XGboost的缺点

在讨论LightGBM时,不可避免的会提到XGboost,关于XGboost可以参考此博文

关于XGboost的不足之处主要有:

1)每轮迭代时,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。

2)预排序方法的时间和空间的消耗都很大

3、LightGBM原理

1)直方图算法

直方图算法的基本思想是先把连续的浮点特征值离散化成$k$个整数,同时构造一个宽度为$k$的直方图。在遍历数据的时候,根据离散化后的值作为索引在直方图中累积统计量,当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。在XGBoost中需要遍历所有离散化的值,而在这里只要遍历$k$个直方图的值。

使用直方图算法有很多优点。首先,最明显就是内存消耗的降低,直方图算法不仅不需要额外存储预排序的结果,而且可以只保存特征离散化后的值。

;