论文笔记-recsys'12-Xbox推荐系统: Bayesian MF

1. 论文简介

下载地址:http://www.eng.tau.ac.il/~noamk/papers/KNPS12.pdf

文章发表在Recsys 2012上,作者是微软以色列Herzliya研发中心的。

2. 论文场景

主要为了解决微软Xbox Live Marketplace上的游戏和电影推荐。因此希望推荐算法能够做到跨领域(cross-domain)。

3. 数据特点

Xbox的用户平均拥有18款游戏,观看7部电影。其中用户不怎么玩的游戏,或没完整观看的电影都被过滤掉了。

由于Xbox的用户量很大,一部新的游戏或电影上架很快就有用户找到并购买,因此不存在item冷启动问题。

用户会主动搜索游戏并购买,因此对游戏来说,也不存在用户冷启动问题。但是对电影来说,存在用户冷启动问题。这也是希望推荐算法能够跨领域的原因,通过游戏数据来弥补电影数据的不足。

没有评分信息,只有隐式反馈(购买、观看)正样本

负样本是随机生成的,从item的池子里过滤掉这个用户拥有的,再按照item的热度随机生成与正样本数量相等的负样本。热度即是item在正样本池子里出现的次数。

4. 系统架构

论文笔记-recsys'12-Xbox推荐系统: Bayesian MF_第1张图片

5. 关键模型

推荐模型基于SVD,即将稀疏的0-1矩阵分解为M=U'V。与传统的SVD方法不同,加上了一步bayesian推导的过程:


其中p(l_ij | u_i, v_j, b_j)即是带偏置的SVD的预测函数,q(u_i) q(v_j)等用于计算各个latent vector的先验概率,假设参数服从高斯分布。

u_i v_j b_j q(u_i) q(v_j) q(b_j)都是离线算好的, p(l_ij | u_i, v_j, b_j)是实时计算的。

6. 评测方法

评测方法用了2个: Precision和Mean rank。

将用户的positive samples留下一个用于测试,剩下的用来训练。

计算Precision时首先构建一个分类问题:除了预留的一个正样本,再从用户没有关联的item中按照热度随机选一个负样分,对正样本和负样本做分类。效果如下,其中Non-Uniform即是按照热度选择测试负样本,Uniform是等概率选的:

论文笔记-recsys'12-Xbox推荐系统: Bayesian MF_第2张图片

Mean rank是指,把这个正样本塞到剩下的大约8000个item中进行排序,看能排到第几。结果也很有意思,历史记录越丰富的用户,效果越差。论文解释说,纪录越丰富的用于,选择的长尾内容越多,不太好建模。

论文笔记-recsys'12-Xbox推荐系统: Bayesian MF_第3张图片

7. 外部技术

论文进行bayesian推导时用了一个近似算法,来自于:Expectation Propagation。

求解是用的是微软剑桥研究院开发的MatchBox库。

8. 其他摘要

论文强调说,推荐系统的关键在于”长尾化用户的体验“:把合适的长尾内容推送给可能感兴趣的特定用户,这对提升用户的活跃度很很有帮助的。

你可能感兴趣的:(游戏,算法,vector,测试,微软)