协同过滤(4): Modeling User Exposure
前言
-
发表在WWW2016 上的一篇推荐的论文
- 本篇笔记为本人原创,如需转载引用,请务必在文中附上原链接及相应说明,包括作者信息(阿瑟)
- 码字不易,好心人随手点个赞
- 本篇笔记为速读笔记,非标准译文,其中包含了笔者自己对问题的部分理解,仅供参考,欢迎学习交流
摘要
通过利用用户之间的相似模式,CF 分析用户对项目 的偏好。在隐式反馈设置中,所有的项目,包括用户没有使用的项目,都被考虑在内。但这种假设不符合常识,即用户对项目的范围和意识是有限的。例如,用户可能没有听说过某份报纸,或者住得离餐馆太远而无法体验它。在因果分析的语言[9]中,分配机制(即用户接触的项目)是一个潜在变量,可能会随着各种用户/项目组合而改变。本文提出了一种新的概率方法,将用户对项目的曝光直接引入到CF中。曝光被建模为一个潜在变量,模型从数据推断其值。
文中提出 Exposure MF (ExpoMF)的概率推荐模型,它可以分别从用户是否最终决定点击某个项目中获取用户是否已经接触到该物品的信息。这导致了一个在估计用户偏好和估计曝光量之间迭代的算法,也就是说,为什么未点击的项目未被点击。在估算偏好时,它会自然而然地降低预期用户会喜欢但未点击项目的权重,因为它假设用户没有接触到这些项目。
举例说明:想象一个听众对另类摇滚乐队(如 Radiohead)有着强烈的偏好。假如在一个数据集中,有一些用户没有听过的 Radiohead 的歌曲。有一些不同的原因可以解释为什么用户没有收听歌曲(例如,用户的收听预算有限,某首歌曲太新,或者无法从某个特定的在线服务中获得)。根据用户的收听记录,这些未收听的音乐很可能是很好的推荐。在这种情况下,我们的模型会假设用户不知道这些音乐 —— 她没有接触过这些音乐 —— 并在推断用户的偏好时减少这些音乐的(负面)贡献。
我们可以通过考察推荐问题的两个方面(曝光和偏好建模),分析这个模型。我们可以建立用户曝光模型,该模型由附加信息(如商品内容)引导,如果通常通过搜索或用户/商品位置暴露商品,如果用户和商品是按地理位置组织的。
举例说明:在纽约和拉斯维加斯的推荐系统餐厅。纽约人只接触到纽约市的餐馆。从我们的模型的角度来看,与拉斯维加斯的无人光顾的餐馆相比,纽约的无人光顾的餐馆在获取纽约人的偏好方面提供了更多的信息。
因此,对于纽约的用户,我们的模式将增加纽约未光顾餐厅的权重,同时减少未光顾拉斯维加斯餐厅的权重。
算法

模型具体描述
涉及两个矩阵:曝光矩阵: 记录用户是否暴露给物品;点击矩阵/交互矩阵
用户是否点击过物品。 曝光概率按照伯努利分布涉及,当用户曝光后,按照标准的MF计算交互概率。




有趣的是,aui 的低值会降低

我们从联合概率中得出的用户暴露的直觉还没有涉及暴露的先验概率。正如我们前面提到的,曝光aui还有一系列丰富的选择,可以用上其他信息。
曝光的层次建模
关于曝光主要是考虑如何选择或者学习,最简单的就是设置一个统一的值给所有用户/物品,这意味着用户嵌入,物品嵌入以及点击将完全决定曝光(条件下的方差超参数)。另外一种就是给每组u,i设置不同值,需要有特定的额外信息来设置曝光(这些信息成为曝光协量 exposure covariates),比如说未知信息,文章内容等。 然而,我们发现实际效果对这种选择非常敏感,因此需要对
做灵活可行的参数设置。
因此引入了一个曝光模型参数,以及相应的条件

Per-item 根据物品流行度,流行度越高,曝光率越高;选择一个与物品相关的共轭先验模型。此模型不使用任何外部信息(除了单击)。

Text topics or locations as exposure covariates.
在推荐文本的场景中,我们将曝光协变量视为每个文档的单词集。在基于位置的推荐中,暴露协变量是被推荐的场所的位置。
对于一个文档,考虑用一个L维向量x_i来表示文档内容(通过NLP技术);对于场馆,通过对数据集位置聚类,得到一个场馆的位置信息x_i。 对于每种信息,都把x_i归一化,


ExpoMF 的 EM 推理过程可以通过写出模型的完全对数似然函数,然后在计算缺失数据(暴露)的期望值(E-步)和求参数的似然最大值(M-步)之间交替进行。
这个过程对我们的模型是解析的,因为它是条件共轭的,这意味着每个随机变量的后验概率和它在模型中的先验属于同一族。
E-step在E步中:计算曝光参数的期望,只考虑当点击为0的情况(点击为1时,曝光为0)

M-step 假设是E-步计算得到的期望,更新目标嵌入的过程如下:

曝光先验更新:Per-item:

预测

END
本人简书所有文章均为原创,转载请提前联系 。百度和CSDN等站皆不可信,搜索请谨慎鉴别。本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新文章https://www.jianshu.com/u/40d14973d97c