算法原文是:
LightGBM:A Highly Efficient Gradient Boosting Decision Tree
一句话:
LightGBM是GBDT的运行速度上的升级版
文章结构如下:
L i g h t G B M = { G o s s ( G r a d i e n t ? b a s e dO n e ? S i d e S a m p l i n g ) E F B ( E x c l u s i v eF e a t u r eB u n d l i n g ) LightGBM=\left\{ \begin{aligned} Goss(Gradient-based\ One-Side Sampling)\\ EFB(Exclusive\ Feature\ Bundling) \\ \end{aligned} \right. LightGBM={Goss(Gradient?based One?SideSampling)EFB(Exclusive Feature Bundling)?
Goss
先根据梯度对样本进行排序,选取 a * 100% 的top样本,再从剩余数据中随机选取 b * 100% 的样本,并乘以 ?的系数放大。
同学们 ,到底什么是"根据梯度"对样本进行排序?
文章图片
假设我们现在的数据集只有一个特征,那么我们怎么筛选数据集呢?
根据上面的图我们可以知道,图中处于黑色区段的特征取值的那一部分数据集就是我们需要的数据集.
也就是说,论文的意思是:
GOSS则通过保存大梯度样本,随机选取小梯度样本,并为其弥补上一个常数权重。这样,GOSS更关注训练不足的样本,同时也不会改变原始数据太多。
##################################################
然后我们来看看EFB是啥意思?
根据论文原文中的一段话:
Specially,in a sparse feature space,many features are mutually exclusive,i.e.they never take nonzero values simultaneously.
什么意思呢?
特征A | 特征B | 类别 |
---|---|---|
1 | - | get cancer |
- | big | healthy |
3 | - | get cancer |
_ | large | healthy |
所以这里相当于是在lightGBM的分类器内部进行了"数据预处理"
推荐阅读
- 机器学习算法系列(七)-对数几率回归算法(一)(Logistic Regression Algorithm)
- 机器学习算法系列(六)- 弹性网络回归算法(Elastic Net Regression Algorithm)
- 机器学习算法系列(五)- Lasso回归算法(Lasso Regression Algorithm)
- 机器学习算法系列(四)- 岭回归算法(Ridge Regression Algorithm)
- 机器学习算法系列(二)- 口袋算法(Pocket Algorithm)
- 机器学习算法系列(一)- 感知器学习算法(PLA)
- 机器学习算法系列(〇)- 基础知识
- 机器学习算法|树类算法之---lightGBM使用与调参
- HMM之维特比算法
- spark|ALS算法推荐