基于用户(UserCF)和基于物品(ItemCF)协同过滤算法原理

丰富的线上&线下活动,深入探索云世界

做任务,得社区积分和周边

最真实的开发者用云体验

让每位学生受益于普惠算力

让创作激发创新

资深技术专家手把手带教

遇见技术追梦人

技术交流,直击现场

海量开发者使用工具、手册,免费下载

极速、全面、稳定、安全的开源镜像

开发手册、白皮书、案例集等实战精华

为开发者定制的Chrome浏览器插件

首先用一个词就能很好的解释什么叫做基于用户的协同过滤算法:【臭味相投】。虽然是贬义词,但也说明了,具有类似特征的人群,他们喜欢的东西很多也是一样的。因此,在推荐系统中,假设要为A用户推荐物品,可以通过寻找他的“邻居”——与A具有相似兴趣的用户。把那些用户喜欢的,而A用户却不曾听说的东西推荐给A。

但是这么简单粗暴是有问题的,因为很多用户其实完全没有共同喜好的,也就是分子会为0。这么多无意义的计算会给我们增加很大的开销,所以我们应该先做一个预处理,把有关联的用户筛选出来,只计算这些有关联的用户的兴趣相似度。倒排法有效的为我们解决了这个问题:

矩阵中为0的我们就不需要去计算它们的兴趣相似度了。得到用户相似度之后,我们开始计算用户对物品的兴趣度。

用户u对物品i的感兴趣程度公式如下:

上图中,用户B对物品b和d没有过行为,我们来计算用户B对物品b和d的感兴趣程度。

得到用户对物品的兴趣度后,我们使用Top-N推荐。

TOP-N分析法就是通过TOP-N算法从研究对象中得到所需的N个数据,并从排序列表中选取最大或最小的N个数据,这就是一个TOP-N算法。即对所有物品进行P(u,i)计算兴趣度后进行降序,取前N个物品推荐给用户。

假设某天你购买了机器学习书籍,那么淘宝会给你推荐python书籍。因为机器经过判断得出这两者相似度很高,你既然会喜欢机器学习那么理应喜欢python。

基于物品的协同过滤算法就是给用户推荐那些和他们之前喜欢的物品相似的物品。

不过,ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。

喜欢j的人越多,分母越大,权重更低。

用户u对物品j的感兴趣程度计算公式:

此公式与上面基于用户的公式非常相像。S(j,K)表示与j物品最相似的k个物品的集合。N(u)表示用户喜欢的物品集合。Wji表示物品之间的相似度。rui是用户u对物品i的兴趣。(对于隐反馈数据集,如果用户u对物品i有过行为,即可令rui=1。)

THE END
1.推荐算法——基于物品的协同过滤算法基于用户的协同过滤算法在用户增长的时候,相似度计算的计算会越来越困难。基于物品的算法给用户推荐他们之前喜欢的物品相似的物品。 算法步骤 计算物品之间的相似度 根据物品的相似度和用户的历史行为给用户生成推荐列表 相似度公式如下: wij=|N(i)∩N(j)||N(i)||N(j)|?...https://www.imooc.com/article/27099
2.基于用户的协同过滤和基于物品的协同过滤的区别"""原始呈现的矩阵是:用户m x 物品n 基于用户的协同过滤:用户相似度矩阵m x m 点乘 用户m x 物品n = 用户m x 物品n基于物品的协同过滤:用户m x 物...https://www.jianshu.com/p/d00095735550
1.协同过滤算法在电商推荐系统中的应用:原理与实践协同过滤算法在电商推荐系统中的应用:原理与实践1. 背景介绍1.1 问题由来随着电子商务的飞速发展,在线购物平台的推荐系统已经成为用户获取商品信息的重要手段。推荐系统能够根据用户的浏览历史、购买记录和兴趣偏好,向用户推荐其可能https://blog.csdn.net/2405_88636357/article/details/143904879
2.协同过滤算法腾讯云开发者社区协同过滤算法是一类常用于推荐系统的算法,它基于用户之间或物品之间的相似性进行推荐。主要分为两种类型:基于用户的协同过滤和基于物品的协同过滤。以下是对这两种协同过滤算法的详细讲解: 1. 基于用户的协同过滤 1.1 思想 基于用户的协同过滤是通过分析用户之间的相似性来进行推荐。该算法的基本思想是:如果用户A和用户...https://cloud.tencent.com/developer/article/2389581
3.推荐系统算法实战协同过滤CF算法(CollaborativeFiltering...协同过滤分为基于用户的协同过滤和基于标的物(物品)的协同过滤两类算法。下面我们对协同过滤的算法原理来做详细的介绍。 推荐算法种类很多,但是目前应用最广泛的就是协同过滤算法。 协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分...https://blog.51cto.com/u_15236724/5968286
4.PythonDjango网页界面协同过滤推荐算法实现商品管理与推荐python这种算法通常分为两类:基于用户的协同过滤和基于物品的协同过滤。 基于用户的协同过滤:这种方法首先找出与目标用户兴趣相似的其他用户,然后根据这些相似用户的喜好来推荐物品给目标用户。 基于物品的协同过滤:与之相反,这种方法先找出与目标物品相似的其他物品,然后把这些物品推荐给那些喜欢目标物品的用户。 现在,让我们...https://www.jb51.net/python/305546cjo.htm