推荐系统基础之GBDT+LR

1 简介

用户的自身特征、物品的特征以及上下文是推荐系统中极其重要的数据,其中往往包含着大量的信息。因此,如何利用这些原始的特征信息并构建新的信息是非常重要的。GBDT+LR模型是Facebook在2014年提出的模型,顾名思义,这个模型是GBDT模型与LR模型的组合。为什么要采用这两个模型的组合?我们知道,LR是用于CTR预测的一个经典模型,这个模型形式十分简单,只需在输出加上sigmoid函数就可以很好地应用于二分类问题,而LR模型预测的好坏与输入特征有着很大的关系。在机器学习领域,我们通常说,输入特征决定了预测的极限,模型只是在逼近这个极限。因此,如何构造LR模型的输入特征就极为重要了。人工构造特征工作量大又不易泛化,对于不同的问题要重新进行特征构造,采用GBDT模型来构造特征就能够自动构造有效的特征。以GBDT构造的特征作为输入,由LR模型进行分类预测能够很好地弥补人工特征构造的不足,缩短模型开发周期,因此,GBDT+LR的组合在CTR预测任务上具有很好的效果。

2 为什么GBDT能够构造有效的特征

GBDT全称为梯度提升树,它经过多轮迭代,每轮迭代产生一棵决策树,每一棵决策树学习的是前一棵输出的残差,即输出与实际值的差值。因此,GBDT的学习是一个梯度提升的过程,每一轮迭代都将预测的效果提升一点,最终得到的分类器是将每轮训练得到的决策树进行加权求和得到的。GBDT的模型结构如下图所示:
在这里插入图片描述
也就是说,第一棵决策树是将所有的输入特征进行了组合分类,树的每一个叶子就是所构造的一个新的特征,这个特征是输入特征的组合,能够区分一类的数据,而后面每一轮迭代得到的决策树则是将上一棵树的残差进行了特征组合,每一个叶子就是一个新的特征,能够区分一类的残差数据。因此,我们说采用GBDT特征能够自动构造有效的特征。

3 GBDT+LR模型

那么,如何将GBDT的叶子节点所构造的特征输入LR模型呢?下图是GBDT+LR模型的结构:
在这里插入图片描述
以上图为例,GBDT模型得到了两棵决策树,我们将其称为左树和右树,可以看到,左树有三个叶子节点,右树有两个叶子节点,对于一个输入数据,左树的预测结果落在了第二个叶子节点上,我们就表示为010,右树的预测结果落在了第二个叶子节点上,表示为01,那么LR的输入就是01001。可以看出来,这其实就是对输出的叶子节点标号(第几个叶子节点)做了one-hot编码,左树的预测叶子节点是2,左树共有3个叶子节点,那么one-hot编码后就是010。
具体如何实现呢?分为以下几个步骤:

  • 以原始特征作为输入,训练一个GBDT模型
  • 使用GBDT模型每棵树对 x i x_i xi的预测叶子节点的标号作为对这条数据所构造的新的特征数据,那么对于整个数据集来说,LR模型的输入数据的大小就是 N ∗ n u m s N*nums Nnums,其中N是数据条数,nums是GBDT模型的树的个数。对这些数据进行one-hot编码,就得到LR模型的输入。
  • 将编码后的数据输入LR模型中进行训练。

4 总结

GBDT+LR模型这种算法提供了一种很好的CTR预测思路,即一个模型用于构造特征,另一个模型能够快速处理大量数据进行预测。由此延伸开来,GBDT+FM模型也在工业应用中有了一定的实践。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值