列表

详情


57. 请你说一下推荐系统中的几种排序

回答思路

(1)LR 概念:LR即为logistic re

(1)LR

概念:LR即为logistic regress,是一种线性回归分析模型,常见应用于分类问题中,属于利用对数损失函数的判别式分类方法。

推导原理:考虑具有n个独立变量的向量

gress,是一种线性回归分析模型,常见应用于分类问题中,属于利用对数损失函数的判别式分类方法。 推导原理:考虑具有n个独立变量的向量,设条件概率为根据观测量相对于某事件x发生的概率,则逻辑回归模型可以表示为 ,此处,称为 

场景应用(以商业门店推荐为例,针对召回策略返回的数据,预估点击率进行精排处理):

x项可以理解为特征值,如用户的年龄,用户的性别,门店的类别,门店的价格等;w项是每个特征值的权重;计算结果介于0到1之间,越接近1,越可能被点中了,越接近0,被点击的概率越小

对于已经存在的数据,特征值和结果有映射关系,要么是被点击的正样本,要么是没被点击的负样本,基于这些样本数据训练得到模型

在进行预测时,对于新item,将其特征值输入,得到结果(是否被点击)作为排序的权重(正相关),结果值越大,排序权重越靠前,否则越小。

(2)FM:

概念:因子分解机(Factorization Machine)算法用于解决大规模稀疏数据下的特征组合问题,可视作带特征交叉的LR,常用于推荐、搜索的排序场景。

推导原理:以特征两两组合的二阶场景为例,FM模型表达式:

其中vi表示第i特征的隐向量,<. , .>表示两个长度为k的向量的内积,计算公式为:

参数因子化表示后,使得的参数与的参数不再相互独立,这样就可以在样本稀疏情况下相对合理的估计FM模型交叉项的参数。FM模型的复杂度为O(kn^2),但是通过等价转换,可以将FM的二次项化简,复杂度优化为O(kn),有:

场景应用(电商场景为例):

对于某个用户,将属于这个用户子集合的特征,查询离线训练好的FM模型对应的特征embedding向量,然后将n个用户子集合的特征embedding向量累加,形成用户兴趣向量U,这个向量维度和每个特征的维度是相同的(物品对应子集合特征同理)。

对于每个用户以及每个物品,将每个用户的兴趣向量离线算好,存入在线数据库,如redis、faiss。当用户登录或者刷新页面时,可以根据用户ID取出其对应的兴趣向量embedding,然后和存储的物料embedding做内积计算,按照得分由高到低返回得分top K的物料作为召回结果,提交后续排序。

从优化的角度,可以引入用户在每一次刷新都可能需要重新捕获的场景上下文特征,得到更加完整高效的召回排序模型。

(3)Wide&Deep:

Wide&Deep模型最早由谷歌提出,并应用于Android手机应用商店上APP的推荐排序,该模型将传统模型和深度学习模型相结合。Wide部分(传统模型,如logistic回归)起记忆作用,即从历史数据中发现item或者特征之间的相关性,deep部分(深度学习模型)起泛化作用,即相关性的传递,发现在历史数据中很少或者没有出现的新的特征组合,寻找用户的新偏好。通过将这两个部分结合可以更好的在用户的历史兴趣和探索新的兴趣点之间做到平衡。

DeepFM采取Wide & Deep的框架,差异在于将Wide部分的LR替换为了FM,从而自动构造二阶特征叉乘,而非手工设计叉乘。其中,DeepFM的输入可由连续型变量和类别型变量共同组成,且类别型变量需要进行One-Hot编码。而正由于One-Hot编码,导致了输入特征变得高维且稀疏。应对的措施是:针对高维稀疏的输入特征,采用word2vec的词嵌入方式,把高维稀疏的向量映射到相对低维且向量元素都不为零的空间向量中。由下面网络结构图可以看到,DeepFM包括FM和DNN两部分,所以模型最终的输出也由这两部分组成:


上一题