初学推荐系统02协同过滤(UserCF&ItermCF)附简单示例和优缺点分析山枫叶纷飞

协同过滤(CollaborativeFiltering)推荐算法是最经典、最常用的推荐算法。1.1基本思想

1.2目前比较广泛的CF算法是基于邻域的方法,如下:

2.1杰卡德(Jaccard)相似系数这是衡量两个集合的相似度的一种指标,两个用户u和V交互商品交集占并集的数量的比值;称为两个集合的杰卡德相似系数,用符号sim_{uv}表示,其中N(u),N(v)分别表示用户u和用户v交互商品的集合。

常用来评估某用户是否会对某商品进行打分.

故在集合的角度来描述交互的商品数量的乘积,公式如下:

这个在具体实现的时候,可以使用sklearn库的cosine_similarity进行实现:

调包实现皮尔逊评分:

fromscipy.statsimportpearsonri=[1,0,0,0]j=[1,0.5,0.5,0]pearsonr(i,j)3.基于用户的协同过滤(UserCF):猜测用户对某件物品的喜欢程度**UserCF包括两个步骤**:1.找到和目标用户兴趣相似的人群集合2.从中找到这个集合汇总的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户.3.根据这n个用户对准备推荐的物品的评分情况和与目标用户的相似程度会猜测出目标用户对物品的评分,如果评分比较高的话,就把物品推荐给目标用户,否则不推荐。最终结果的预测加权近似估算

利用用户相似度和相似用户的评价加权平均获得用户的评价预测,用下面式子表示:(u,p为用户,s为商品,权重w_{u,s}是用户u和用户s的相似度,R_{s,p}是用户s对物品p的评分。)

优化版本:用户相似度作为权值,但后面不单纯的是其他用户对物品的评分,而是该物品的评分与此用户的所有评分的差值进行加权平均,这时候考虑到了有的用户内心的评分标准不一的情况,即有的用户喜欢打高分,有的用户喜欢打低分的情况。

动手计算

计算余弦相似性

importnumpyasnpnp.corrcoef([...])4.UserCF编程实现总结简单三步骤:计算用户相似性矩阵、得到前N个用户相似用户、计算最终得分。

缺点:

基本思想ItemCF不计算物品的属性相似度,而是根据用户的历史偏好数据来计算物品之间的相似性,比如很多人买了A之后也买了B,那么推荐用户A在买了A之后,也推荐B。该算法认为,物品a和物品c具有很大的相似度是因为喜欢物品a的用户大都喜欢物品c。

ItemCF步骤

ItermCF代码实践总结简单三步骤:计算物品相似性矩阵、得到前N个相似物品、计算最终得分。

协同过滤的天然缺陷:推荐系统头部效应明显,处理稀疏向量的能力弱。

矩阵分解技术(MatrixFactorization,MF)被提出,该方法在协同过滤共现矩阵的基础上,使用更稠密的隐向量表示用户和物品,挖掘用户和物品的隐含兴趣和隐含特征,在一定程度上弥补协同过滤模型处理稀疏矩阵能力不足的问题。

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