【推荐算法系列十六】:协同过滤

文章目录

  • 参考
  • 原理
    • 基于邻域的协同过滤算法
      • 基于用户的协同过滤(User-Based Collaborative Filtering)
      • 基于内容的协同过滤
    • 基于模型的协同过滤算法
  • 扩展
  • 优缺点

参考

推荐系统之神经协同过滤

原理

基于邻域的协同过滤算法

基于邻域的协同过滤算法又包括
基于用户的协同过滤算法和基于内容的协同过滤算法。
核心思想都一样:收集用户的行为记录,找到用户的偏好并找到与偏好相似的内容,计算比重再推荐给用户。

基于用户的协同过滤(User-Based Collaborative Filtering)

通过分析用户之间的相似性来实现推荐。简单来说,就是根据用户的历史行为(比如浏览、购买、评分等)来找到与其兴趣相似的其他用户,然后向该用户推荐这些相似用户喜欢的商品或内容。

得到用户喜欢物品的共现矩阵
在这里插入图片描述
基于用户的协同过滤算法的优点在于能够捕捉用户的偏好和行为模式,同时也比较容易实现和解释。但该算法也存在一些缺点,如用户数量较多时计算量大、推荐结果容易出现重复等。

  • 为每个用户创建一个兴趣向量,向量中包含该用户浏览、购买、评分等行为对应的商品或内容。
  • 通过计算用户之间的相似度,找到与目标用户相似度最高的一些用户。
  • 根据这些相似用户对商品或内容做出的行为,将对应商品或内容推荐给目标用户。

基于内容的协同过滤

其推荐的对象不是与目标用户相似的其他用户,而是与该用户曾经感兴趣的内容相似的其他内容。

该算法具体的推荐步骤如下。

  • 为每个内容创建一个分类向量,向量中包含了该内容与其他内容的相似度。
  • 根据用户曾经感兴趣的内容,找到这些内容与哪些其他内容相似度比较高。
  • 将这些相似度高的内容推荐给目标用户。

基于模型的协同过滤算法

基于模型的协同过滤(Model-based Collaborative Filtering)是协同过滤方法的一种,它与传统的基于邻域的协同过滤方法不同。基于模型的协同过滤是通过训练一个模型来预测用户对物品的评分或者喜好,而不是直接基于用户或物品之间的相似性来进行推荐。

基于模型的协同过滤通常包括以下步骤:

  • 建立模型:首先,选择一个合适的模型结构,可以是基于统计模型、机器学习模型或深度学习模型。常用的模型包括矩阵分解模型(如隐语义模型)、概率图模型、神经网络模型等。
  • 模型训练:使用已知的用户-物品交互数据进行模型训练。训练的目标是通过拟合已有数据来学习模型参数,使得模型能够准确地预测用户对未知物品的评分或者喜好。
  • 预测评分:训练好模型后,可以使用该模型来预测用户对未知物品的评分或者喜好。根据预测的评分,可以为用户生成个性化的推荐列表。

基于模型的协同过滤相比于基于邻域的协同过滤具有以下优点:

可扩展性:模型训练过程通常可以并行化,因此能够有效地处理大规模数据。
泛化能力:模型可以从数据中学习到用户和物品的隐藏特征,具有更好的泛化能力。
冷启动问题:模型可以利用物品的特征信息进行推荐,因此能够更好地应对冷启动问题(新用户或新物品的推荐)。
常见的基于模型的协同过滤算法包括基于矩阵分解的隐语义模型、基于概率图模型的贝叶斯网络模型、基于神经网络的深度学习模型等。

扩展

根据参考中的内容,
可以使用 矩阵分解和DNN的方式来做隐式向量的获取。

优缺点

协同过滤有一个天然的缺陷,就是其对稀疏数据的处理比较弱,头部效应比较明显,泛化能力比较差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496109.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多源视频融合平台VMS/smarteye,免费的GB28181 server, 免费的RTMP推流server,RTSP server

海康、大华、宇视等网络摄像机IPcamera及DVR/NVR等多路设备走国标28181接入视频混合融合平台smarteye 第三方国标摄像头走GB28181接入视频融合平台VMS/smarteye, 平台已为设备预分配了SIP帐号,这样免去了找平台人员索要接入SIP帐号的麻烦,可…

粗读[JACS]:多种铂单原子物种的可逆转化和分布测定

摘要:在单原子催化剂(SAC)中,支撑锚定位点的复杂性创造了具有不同配位环境的大量单原子物种。迄今为止,给定 SAC 中这些不同单原子物种的数量分布仍然难以捉摸。最近,CeO2负载的金属SAC通过多种合成策略调节…

如何在 Linux 上使用 dmesg 命令

文章目录 1. Overview2.ring buffer怎样工作?3.dmesg命令4.移除sudo需求5. 强制彩色输出6.使用人性化的时间戳7.使用dmesg的人性化可读时间戳8.观察实时event9.检索最后10条消息10.搜索特定术语11.使用Log Levels12.使用Facility Categories13.Combining Facility a…

如何使用ETLCloud拉通金蝶云

一、ETLCloud集成组件 ETLCloud采用了一种创新的基于平台底座的理念。它通过将组件和平台进行分离,用户可以在平台上自行下载和安装所需的组件,而无需升级整个底座版本。这样用户就可以通过不断升级组件来增强数据集成平台的处理能力。同时,…

把 Windows 10/11 系统安装到内存上,会发生什么?速度快到爆炸!

把 Windows 10/11 系统安装到内存上,会发生什么?速度快到爆炸! Primo Ramdisk 下载:https://www.freedidi.com/11637.html Primo 内存盘 强大的磁盘模拟器可创建超快 RAM 磁盘 1.超快访问、超低时延 RAM 磁盘是根据系统内存创建的…

【论文复现】——一种新的鲁棒三维点云平面拟合方法

目录 一、算法原理1、论文概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的GPT爬虫。 一、算法原理 1、论文概述 针对三维点云中的异常值和粗差点对平面拟合精度产生的影响,文章提出一…

LeetCode 刷题 [C++] 第240题.搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目分析 通过分析矩阵的特点发现,其左下角和右上角可以看作一个“二叉搜索树的根节…

安卓平板主板_安卓平板电脑主板MTK联发科|高通|紫光展锐方案

安卓平板电脑主板选择了MTK联发科方案,并且可以选配高通或者紫光展锐平台方案,为用户提供更强劲的性能和定制化的服务。主板搭载了联发科MT6771处理器,采用12nm制程工艺,拥有八核Cortex-A73Coretex-A53架构,主频为2.0G…

人脸识别技术不适用于哪些应用场景?

人脸识别技术在很多应用场景中都具有广泛的应用,但也存在一些场景下不适用的情况,包括: 1. 隐私保护:人脸识别技术涉及对个人敏感信息的收集和处理,可能对隐私构成潜在威胁。在一些需要高度保护个人隐私的场景&#x…

如何运行github上的项目

为了讲明白这个过程,特意做了一个相当来说比较好读懂的原理图,希望和我一样初学的小伙伴也能很快上手哈😊 在Github中找到想要部署的项目,这里以BartoszJarocki/CV(线上简历📄)项目为例 先从头…

NerfStudio安装及第一个场景重建

NerfStudio文档是写在windows和linux上安装,本文记录Linux安装的过程,且我的cuda是11.7 创建环境 conda create --name nerfstudio -y python3.8 conda activate nerfstudio python -m pip install --upgrade pip Pytorch要求2.0.1之后的,文档推荐cud…

resilience4j 2.0.0版本使用要求最低JDK17(使用踩坑记录)

文章目录 🔊博主介绍🥤本文内容📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…