LightGBM
LightGBM LightGBM原理及实现 LigthGBM是boosting集合模型中的新进成员,它和xgboost一样是对GBDT的高效实现,很多方面会比xgboost表现的更为优秀。原理上它和GBDT及xgboot类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。 LightGBM vs xGBoost xgBoost算法的优点: XGB利用了二阶梯度来对节点进行划分,相对其他GBM来说,精度更高。 利用局部近似算法对分裂节点的贪心算法优化,取适当的eps时,可以保持算法的性能且提高算法的运算速度。 在损失函数中加入了L1/L2项,控制模型的复杂度,提高模型的鲁棒性。 提供并行计算能力,主要是在树节点求不同的候选的分裂点的Gain Infomation(分裂后,损失函数的差值) Tree Shrinkage,column subsampling等不同的处理细节。 xgBoost算法的缺点: 需要pre-sorted,这个会耗掉很多的内存空间(2 * #data * # features) 数据分割点上,由于XGB对不同的数据特征使用pre-sorted算法而不同特征其排序顺序是不同的,所以分裂时需要对每个特征单独做依次分割,遍历次数为#data * #features来将数据分裂到左右子节点上。 尽管使用了局部近似计算,但是处理粒度还是太细了