GBDT+LR的工作原理?

  统计/机器学习 回归分析 监督式学习    浏览次数: 430
1

很多地方看到GDBT+LR的模型,据说很厉害。

工作原理到底是什么?是简单的将GBDT和LR进行stack吗?

 

niiii   2018-05-23 09:48



   3个回答 
10

简单地说,就是把gbdt的输出,作为logistic regression的输入,最后得到一个logistic regression模型。

例如,gbdt里有$3$棵树$T_1,T_2,T_3$,每棵树的叶节点个数为$4$,第$i$个树的第$j$个叶节点是$L_{i,j}$。

当gdbt训练完成之后,样本$X_1$在第一棵树中被分到了第$3$个叶节点上,也就是$L_{1,3}$,那么这个样本在$T_1$上的向量表达为$(0,0,1,0)$。

样本$X_1$在$T_2$被分到了$L_{2,1}$,那么$X_1$在$T_2$上的向量表达为$(1,0,0,0)$

样本$X_1$在$T_3$被分到了$L_{3,4}$,那么$X_1$在$T_3$上的向量表达为$(0,0,0,1)$

那么$X_1$在整个gbdt上的向量表达为

$$(0,0,1,0,1,0,0,0,0,0,0,1)$$

所以每个样本都会被表示为一个长度为12的0-1向量,其中有3个数值是1。

然后这类向量就是LR模型的输入数据。


sasa   2018-06-07 02:06

4

这个是现在广告业界的套路,好像叫什么ctr。

因为xgb等的梯度提升树训练过于复杂,而lr众所周知过于简单,只能发现线性过于简单,对于交互项和非线性关系没有辨识度,于是大佬们就开发一个新套路,用gbdt的训练数据,gbdt=梯度+树,基于树模型,就有了交叉和非线性,然后把叶子节点放到lr里,这不解决了lr的缺点。

当然,我并没有做过,所以就这样简单粗略说一下,等待大佬给出学术性专业回答。

ps:至于厉害不厉害,就不知道了,工业界比较厉害吧,毕竟谷歌阿里都在用,至于比赛的话,我就不晓得了,我还指望哪个大佬能指点一下我,最近瓶颈啊,完全不知道怎么清洗数据,每次搞完特征,发现还不如原特征往里面塞

陈十一   2018-05-23 10:01

3

简单来说是将GBDT中每棵树的叶节点作为一个新的特征(01变量,如果某样本落在该叶节点上就是1,否则为0)。可以在r中用xgboost的create.features函数手动玩一下。

s3040608090   2018-05-24 13:38



  相关主题

可以对线性回归进行boosting吗?   3回答

逻辑回归的前提假设是什么?   1回答

线性回归的bagging   2回答

python中可以做beta regression的包?   1回答

泊松回归的公式是什么?   1回答

怎么处理真值大部分为0的回归问题   3回答

线性回归需要满足哪些基本前提假设   1回答

怎么理解分位数回归quantile regression的目标函数?   1回答

如果迫使一个线性回归模型的截距为0,会有什么坏处吗?   2回答

常用的回归模型中,哪些具有较好的鲁棒性(robustness)?   1回答

逻辑回归模型中变量的系数怎么理解?   4回答

最小二乘线性回归的推导   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!