20240318-1-推荐算法gbdt_lr-gbdt lr

时间:2024-03-29 22:42:52

在这里插入图片描述

gbdt+lr是facebook提出在线广告模型,我们知道LR之前在广告和推荐系统由于其快速的计算
而被广泛使用,使用由于lr是线性模型,其模型表现能力不强,需要做大量的特征工程。
facebook提出提出使用决策树进行特征embedding。
为了提升线性分类器的准确度,有两种方法进行特征变换:

  1. 对于连续特征。先进行离散化bin,然后把bin的编号作为离散型特征。这样的话,线性模型可以分段的学习到一个非线性的映射,在每一段内的映射是不变的。另外,对于bin边界的学习非常重要
  2. 对于离散特征。做笛卡尔积,生成的是tuple input features。笛卡尔积穷举了所有的特征组合,其中也包含部分没用的组合特征,不过可以筛选出来。
    提升决策树(boosted decision tree)就可以很方便很好的实现上面我们说的这种非线性和tuple特征变换。对于一个样本,针对每一颗树得到一个类别型特征。该特征取值为样本在树中落入的叶节点的编号。举例来说:

    上图中的提升决策树包含两棵子树,第一棵树包含3个叶节点,第二棵树包含2个叶节点。输入样本x,在两棵树种分别落入叶子节点2和叶子节点1。那么特征转换就得到特征向量[0 1 0 1 0]。也就是说,把叶节点编号进行one-hot编码。
    那么, 怎么样直观的理解这种特征变化:
  • 看做是一种有监督的特征编码。把实值的vector转换成紧凑的二值的vector。
  • 从根节点到叶节点的一条路径,表示的是在特征上的一个特定的规则。所以,叶节点的编号代表了这种规则。表征了样本中的信息,而且进行了非线性的组合变换。
  • 最后再对叶节点编号组合,相当于学习这些规则的权重。