机器学习:详解基于物品协同过滤(Itembased)的推荐算法

基于物品的协同过滤(item-basedcollaborativefiltering)算法是目前业界应用最多的算法。无论是亚马逊网,还是Netflix、Hulu、YouTube,其推荐算法的基础都是该算法。

Item-based算法会给用户推荐那些和他们之前喜欢的物品相类似的物品。如图所示,比如你之前购买过《C++Primer中文版》和《编程之美》,那么它会给你推荐《C++编程思想》或者《编程珠玑》。不过,Item-based算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。

详细流程

相似度计算:计算物品的相似度;

构建推荐矩阵:根据物品的相似度和用户的历史行为给用户生成推荐列表。

1.相似度计算

i是用户已偏好的物品,j是目标物品,简单的物品相似度公式(1)可以这样计算:

这里,分母|N(i)|是喜欢物品i的用户数,而分子|N(i)∩N(j)|是同时喜欢物品i和物品j的用户数,所以该公式也可以理解为喜欢物品i的用户中有多少比例也喜欢物品j。

这里面有个假设,就是每个用户的兴趣都局限在某几个方面。如果用户之间的兴趣广泛且不相交,那么即使存在同时喜欢物品i和物品j的用户数多,那也不能代表物品i和物品j的相似度大,因为很可能两种物品所属领域非常不同。

2.构建推荐矩阵

下图为同时购买两种物品的次数:

其中对物品a计算相似度如下:

同理可求得相似度矩阵:

在得到物品之间的相似度后,Item算法通过如下公式计算用户u对一个物品j的兴趣:

这里N(u)是用户喜欢的物品的集合,S(j,K)是和物品j最相似的K个物品的集合,w_ji是物品j和i的相似度,r_ui是用户u对物品i的兴趣。(对于隐反馈数据集,如果用户u对物品i有过行为,即可令r_ui=1。)

该公式的含义是,和用户历史上感兴趣的物品越相似的物品,越有可能在用户的推荐列表中获得比较高的排名。

假设我们现在有用户v,他的偏好为:

所以u最终的推荐列表为[b,c,e]。

优缺点

Item-based算法原理是给用户推荐那些和他之前喜欢的物品类似的物品,在推荐方面更加个性化,反映了用户自己的兴趣传承。在用户有新行为时,一定会导致推荐结果的实时变化。

适用范围:长尾物品丰富,用户个性化需求强烈的领域。

优点:可以利用用户的历史行为给用户做推荐解释,可以令用户比较信服。比较适用在物品较少、物品更新速度不会很快、用户的兴趣比较固定和持久的情况下。

THE END
1.基于协同过滤算法图书推荐系统的设计与实现.pdf2.算法设计 在众多算法中分析算法的优缺点,根据具体情况选择合适的协同过滤算法,设计高 效的计算方案,解决数据稀疏性的问题。 3.前后端开发 前端设计需要注重用户体验和交互设计,使用户可以方便、快速、直观地操作应用 程序。在开发过程中,需要合理设计页面布局、色彩搭配、响应式设计、无障碍设计等, ...https://max.book118.com/html/2024/0217/7053136045006042.shtm
1.协同过滤算法要点和难点具体应用协同过滤优缺点此外,还有一些研究工作致力于通过深度学习等技术来改进协同过滤算法的性能和准确性。 协同过滤算法是推荐系统中常用的一种方法,其基本原理是通过用户或物品之间的相似性来产生推荐。以下是协同过滤算法的优缺点: 优点:https://blog.csdn.net/2401_84235249/article/details/138963287
2.协同过滤算法的优缺点学术指导常用经验分享协同过滤是一种常用的推荐算法,通过分析用户的行为和兴趣,发现相似的用户群体,并基于这些群体推荐相应的物品或服务。协同过滤算法可以分为基于用户的协同过滤、基于物品的协同过滤和基于模型的协同过滤等几种类型。以下是对协同过滤算法的优缺点分析:优点:1. 用户为中心:协同过滤算法以用户行为和兴趣为基础,通过分析用户...http://m.editoressay.com/news/849021/
3.协同过滤是不是深度学习协同过滤算法的缺点协同过滤是不是深度学习 协同过滤算法的缺点 1 前言 众所周知,协同过滤算法是完全没有利用到物品本身或者是用户自身的属性, 仅仅利用了用户与物品的交互信息就可以实现推荐,是一个可解释性很强, 非常直观的模型, 但是也存在一些问题。但是协同过滤当中依旧存在着很多问题。https://blog.51cto.com/u_16099243/10409184
4.协同过滤算法腾讯云开发者社区混合型协同过滤结合了基于用户和基于物品的协同过滤算法,充分利用它们的优点,以提高推荐系统的准确性和鲁棒性。 3.2 算法步骤 通过用户-物品矩阵,同时计算用户相似度矩阵和物品相似度矩阵。 综合两个矩阵的信息,生成最终的推荐列表。 3.3 优缺点 优点:综合了基于用户和基于物品的优势,提高了推荐系统的性能。 https://cloud.tencent.com/developer/article/2389581
5.协同过滤数据稀疏性问题研究1.2 协同过滤的优缺点 基于协同过滤算法的推荐系统主要有以下优点: (1)协同过滤算法的数据源是用户对项目的评价信息,不用考虑项目是否属于同一类别,所以协同过滤算法可以从属性不同的项目中提取有用的信息。 (2)协同过滤算法同时考虑了当前用户和其他用户的评价信息,这样能够增加产生推荐可利用的信息量,从而提高推荐的...https://www.jianshu.com/p/d7de774c5e05
6.基于受限玻尔兹曼机的协同过滤算法研究与应用具体内容如下:(1)从推荐算法的基本研究入手,分析了经典的协同过滤算法,包含了基于模型的协同过滤和基于邻域的协同过滤,并对比多种基于模型推荐算法的优缺点。分析了RBM的结构和RBM的训练算法-对比散度算法,通过构建RBM和协同过滤算法的联系,指出基于RBM的协同过滤算法中的不足。(2)基于RBM的协同过滤只考虑用户的评分...https://cdmd.cnki.com.cn/Article/CDMD-10700-1017732533.htm
7.基于协同过滤算法的安规考核系统试题推荐方法研究本文主要完成了以下内容:1.研究了基于用户的协同过滤算法和基于物品的协同过滤算法,比较两者在不同推荐系统中的应用情况,比较其优缺点。结合安规考核系统的实际情况采用基于物品的协同过滤算法实现本课题的研究,根据需求在数据库中设计用于保存用户-物品评分矩阵和物品-物品相似度矩阵的数据表。2.学习中文分词技术,收集...https://wap.cnki.net/touch/web/Dissertation/Article/10079-1019233359.nh.html
8.八股2024春招八股复习笔记1(搜索推荐AIGC)1、推荐系统 1.1 推荐系统流程 1.2 协同过滤 、 矩阵分解 1.3 逻辑回归 2、算法常识(应用算法) 2.1 重点复习 xgboost 2.2 大模型 transform 2.3 torch等 3、理论算法(ICPC复健) 3.1 基础力扣(部分面试题) 3.2 其他 4、面经专项 4.1 蚂蚁算法岗 4.2 其他算法岗 5、项目准备 项目1:算法研究、TF-IDF、倒排索引...https://www.skycaiji.com/aigc/ai13693.html
9.推荐系统推荐系统简介分类以及长尾问题推荐算法:基于物品的协同过滤算法 参考《推荐系统实践》项亮 概念:基于物品的协同过滤算法,优化算法 对比:用户协同过滤的优缺点 python编码实现 1,算法定义基于用户的协同过滤算法基于商品的协同过滤算法 适用场景 时效性较强,用户个性化兴趣不太明显的领域长尾物品丰富,用户个性化需求强烈的领域用户较少的场合:新闻推荐物...https://www.pianshen.com/article/85642112599/
10.平台算法的概述与原理.pptx各类平台算法特点与优势不同类型的平台算法各有优缺点,例如推荐算法在提高用户体验方面表现较好,但可能存在推荐结果不准确的问题;排序算法在提高查找效率方面表现较好,但可能存在排序结果不公正的问题;匹配算法在提高匹配准确度方面表现较好,但可能存在计算复杂度高的问题。比较在选择平台算法时,需要根据具体的应用场景和...https://m.renrendoc.com/paper/302579979.html