「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用( 二 )


「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
类似于矩阵分解(MF)的思路 , FM为每个特征学习了一个隐权重向量(latent vector) , 在特征交叉时 , 使用两个特征隐向量的内积作为交叉特征的权重 , 而不是单一的权重 。
通过引入特征隐向量的方式 , 直接把原先
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
级别的权重数量减低到了nk(k为隐向量维度 ,

「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
) 。 在训练过程中 , 又可以通过优化二阶项的计算过程 , 使FM的训练复杂度进一步降低到nk级别 , 极大降低训练开销 。 而且FM解决了上面多项式模型中的数据稀疏问题 。 从公式可以看出 , 所有包含“
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
的非零组合特征”(存在某个
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
, 使得
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
)的样本都可以用来学习隐向量
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
, 这很大程度上避免了数据稀疏性造成的影响 。
而且隐向量的引入也使得模型可以泛化到未曾出现过的特征组合中 , 兼顾了模型的记忆性和泛化性 。
工程方面 , FM同样可以用梯度下降进行学习的特点使其不失实时性和灵活性 。 相比之后深度学习模型复杂的网络结构 , FM比较容易实现的inference过程也使其没有serving的难题 , 直到现在也常被应用于召回阶段 。
3. GBDT + LR
FM虽然综合效果很好 , 但是也只能够做二阶的特征交叉 , 如果要继续提高特征交叉的维度 , 不可避免的会发生组合爆炸和计算复杂度过高的情况 。 那么有没有其他的方法可以有效的处理高维特征组合和筛选的问题?
2014年Facebook在论文中提出了一种级联结构的树模型 , 用于解决这个问题 。
「」一文梳理主流的排序模型,浅谈深度学习在花椒直播排序算法中的应用
本文插图
思想很简单:
先训练一个GBDT模型 , 每棵树自上而下 , 每个节点的分裂是一个自然的特征选择的过程 , 而多层下来自然进行了有效的特征组合 , 这样每个叶子节点就对应了树的一条路径 , 也代表不同的特征交叉组合 , 这样后面就可以将所有叶子节点进行编号作为新的特征 , 再结合原始特征 , 输入LR训练最终的模型 。
树模型的特征组合可以不像FM那样局限于2阶交叉:例如 , 每棵树的深度为5 , 那么通过4次节点分裂 , 最终的叶节点实际上是进行了4阶特征组合后的结果 。 但也不能因此就说GBDT比FM的效果好 , 因为树模型也有自身的缺点 , 比如容易过拟合高维稀疏数据 , 比如不能并行速度慢、比如泛化性差等 。
但GBDT+LR的重要的意义在于 ,