MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS
Yehuda Koren, Yahoo Research
Robert Bell and Chris Volinsky, AT&T Labs—Research
在看到MF的时候不太清楚,这个具体是个啥,说是根据SVD进行矩阵的分解,在看了论文后有了一个大体的了解。现在先大概的介绍下思路:假设用户物品的评分矩阵A是m*n维,即一共有m个用户,n个物品.通过算法转化为两个矩阵P和Q,矩阵P的维度是m乘k,矩阵Q的维度是n乘k。其中 P u j P_{uj} Puj表示用户u对第j个因素的偏好程度, Q i j Q_{ij} Qij表示item i在第j个因素上的程度。
在文章开头提到在商品推荐种矩阵分解要优于最近邻技术,可以合并其他信息,例如隐式反馈,时间效应和置信度。
电子零售商和内容提供者为了提高消费者对其的满意度和忠诚度,对于推荐系统有了较大的兴趣,可以分析用户的对于产品的兴趣,给出个性化的推荐
- **Recommender System Strategies **
介绍之前的推荐算法。
content filtering:有对用户和商品进行画像的描述从而进行推荐;或者只基于用户的过往行为:交易行为,产品打分等。
collaborative filtering:相比于内容过滤,协同过滤更为准确,可以无视领域问题,对于难以刻画形象的物品或用户可以很好的处理;不过其却会面临冷启动的问题,在这个问题上,内容过滤要表现的好一点。
其中协同过滤还可以分为两类:邻域方法和潜在因子模型(neighborhood methods and latent factor models)
其中neighborhood method又可以分为item-oriented approach和user-oriented approach两种,分别计算item或user之间的关系。
latent factor models尝试解释评分,通过将item和user特征化表示。
举例在两个维度上:serious-escapist,male-female。其中用户Dave和电影Ocean’s 11在这两个维度上就比较中立。某个用户可能就会喜欢看Dumb and Dumber,而不喜欢The Color Purple,Braveheart的评价可能就会比较中立。评分相当于用户和电影在图中位置的点积。
-
Matrix Factorization Methods
latent factor 最成功的实现是基于矩阵分解的(Some of the most successful realizations of latent factor models are based on matrix factorization. )
关于推荐系统的输入数据,通常是输入一个矩阵,其中矩阵的一个维度用来表示用户,其他维度表示用户感兴趣的item。这其中最便利的数据就是显示反馈(explicit feedback),类似于用户对于item的评分或者打星又或者类似于B站的赞和不赞等;当用户的显示反馈不易得到时,可以使用用户的隐式反馈(implicit feedback),类似于用户的购买记录,搜索模式或者鼠标的移动等信息。
关于矩阵分解的优势就在于可以合并附加的信息进行推荐,如果显示反馈不易得到,可以使用隐式反馈的信息。
其中关于显示反馈,得到的矩阵通常稀疏的,因为item是很多的,而单个用户感兴趣的item通常只有一小部分(Usually, explicit feedback comprises a sparse matrix, since any single user is likely to have rated only a small percentage of possible items)。关于隐式反馈,通常一个事件都是发生或者没发生,所以通常得到的是一个比较密集的矩阵(Implicit feedback usually denotes the presence or absence of an event, so it is typically represented by a densely filled matrix. )。
-
**A Basic Matrix Factorization Model **
通过将user 和item使用latent factor将其映射到维度为f的空间。
每个item i 被表示为 q i ∈ R f q_i\in R^f qi∈Rf,每个user u 被表示为 p u ∈ R