最初是由Facebook在2014年提出,并被广泛运用于点击率预估项目上,被证明有效。

动机在于GBDT无法直接处理海量的离散特征,复杂度太高,所以主要思路就是就是先用已有特征训练GBDT模型,然后利用GBDT模型学习到的树来构造新特征,最后把这些新特征加入原有特征一起训练模型。构造的新特征向量是取值0/1的,向量的每个元素对应于GBDT模型中树的叶子结点。当一个样本点通过某棵树最终落在这棵树的一个叶子结点上,那么在新特征向量中这个叶子结点对应的元素值为1,而这棵树的其他叶子结点对应的元素值为0。新特征向量的长度等于GBDT模型里所有树包含的叶子结点数之和。最后的输出一般会接一个Logistic Regression,事实上就是一种stacking的模型融合方式。



GBDT构建组合特征


那么,GBDT中需要多少棵树能达到效果最好呢?具体数字显然是依赖于你的应用以及你拥有的数据量。一般数据量较少时,树太多会导致过拟合。在作者的应用中,大概500棵左右效果就基本不改进了。另外,作者在建GBDT时也会对每棵树的叶子结点数做约束——不多于12个叶子结点。



参考文献:

Xinran He et al. Practical Lessons from Predicting Clicks on Ads at Facebook, 2014. 

相关文章:

  • 2022-12-23
  • 2021-10-26
  • 2022-02-28
  • 2021-09-01
  • 2022-01-20
  • 2021-07-03
猜你喜欢
  • 2022-12-23
  • 2022-01-21
  • 2021-10-24
  • 2021-10-03
  • 2021-06-01
  • 2021-11-23
  • 2021-05-13
相关资源
相似解决方案