高级算法梳理-Task4
LightGBM梳理
1、LightGBM
LightGBM是个快速、分布式的、高性能的基于决策树算法的梯度提升框架。可用于排序、分类、回归以及很多其他的机器学习任务中。
因为他是基于决策树算法的,它采用最优的leaf-wise策略分裂叶子节点,然而其它的提升算法分裂树一般采用的是level-wise。因此,在LightGBM算法中,当增长到相同的叶子节点,leaf-wise算法比level-wise算法减少更多的loss,因此导致更高的精度。与此同时,它的速度也让人感到震惊,这就是该算法名字Light的原因。
2、LightGBM的起源
LGB是一种GBDT的工程实现。常见的机器学习算法,例如神经网络等算法,都可以以mini-batch的方式训练,训练数据的大小不会受到内存限制。而GBDT在每一次迭代的时候,都需要遍历整个训练数据多次,如果把整个训练数据装进内存会限制训练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。尤其面对工业级海量的数据,普通的GBDT算法是不能满足其需求的。
LightGBM提出的主要原因就是为了解决GBDT在海量数据遇到的问题,让GBDT可以更好更快地用于工业实践。
3、Histogram VS pre-sorted(如何寻找最优切分点)
Pre-sorted:
之前的GBDT工具都是基于预排序(pre-sort