RS:关于协同过滤,矩阵分解,LFM隐语义模型三者的区别

项亮老师在其所著的《推荐系统实战》中写道:算法

第2章 利用用户行为数据
2.2.2 用户活跃度和物品流行度的关系
【仅仅基于用户行为数据设计的推荐算法通常称为协同过滤算法。学术界对 协同过滤算法进行了深刻研究,提出了不少方法,好比
基于领域的方法(neighborhood-based)、
隐语义模型(latent factor model)、
基于图的随机游走算法(random walk on graph)
 
在这些方法中,最著名的、在业界获得最普遍的算法是 基于领域的方法。而基于领域的方法主要包含下面两种算法:
  •  基于用户的协同过滤算法(这种算法给用户推荐和他兴趣类似的其余用户喜欢的物品。)
  • 基于物品的协同过滤算法(这种算法给用户推荐和他以前喜欢的物品类似的物品。)
 

协同过滤推荐基于这样的假设:为用户找到他真正感兴趣的内容的方法是,首先找与他兴趣类似的用户,而后将这些用户感兴趣的东西推荐给该用户。因此该推荐技术最大的优势是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影等,并能发现用户潜在的兴趣点。协同过滤推荐算法主要是利用用户对项目的评分数据,经过类似邻居查询,找出与当前用户兴趣最类似的用户群,根据这些用户的兴趣偏好为当前用户提供最可能感兴趣的项目推荐列表。为更进一步地说明协同过滤推荐算法的推荐原理,本文以用户对电影的推荐为例进行阐述。表1 是用户对电影评分数据的一个简单矩阵的例子,其中每一行表明一个用户,每一列表明一部电影,矩阵中的元素表示用户对所看电影的评分,评分值通常是从1到5 的整数,评分值越大代表用户喜欢该电影。dom

对表1 中的数据利用协同过滤推荐算法,系统查找到用户Alice、Bob 和Chris 具备类似的兴趣爱好,由于他们对后3 部电影的评分相同,那么系统会推荐电影Snow white 给Chris,由于与其兴趣偏好类似的用户Alice 和Bob 对该电影的评分值较高。在表2 中,对于新用户Amy,没有评分信息,根据协同过滤推荐算法,没法根据评分信息查找与其兴趣偏好类似的用户,因此系统没法为该用户推荐电影,一样对于新电影Shrek,因缺少评分信息系统没法感知它的存在,因此也没法将其推荐出去。这就是协同过滤推荐算法所存在的新用户和新项目问题。spa

 

 

 

 

【Reference】.net

1. 《推荐系统实战》设计

2.  CSDN上关于MF的两个总结:(可是这两个博文关于CF和MF和LFM三者关系的概括并不太准确)

推荐系统中的矩阵分解总结(https://blog.csdn.net/qq_19446965/article/details/82079367?tdsourcetag=s_pctim_aiomsg对象

推荐系统:协同过滤collaborative filtering(https://blog.csdn.net/pipisorry/article/details/51788955/?tdsourcetag=s_pctim_aiomsgblog

相关文章
相关标签/搜索