说起 Item-based collaborative filtering,还有一段有意思的争论,是关于它的起源的。
GroupLens 研究小组的 Sarwar 教授等人,于2001年5月在香港召开的第 10 届 WWW 大会上,发表了题为《Item-based Collaborative Filtering Recommendation Algorithms》 的 paper[1]。现在看来,这篇 paper 在 Item-based Collaborative Filtering 方面是影响最广的,被引用的次数也最多,基本上见 Item-based 必见此文。在 2000 的时候,同是上文作者之一的 Karypis 曾经完成了《Evaluation of Item-based Top-N Recommendation Algorithms》,但它仅作为明尼苏达计算机系的一篇 Technical Report 进行了发表,可以看作是 paper[1] 的工作基础。
但实际上,早在 1998 年,Amazon 就已经开发出了自己的 Item-based 推荐系统,并投入了使用。同年,当时 Amazon 推荐系统的设计师、现在 Findory 的创始人 Greg,连同 Jacobi 和 Benson,使用“Collaborative Recommendations Using Item-to-Item Similarity Mappings”的名字对该项技术申请了专利。但该专利直到 2001 年才正式通过!并且在 Sarwar 等人的 paper[1] 里,并没有标明引用了此专利的内容。Greg 在自己的 blog 上专门撰文说明了此事 [1] [2],并得到了 Economist 编辑 Tom Standage 的承认。在 2003 年,Greg 发表了题为《Amazon.com Recommendations: Item-to-Item Collaborative Filtering》的 paper,对 1998 年的专利内容进行了详细的说明。
这是一段挺有意思的事情。但更能引起我兴趣的,是这项已经被实践证明确实行之有效的技术——Item-based (or item-to-item) collaborative filtering !
Item-based 方法也有一个基本的假设:能够引起用户兴趣的项,必定与其之前评分高的项相似。这个假设也是与我们日常生活中的行为相一致的,基本上喜欢《长尾理论》的人,都会去看《世界是平的》,不知道你怎么想,反正豆瓣就是这么认为的。
同 User-based 方法类似,Item-based 方法需要同样的三个步骤:1)得到User-item的评分数据;2)针对项的最近邻搜索,即对项进行相似度计算;3)产生推荐。但相对于 User-based 方法,Item-based 方法最大的改进是提高了协同过滤方法的扩展性及性能。
从上一篇中可以看到,在 User-based 方法中,随着用户数量的不断增多,在大数量级的用户范围内进行“最近邻搜索”会成为整个算法的瓶颈。Item-based 方法通过计算项之间的相似性来代替用户之间的相似性。对于项来讲,它们之间的相似性要稳定很多,因此可以离线完成工作量最大的相似性计算步骤,从而大大降 低了在线计算量,提高推荐效率。
在 Item-based 方法中,要对 A 和 B 进行项相似性计算,通常分为两步:1)找出同时对 A 和 B 打过分的组合;2)对这些组合进行相似度计算,常用的算法包括:皮尔森相关系数、余弦相似性、调整余弦相似性和条件概率等。
在 paper[1] 里,Sarwar 教授通过试验得到 Item-based 方法的推荐效果要略好于 User-based 方法的结伦。但其实这也并不尽然。在 2003 年,Mild 教授从批判的角度重新审视了各种推荐算法,指出基于 Item-based 方法并不一定好,算法准确度与采用的实验数据数据有关,大多数情况下还是 User-based 方法好。我个人倒是认为,其实没有绝对的好坏之分,而应该根据问题的不同和数据集的特点,选择最合适的方法。
上面 所说的偏重于学术界一些,算法的出发点还是基于打分,多数使用的是 MovieLens 的数据。工业界实际使用的多是在基本 Item-based 方法基础上的变形,例如基于关联规则的方法,这些方法最大的变化就是在计算项的相似度方面做文章。其实正如 Greg 曾经说过的,协同过滤最大的特点是“以数据为先”的,只当有了大量的数据积累,才可能找到最有效的、最适宜的方法。
相关推荐
轻量级Item-CF实战:Python实现高并发协同过滤推荐
协同过滤是推荐系统最基础且广泛应用的算法范式,其核心在于挖掘用户行为隐含的物品关联性。基于物品的协同过滤(Item-CF)不依赖内容特征与深度模型,仅通过用户-物品交互频次构建稀疏相似度矩阵,具备冷启动友好、计算可解释、服务低延迟等工程优势。本文聚焦真实业务场景下的落地难点:如何在无Spark/TensorFlow、MySQL高负载、Redis初上线的资源约束下,用纯Python+Scipy实现日均2700万次调用、P99<45ms的生产级推荐服务。详解加权中心化余弦相似度、CSR稀疏矩阵优化、LRU缓存分
Item-Based Collaborative Filtering Recommendation Algorithms
【参考文献】:Sarwar B M . Item-based collaborative filtering recommendation algorithms[C]// International Conference on World Wide Web. ACM, 2001.背景:推荐领域必读文献之一,经典之作,本博客主要记录了该文章...
从零实现基于物品的协同过滤推荐系统(Item-Based Collaborative Filtering)
在当今信息爆炸的时代,推荐系统已经成为各大互联网平台的核心竞争力之一。从电商平台的商品推荐,到视频网站的内容推送,再到社交媒体的信息流,推荐系统无处不在。根据亚马逊的统计,其35%的销售额来自于推荐系统;Netflix上有80%的观看内容来自于推荐算法的推送。
论文笔记《Item-Based Collaborative Filtering Recommendation Algorithms》
一、基本信息 论文题目:《Item-Based Collaborative Filtering Recommendation Algorithms》 发表期刊及年份:WWW 2001 二、摘要 近几年由于可获得信息的大量增长和访问网站的用户数大量增加,产生了一些重要的挑战:产生高质量的推荐、每秒为大量用户和物品实现实时推荐和在面临数据稀疏性的情况下如何实现快速收敛。在传统的协同过滤网络中,由于用户的增长而变得效果很差。为了解决这些问题,作者提出了基于物品的协同过滤算法。基于物品的协同过滤算法首先分析用户-物
Python:实现ItemCF算法(附完整源码)
Python:实现ItemCF算法(附完整源码)
Item-Based Collaborative Filtering Recommendation Algorithms.pdf
基于物品的协作过滤推荐算法 Item-Based Collaborative Filtering Recommendation Algorithms.pdf
论文阅读笔记:Item-based collaborative filtering recommendation algorithms
"Item-based collaborative filtering recommendation algorithms"是
基于用户的协同过滤算法(user-based Collaborative Filtering)
欣灌费研仍在继续,不能返校只好在家做毕设,毕设的内容是利用地泼雷妞技术优化推荐算法。 悲剧的是地泼雷妞不会,推荐系统算法也不懂,包含推荐系统的东西倒是用过不少(某宝,某东,某音)。 只好从最基础的开始学,先学推荐算法。 打开Microsoft Edge,搜索推荐系统总结,得到该文章《推荐系统干货总结》,如获至宝。 文章中推荐了一本书《推荐系统实践》,我决定先从这本书开始。 电子书链接:https://pan.baidu.com/s/12BPDnGPe7jgXlqTXgT8i1g ,提取码:mnve 本文是我的学习笔记,对应此书2.4.1小节, 原理就不介绍了,直接上数据集和代码。 不懂原理的
基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms”
最近参加KDD Cup 2012比赛,选了track1,做微博推荐的,找了推荐相关的论文学习。“Item-Based Collaborative Filtering Recommendation Algorithms”这篇是推荐领域比较经典的论文,现在很多流行的推荐算法都是在这篇论文提出的算法的基础上进行改进的。 一、协同过滤算法描述 推荐系统应用数据分析技术,
从零到一:AnythingLLM与Ollama的本地知识库搭建实战
本文详细介绍了如何使用AnythingLLM与Ollama从零开始搭建本地知识库,涵盖技术选型、环境部署、系统配置及优化策略。通过RAG技术架构,实现安全高效的文档管理与智能问答,特别适合企业及个人构建私有化知识管理系统。
Android Studio安装常见问题详解——Android Emulator Hypervisor Driver for AMD Processors installation failed.
目录一、问题描述二、解决方案2.1 开启CPU虚拟化2.2 禁用Hyper-V2.3 使用管理员命令行在驱动程序包中执行“silent_install.bat” 一、问题描述 新买的AMD轻薄本,在安装Android Studio时遇到问题: Android Emulator Hypervisor Driver for AMD Processors installation failed. 笔记本配置为: 二、解决方案 2.1 开启CPU虚拟化 设置虚拟化的步骤这里不进行详细介绍了。如果需要,可以自行百
论文阅读 - Item-Based Collaborative Filtering Recommendation Algorithms
本文是我在阅读推荐系统经典论文 Item-Based Collaborative Filtering Recommendation Algorithms 时候记录的笔记。 协同过滤算法 协同过滤算法(collaborative filtering algorithm, CF)基于当前用户先前的行为(评分、购买记录等),以及与该用户相似的用户的行为,来给当前用户推荐其可能喜欢的物品(ite...
ARM架构下的SLAM部署避坑指南:香橙派AIpro与D435i深度相机的实战解析
本文详细解析了在ARM架构的香橙派AIpro开发板上部署SLAM算法并与Intel D435i深度相机配合的实战经验。内容涵盖系统配置、ROS编译、驱动安装、算法优化等关键步骤,提供了具体的避坑指南和性能调优技巧,帮助开发者在嵌入式平台上高效实现实时SLAM应用。
推荐系统:基于内容Content-based,协同过滤Collaborative Filtering
Content-based recommending system 算法思想:在我们已经有了用户一部分数据的前提下,推荐与用户之前喜欢的产品的类似产品。 对每个商品设置一个 item profile。对每个用户也初始化一个user profile。 首先我们需要对于用户数据进行规一化(Normalize)以保证归一化后的数据取值在 [0,1] 范围中。举个例子,对于有A演员参演的两部电影,某一用户打分3分和5分,对于有B演员参演的另外三部电影,该用户打分1分,2分和4分,此时会发现B演员参演的电影波动很大,
Android15 AndroidV冻结和解冻的场景
cgroup 最初由 Google 工程师 Paul Menage 和 Rohit Seth 在 2006 年提出,是一种细粒度资源控制的Linux内核机制。于 2007 年合并到 Linux 内核主线中。然而 Google 原生系统直到 Android 11 或更高版本上才支持 CACHE 应用的 CPU 冻结功能。当应用切换到后台并且没有其他活动时,系统会在一定时间内通过状态判断,将进程 ID 迁移到冻结的 cgroup 节点上,实现冻结 CACHE 应用。
海康Visionmaster-通讯管理:ModBus 通信发送非整型 数据的方法
海康Visionmaster-通讯管理:ModBus 通信发送非整型 数据的方法
NCF(Neural Collaborative Filtering)——协同过滤与神经网络的结合
Neural Collaborative Filtering paper 关于协同过滤 协同过滤简而言之就是物以类聚人以群分,在真实场景中,通常会获得一张用户物品交互表,其实就是一个矩阵M,M[i][j]=1M[i][j]=1M[i][j]=1则表示用户iii购买了物品jjj,=0=0=0表示没有购买。主要分为以下两种: user-based协同过滤 ...
第五章-AllData集成DataSophon作为数据平台功能
🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。全新会员商业版 X 微信群:https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo
推荐系统
推荐系统是近几年比较火的一个话题,尤其是Netflix举办过一次电影推荐比赛之后,ACM有专门的Recommer System的会议。关于推荐系统的分类,从不同的角度有不同的分法,传统的有两种分法,一种叫基于内容(Content based)的推荐,顾名思义就是根据要推荐的项目(电影,书籍,音乐等等)本身的一些DNA进行推荐,比如电影的类型,是动作片还是爱情片还是动作爱情片?电影的...
Avalonia 超级详细学习指南
什么是 Avalonia?Avalonia 是一个开源的、跨平台的 GUI 框架,允许开发者使用 XAML 和 C# 构建现代化、高性能的桌面应用程序。与其他框架相比,Avalonia 具有强大的跨平台能力和灵活的界面设计。} }()Avalonia 的特点和优势跨平台性:Avalonia 可以在 Windows、Linux、macOS 等多个平台上运行,开发者可以编写一套代码,然后在不同的操作系统上运行相同的应用程序。
042_小驰私房菜_MTK Camera yuv旋转90度方案
做旋转可以在app层接收到数据后,自行做旋转,也可以在hal层,针对yuv format这路流进行旋转。那我们做旋转也可以采用类似的方式。预览和录像是正常的,这个是因为预览和录像有方向相关属性可以调整,系统会根据摄像头mount的角度已经当前设备的方向,进行对应的旋转。这个下面这个文件,可以修改摄像头的mount角度。,可以看到前摄的Orientation是270,所以原始出图是做了90度的旋转。这个方案,思路就是在配流信息中,将rotation信息进行修改。注:本文章所用权归:小驰成长圈,禁止转载宣传!
协同过滤算法
3种形式的协同过滤(Collaborative Filtering)算法: 1、user-based:相同(相似)用户的喜好相同 2、item-based:能够引起使用者兴趣的项目,必定与其之前评分高的项目相似3、model-based:先用历史资料得到一个模型,再用此模型进行预测 参考:http://gengrenjie.com/2009/04/12/%E5%8D%8F%
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
推荐算法:基于大数据python新闻推荐系统 爬虫 Django框架 协同过滤推荐算法 AI大模型 计算机 Hadoop大数据✅
本文介绍了一个基于Python和Django框架开发的个性化新闻推荐系统。系统整合requests爬虫模块抓取网易头条新闻数据,采用Item-Based CF协同过滤算法实现个性化推荐。主要功能包括:新闻分类展示、详情浏览、收藏管理、关键词搜索、用户注册登录等。系统通过记录用户浏览轨迹和收藏行为,利用协同过滤算法分析用户偏好,实现精准的新闻推荐。后台支持数据管理和维护,形成从数据采集、存储到个性化推荐的完整闭环。该系统有效解决了信息过载问题,提升了新闻获取效率和匹配度。
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
【甘道夫】基于Mahout0.9+CDH5.2运行分布式ItemCF推荐算法
环境: hadoop-2.5.0-cdh5.2.0 mahout-0.9-cdh5.2.0 引言 虽然Mahout已经宣布不再继续基于Mapreduce开发,迁移到Spark,但是实际面临的情况是公司集群没有足够的内存支持Spark这只把内存当饭吃的猛兽,再加上项目进度的压力以及开发人员的技能现状,所以不得不继续使用Mahout一段时间。 今天记录
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
论文笔记:Item-Based Collaborative Filtering Recommendation Algorithms
一、基本信息 论文题目:《Item-Based Collaborative Filtering Recommendation Algorithms 》 发表时间:WWW 2001 论文作者及单位: 论文地址:https://dl.acm.org/citation.cfm?id=372071 二、摘要 推荐系统将知识发现技术应用于在实时交互过程中对信息、产品或服...
237



被折叠的 条评论
为什么被折叠?



