LightGBM的GOSS和EFB原理是什么?
LightGBM通过GOSS(梯度单边采样)和EFB(互斥特征捆绑)两大创新实现了比XGBoost更快的训练速度。请解释这两个技术的原理和优势。
回答
Yahuda
GOSS(Gradient-based One-Side Sampling):
- 核心思路:梯度大的样本(未充分训练)更重要,梯度小的样本(已训练好)可少量保留
- 步骤:
- 按梯度绝对值降序排列,取Top a%的大梯度样本
- 从剩余样本中随机采样b%的小梯度样本
- 对小梯度样本乘以权重系数 (1-a)/b 以保持数据分布
- 优势:在不损失太多精度前提下大幅减少计算量
EFB(Exclusive Feature Bundling):
- 核心观察:高维稀疏特征中很多特征互斥(几乎不同时为非零值),可捆绑为一个特征
- 步骤:
- 构建加权图(点=特征,边=特征冲突数),用贪心算法捆绑
- 对捆绑的特征组用直方图算法合并
- 优势:将O(#data × #feature)复杂度降到O(#data × #bundle),常用于处理百万级特征
其他亮点:采用leaf-wise(按叶生长)策略替代level-wise,配合max_depth限制防止过拟合。