我正在学习Coursera MooC的推荐系统。我看到主要有三种类型的过滤方法(在介绍课程中)
一个。基于内容的过滤
湾项目项协同过滤
C。用户 - 用户协同过滤
理解了这一点后,我不确定 - 基于兴趣/偏好的类似用户推荐属于哪里?例如,考虑我有User-> TopicsOfInterest0..n关系。我想根据各自的TopicsOfInterest(向量)推荐其他类似用户。
答案 0 :(得分:0)
我不确定这三种类型是所有推荐系统的详尽分类。
事实上,任何基于矩阵分解的算法(SVD等)都是基于项目和基于用户的。但算法会自动推断TopicsOfInterest
(因子)。例如,Apache Spark包含alternating least squares (ALS)算法的实现。 Spark的API有userFeatures
方法,它返回(粗略)矩阵,预测用户对每个特征的态度。
剩下要做的唯一事情是计算一组最相似的用户到一个给定的用户(例如,通过cosine similarity找到最接近给定用户的向量。)