机器学习算法总结12:LightGBM

LightGBM是一个梯度(Gradient Boosting,GB)框架,可用于分类、回归、排序等机器学习任务。相比于XGBoost,LightGBM在不降低准确率的前提下,速度提升了10倍左右,占用内存下降了3倍左右。
直方图算法(Histogram Algorithm)的基本思想是将连续的特征离散化为k个离散特征,同时构造一个宽度为k的直方图,用于统计信息(含有k个bin)即将连续值映射到对应bin中,利用直方图无需遍历数据,只需遍历k个bin即可找到最佳分裂点(连续特征离散化),直方图可以使得内存占用更小,计算代价更小。
机器学习算法总结12:LightGBM_第1张图片
直方图加速:
在构建叶结点的直方图时,还可以通过父结点的直方图与相邻叶结点的直方图相减的方式构建,从而减少了一半的计算量,在实际操作中,可以先计算直方图小的叶结点,然后利用直方图作差来获得直方图大的叶结点的直方图。
带限制的Leaf-wise算法:
树的生长方式有两种:Level-wise和Light-wise.
Leaf-wise每次选择计算增益最大的结点进行分裂,减少了计算量,但是可能会生成较深的树,所以配合最大深度的限制防止过拟合。
直接支持类别特征:
大部分机器学习方法都不能直接支持类别特征,一般都会对类别特征进行编码(one-hot编码),这样在时间和空间上效率都不高,LightGBM通过更改决策树算法的决策规则,直接支持类别特征,不需要转化,提高了近8倍的速度。
LightGBM和XGBoost对比:
机器学习算法总结12:LightGBM_第2张图片

学习视频:玩转LightGBM

你可能感兴趣的:(机器学习)