lightGBM 是集成学习的一种,是梯度提升决策树的高效实现。主要有几方面优化:
- 减少分割增益的计算量:分割需要对特征的取值一一计算,当取值较多时计算量较大;lightGBM 采用直方图的方式,将取值划分为多个桶,计算复杂度就和桶数量相关而不是取值数相关。
- 通过直方图的相减来进行进一步的加速:节点直方图可以通过父节点直方图与兄弟节点直方图做差
- 减少内存的使用:直方图将连续数据离散化,减少了存储类型的位数。
- 稀疏特征优化:对于互斥的稀疏特征,将它们进行绑定视作一个特征,减少了特征数。
- ……
论文阅读
机器学习论文:《LightGBM: A Highly Efficient Gradient Boosting Decision Tree》
文档
Github
直方图算法:
直方图算法用于搜索特征的分割点
LightGBM explained系列——Histogram-based algorithm是什麼?
单边梯度采样(GOSS)
用于对梯度较小的样本进行采样,只保留梯度大的样本,减少数据量的同时,不会降低准确率
LightGBM explained系列——Gradient-based One-Side Sampling(GOSS)是什麼?
互斥特征绑定(EFB)
对于过多稀疏的特征,为减少特征数,将无关联的特征绑定作为一个特征,用图上色来求解。
LightGBM explained系列——Exclusive Feature Bundling(EFB)是什麼?
其他文章
What makes LightGBM lightning fast?
LightGBM and XGBoost Explained
LightGBM model explained by shap