推荐算法简介:基于用户的协同过滤基于物品的协同过滤基于内容的推荐风清云淡

协同过滤是目前应用最广泛的推荐算法,它仅仅通过了解用户与物品之间的关系进行推荐,而根本不会考虑到物品本身的属性。

可分成两类:

1、基于用户(user-based)的协同过滤

2、基于商品(item-based)的协同过滤

1.1.1、基于用户的协同过滤

基本思想:

基于用户对物品的偏好找到邻居用户(相似用户),然后将邻居用户(相似用户)喜欢的东西推荐给当前用户。

(用户喜欢那些和他有相似爱好的用户喜欢的东西)

计算方法:

将一个用户对所有物品的偏好作为一个向量,计算用户之间的相似度。找到邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测

当前用户未涉及的物品,计算得到一个排序的物品列表作为推荐。

相似度即为两个向量之间的距离。距离越小相似度越大。

比如:用户A与用户B相似,那么就会给用户A推荐“用户A未涉及但是用户C喜欢的东西”,也就是物品D了。

缺点:

基于用户的协同过滤难以形成有意义的邻居集合。

在很多时候,很多用户两两之间只有很少几个共同评分,也就是用户之间的重合度并不高。而仅有的共同打了分的物品,往往是一些很常见的物品(如票房大片,如生活必需品)

再者,用户之间的距离可能会变得很快,这种离线算法难以瞬间更新推荐结果。

1.1.2、基于物品的协同过滤

算法思想:

基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品。

(用户喜欢跟他过去喜欢的物品相似的物品)

将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度。

得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有涉及的物品的偏好,计算得到一个排序的物品列表作为推荐。

比如:物品A和物品C都被用户A和用户B所查看,所以物品A和物品C比较相似。又由于用户C看了物品A,所以我们就会推荐与之相似的物品C给用户C。

优点:

其在线部分能更快的生产推荐列表。

推荐不同领域的畅销作品,这样的推荐结果可能并不是我们想要的。

1.1.3、实现协同过滤的步骤

1、收集用户偏好

2、找到相似的用户或物品

计算相似度的方式

欧式距离

余弦距离

Tanimoto系数

k近邻或基于相似度门槛

3、计算推荐

(2)在描述目标用户偏好时,给其最近喜欢的商品较高权重。

2、在基于用户的协同过滤中:

(1)如果两个用户同时喜欢了相同的物品,那么可以给这两个用户更高的相似度。

(2)在描述邻居用户的偏好时,给其最近喜欢的物品较高权重。

1.2.基于内容的推荐

例子:

电影A和C的类型都是爱情和浪漫,那么就会给看过电影A的人推荐电影C

1.3.三种推荐算法的区别

基于用户的协同过滤:

适于物品比用户多、物品时效性较强的情形,否则计算慢。

推荐结果的个性化较弱,较宽泛,但能实现跨领域、精细度高的结果。

基于物品的协同过滤:

应用最广泛,尤其以电商行业为典型。

适于用户多,物品少的情形,否则计算慢。

在物品冷启动、数据稀疏时效果不佳

推荐精度高,更具个性化

倾向于推荐同类商品,推荐的多样性不足,形成信息闭环。

基于内容的推荐:是最直观的算法

容易受限于对文本、图像、音视频的内容进行描述的详细程序

THE END
1.相关商品推荐:基于协同过滤的推荐算法协同过滤推荐算法是一种根据用户之间的相互作用(例如购买、评分、喜好等)来推荐商品的算法。它可以分为基于用户的协同过滤和基于物品的协同过滤两种类型。 适用场景 协同过滤算法适用于很多领域,比如电商平台、社交网络、新闻推荐、音乐电影推荐等。通过分析用户的行为,协同过滤算法可以为用户提供个性化的推荐产品或内容,提...https://www.jianshu.com/p/396b7c403ee4
2.推荐算法——基于物品的协同过滤算法基于用户的协同过滤算法在用户增长的时候,相似度计算的计算会越来越困难。基于物品的算法给用户推荐他们之前喜欢的物品相似的物品。 算法步骤 计算物品之间的相似度 根据物品的相似度和用户的历史行为给用户生成推荐列表 相似度公式如下: wij=|N(i)∩N(j)||N(i)||N(j)|?...https://www.imooc.com/article/27099
3.基于Hadoop平台的个性化新闻推荐系统的设计AET基于物品的协同过滤推荐,当启动基于物品的协同过滤算法引擎后,指定一个用户为其推荐,系统将查询数据库中该用户浏览过的所有新闻,根据新闻中用户表查询浏览过该新闻的相关用户,然后构建协同过滤算法用户的模型。整个过程封装在MyRecommender类的ItemRecommender方法中,而在ItemRecommender中封装了数据库的一些查询方法和协同过...http://www.chinaaet.com/article/3000056950
1.协同过滤的动态:如何适应用户的变化和新商品的出现协同过滤(Collaborative Filtering)是一种基于用户行为的推荐系统技术,它通过分析用户之间的相似性来推荐相似用户喜欢的商品。协同过滤可以分为基于用户的协同过滤(User-User Collaborative Filtering)和基于项目的协同过滤(Item-Item Collaborative Filtering)。在实际应用中,协同过滤已经成为推荐系统的核心技术之一,广泛应用于...https://blog.csdn.net/universsky2015/article/details/135805077
2.协同过滤算法腾讯云开发者社区协同过滤算法 协同过滤算法是一类常用于推荐系统的算法,它基于用户之间或物品之间的相似性进行推荐。主要分为两种类型:基于用户的协同过滤和基于物品的协同过滤。以下是对这两种协同过滤算法的详细讲解: 1. 基于用户的协同过滤 1.1 思想 基于用户的协同过滤是通过分析用户之间的相似性来进行推荐。该算法的基本思想是:...https://cloud.tencent.com/developer/article/2389581
3.与设备交互的环境用户体验在构建客户同理心中,我们讨论了真正创新的三个测试:解决客户需求,保持客户回头率,以及跨客户队列进行扩展。 对假设的每个测试都需要在采用方法上进行努力和迭代。 本文提供了有关通过环境用户体验来减少工作量的高级方法的见解。 通过与设备而不是应用程序交互,客户可能更有可能首先使用你的解决方案。 https://docs.microsoft.com/zh-cn/azure/cloud-adoption-framework/innovate/considerations/devices
4.java的协同过滤算法有哪些常用的协同过滤算法下面是基于用户协同过滤和基于物品协同过滤的原理讲解。 3. 基于用户的协同过滤 基于用户的协同过滤(以下用UserCF表示),思想其实比较简单,当一个用户A需要个性化推荐的时候, 我们可以先找到和他有相似兴趣的其他用户, 然后把那些用户喜欢的, 而用户A没有听说过的物品推荐给A。 https://blog.51cto.com/u_14344/11714697
5.用Python实现协同过滤的教程python这篇文章主要介绍了用Python实现协同过滤的教程,主要用于从大数据中抽取用户信息偏好等等,需要的朋友可以参考下协同过滤 在 用户 —— 物品(user - item)的数据关系下很容易收集到一些偏好信息(preference),比如评分。利用这些分散的偏好信息,基于其背后可能存在的关联性,来为用户推荐物品的方法,便是协同过滤,或称协作...https://www.jb51.net/article/63730.htm
6.基于图数据库的推荐系统NebulaGraph这其中,过滤的核心方法主要有两种:基于内容的过滤 Content-Based Filtering、与协同过滤 Collaborative Filtering,相关论问介绍可参考延伸阅读 1、2。 基于内容的过滤 内容过滤方法的本质是给用户的偏好做画像,同时对所有待推荐的物品计算特征,做用户的画像与待推荐物品特征之间的距离运算,过滤得到相近的物品。。 https://discuss.nebula-graph.com.cn/t/topic/11491