Loading

推荐系统中协同过滤的理解

在海量的用户中找与自己品味类似的人,发现他们的喜好,从而为自己提供选择

协同过滤是利用集体智慧的一个典型方法。

协同过滤是推荐的核心算法,即集体智慧和推荐是关联的

要理解什么是协同过滤 (Collaborative Filtering, 简称 CF),首先想一个简单的问题:

如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?
大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想

核心原理:协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。

协同: 使用多个用户的数据训练模型,借助群体智慧的同时也避免了单个用户数据的信息不足

过滤: 把十亿量级的商品降低到数百量级甚至更少,解决信息过载问题。

结合两种思想就是协同过滤,使用多个用户的数据来训练一个模型模型输入可以有用户信息物品信息,还可以有上下文信息等等,模型输出各物品的预测评分,最后仅取分数top K的物品推荐给用户

冷启动阶段:就是什么数据都没有的阶段

马太效应:马太效应就是越流行的东西随着搜索过程的迭代会越流行,使得那些越不流行的东西石沉大海。(好的更好,坏的更坏)

长尾理论:人们只关注曝光率高的项目,而忽略曝光率低的项目


协同过滤和共现矩阵

协同过滤与同现矩阵


搜索引擎和推荐系统的区别

搜索引擎更倾向于人们有明确的目的,可以将人们对于信息的寻求转换为精确的关键字,然后交给搜索引擎最后返回给用户一系列列表,用户可以对这些返回结果进行反馈,并且是对于用户有主动意识的,但它会有马太效应的问题。

​ 而推荐引擎更倾向于人们没有明确的目的,或者说他们的目的是模糊的,通俗来讲,用户连自己都不知道他想要什么,这时候正是推荐引擎的用户之地,推荐系统通过用户的历史行为或者用户的兴趣偏好或者用户的人口统计学特征来送给推荐算法,然后推荐系统运用推荐算法来产生用户可能感兴趣的项目列表,同时用户对于搜索引擎是被动的

​ 其中长尾理论可以很好的解释推荐系统的存在,试验表明位于长尾位置的曝光率低的项目产生的利润不低于只销售曝光率高的项目的利润。推荐系统正好可以给所有项目提供曝光的机会,以此来挖掘长尾项目的潜在利润

如果说搜索引擎体现着马太效应的话,那么长尾理论则阐述了推荐系统所发挥的价值

基于协同过滤的推荐算法综述 - 知乎 (zhihu.com)这篇讲的太好了

基于内容和基于协同过滤的区别

协同过滤和基于内容推荐有什么区别

1、协同过滤算法与基于内容推荐算法所使用的数据维度不同。

​ 【协同过滤】侧重使用用户对于商品的历史交互记录,即用户-商品二维矩阵;而【基于内容推荐】侧重于对用户或者项目的属性信息建模,比如用户的性别、年龄,商品的颜色、大小等属性。

​ 对于同一用户而言:【基于内容推荐】需要利用用户的性别、年龄、爱好等组成特征向量来表示;而【协同过滤】需要根据该用户所在矩阵的某一行来进行表示,即利用用户对于所有商品的交互记录来表示。

​ 换句话说,协同过滤算法中的用户/商品表示可以看做特殊的基于内容的表示,只不过是把用户的具体内容属性换为了用户的历史行为特征。

2、协同过滤算法与基于内容推荐算法的核心思想不同。

​ 【协同过滤】侧重于从大数据(集体智慧)中寻找某些隐含的模式,即通过用户对于商品的历史交互记录来寻找相似的用户;而【基于内容推荐】则侧重于通过对象的属性信息来进行匹配建模进而寻找相似的用户或者商品。

3、协同过滤算法与基于内容推荐算法的实现技术不同。

​ 【协同过滤】将用户-商品评分二维矩阵当做输入送入模型进行训练进而产生输出,典型的模型为矩阵分解user-based cfitem-based cf;而【基于内容推荐】侧重将用户或者商品的特征信息作为输入特征,进而送入分类器进行建模,典礼的模型为LR。

4、协同过滤算法与基于内容推荐算法好坏的决定因素不同。

​ 【协同过滤】算法随着用户对于商品的交互记录增多会使得模型能够更精确的捕捉用户的行为习惯,进而使得模型能够不费用额外的人工的方式来提高精度(但他在初期会面临冷启动问题的困扰)。【基于内容推荐】侧重于特征工程,算法的好坏由用户和商品的内容属性所决定,因此需要较强的领域知识,但他的好处是不存在冷启动的问题。

posted @ 2022-08-15 15:38  EEvinci  阅读(72)  评论(0编辑  收藏  举报