1、LightGBM
LightGBM是基于Boosting思想的分布式算法,基学习器为CART决策树。
2、LightGBM的起源
2.1 传统的特征并行算法不能有效地加速特征选择的效率,当数据量很大时,该并行方法不能加快效率。并且,最优的分裂结果需要在worker之间进行传输,需要消耗很多的传输资源以及传输时间。
2.2 传统的数据并行算法网络传输代价比较大,如果使用point-to-point的传输算法,每个worker的传输代价为O(#machine * #feature * #bin)。 如果使用All Reduce并行算子,传输代价为O(2* #feature * #bin)。
3、Histogram VS pre-sorted
3.1 Histogram
(1) 把连续的浮点特征值离散化成N个整数,构造一个宽度为N的直方图;对于分类特征,则是每一种取值放入一个bin,且当取值的个数大于max_bin数时,会忽略那些很少出现的category值。
(2) 遍历数据时,根据离散化后的值作为索引在直方图中累积统计量。
(3) 一次遍历后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。
3.2 pre-sorted
对所有特征都按照特征的数值进行预排序,基本思想是对所有特征都按照特征的数值进行预排序;然后在遍历分割点的时候用O(#data)的代