深度学习神经网络协同过滤模型(NCF)与用户协同过滤(UCF)的区别

news2024/11/26 2:34:20

一、效果图

点我查看在线demo
在这里插入图片描述

二、启发式推荐系统

推荐系统的核心是根据用户的兴趣需求,给用户推荐喜欢的内容。常用的推荐算法有启发式推荐算法,可分为基于用户的 协同过滤,基于物品的协同过滤。

1、基于用户的协同过滤(UCF)

主要考虑的是用户和用户之间的相似度,只要找出相似用户喜欢的物品,并预测目标用户对对应物品的评分,就可以找到评分最高的若干个物品推荐给用户。

举例:
--------+--------+--------+--------+--------+
    |   X    |    Y   |    Z   |    R   |
--------+--------+--------+--------+--------+
a   |   5    |    4   |    1   |    5   |
--------+--------+--------+--------+--------+
b   |   4    |    3   |    1   |    ?   |
--------+--------+--------+--------+--------+
c   |   2    |    2   |    5   |    1   |
--------+--------+--------+--------+--------+

a用户给X物品打了5分,给Y打了4分,给Z打了1分
b用户给X物品打了4分,给Y打了3分,给Z打了1分
c用户给X物品打了2分,给Y打了2分,给Z打了5分

那么很容易看到a用户和b用户非常相似,但是b用户没有看过R物品,
那么我们就可以把和b用户很相似的a用户打分很高的R物品推荐给b用户,
这就是基于用户的协同过滤。
2、基于物品的协同过滤(ICF)

主要考虑的是物品和物品之间的相似度,只有找到了目标用户对某些物品的评分,那么就可以对相似度高的类似物品进行预测,将评分最高的若干个相似物品推荐给用户。

举例:
--------+--------+--------+--------+--------+
    |   X    |    Y   |    Z   |    R   |
--------+--------+--------+--------+--------+
a   |   5    |    5   |    1   |    5   |
--------+--------+--------+--------+--------+
b   |   5    |    5   |    1   |    2   |
--------+--------+--------+--------+--------+
c   |   5    |    5   |    5   |    1   |
--------+--------+--------+--------+--------+
d   |   5    |    ?   |    ?   |    ?   |
--------+--------+--------+--------+--------+

a用户给X物品打了5分,给Y打了5分,给Z打了1分,给R打了5分
b用户给X物品打了5分,给Y打了5分,给Z打了1分,给R打了2分
c用户给X物品打了5分,给Y打了5分,给Z打了5分,给R打了1分

那么很容易看到a用户、b用户、c用户都喜欢图书X,Y,
那么当用户d也喜欢图书X时,就会把图书Y推荐给用户d
因为基于用户a、b、c的评分,系统会认为喜欢X书籍的人在很大程度上会喜欢Y书籍。
这就是基于物品的协同过滤。
3、启发式推荐算法优缺点

优点:易于实现,并且推荐结果的可解释性强。

缺点:

难以处理冷启动问题:当一个用户或一个物品没有足够的评分数据时,启发式协同过滤算法无法对其进行有效的预测,因为它需要依赖于已有的评分数据。

对数据稀疏性敏感:如果数据集中存在大量的缺失值,启发式协同过滤算法的预测准确率会受到影响,因为它需要依赖于完整的评分数据来进行预测。

推荐类型单一化:推荐结果容易陷入一个小范围的困境,如果某个用户特别喜欢小说类的图书,那么这种系统就会不断地推荐小说类图书,实际上这个用户很有可能也喜欢历史、文学、传记类的图书,但是囿于冷启动问题,无法进行推荐。

三、神经网络协同过滤模型(NCF)

为了解决启发式推荐算法的问题,基于神经网络的协同过滤算法诞生了,神经网络的协同过滤算法可以通过将用户和物品的特征向量作为输入,来预测用户对新物品的评分,从而解决冷启动问题。

对数据稀疏性的鲁棒性:神经网络的协同过滤算法可以自动学习用户和物品的特征向量,并能够通过这些向量来预测评分,因此对于数据稀疏的情况也能进行有效的预测。

更好的预测准确率:神经网络的协同过滤算法可以通过多层非线性变换来学习用户和物品之间的复杂关系,从而能够提高预测准确率。

可解释性和灵活性:神经网络的协同过滤算法可以通过调整网络结构和参数来优化预测准确率,并且可以通过可视化方法来解释预测结果。

所以基于神经网络协同过滤模型是目前推荐系统的主流形态。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Api Post快速上手教程

Apipost快速上手教程可以按照以下步骤进行: 一、准备工作 访问Apipost官网下载并安装Apipost客户端,或者选择使用其Web端版本。注册并登录Apipost账号,以便更好地管理和使用你的项目。官网:Apipost-API 文档、设计、调试、自动化…

Matlab初识:什么是Matlab?它的历史、发展和应用领域

目录 一、什么是Matlab? 二、Matlab的历史与发展 三、Matlab的应用领域 四、安装和启动Matlab 五、界面介绍 六、第一个Matlab程序 七、总结 一、什么是Matlab? Matlab 是由 MathWorks 公司开发的一款用于数值计算、可视化以及编程的高级技术计算…

第十七课,海龟画图习题课(一)

图案一,半圆 import turtleturtle.circle(50, 180)turtle.left(90)turtle.forward(100) 图案二,同心圆 import turtleturtle.circle(100)turtle.right(90)turtle.penup()turtle.forward(50)turtle.pendown()turtle.left(90)turtle.circle(150) 图案三&am…

6.1触发器的创建、删除和使用

6.1.1 触发器概述 触发器是一个被指定关联到表的数据库对象,与表的关系密切,不需要用户调用,在一个表的特定事件出现时将会被激活,此时某些MySql语句会自动执行。 触发器用于实现数据库的完整性,具有以下特点&#xff…

【Python机器学习实战】----基于AdaBoost分类树模型、梯度提升分类树模型、Bagging分类树模型以及随机森林分类模型对空气质量等级进行预测

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

前端学习笔记100篇之002:Webpack简明教程(持续完善中)

文章目录 1. **安装和初始化**2. **创建和配置入口文件**3. **编写和配置Webpack配置文件**4. **打包和运行项目** Webpack是一个静态模块打包工具,适用于前端项目构建和模块化开发。Webpack通过从入口文件构建依赖图,然后打包相关的模块,最终…

什么是小语言模型?

介绍 近年来,人工智能领域取得了重大进展,尤其是在自然语言处理领域。GPT-3 和 PaLM 等大型语言模型因其出色的能力而备受关注,新一波小型语言模型正在兴起,它们在性能和效率之间提供了有希望的平衡。 什么是小语言模型&#xf…

[AIGC] 图论基础入门

图论是数学的一个分支,旨在研究图(graph)的属性和应用。这是一个跨学科领域,因为图论可以用于描述和解决各种实际问题。如社交网络分析,电脑网络,生物网络等。 文章目录 什么是图?图的基本性质L…

应急便携式气象观测站

TH-BQX5自然灾害,如台风、暴雨、洪涝、干旱等,给人们的生命财产安全带来了巨大威胁。在应对这些灾害时,准确的气象观测数据是制定有效应对策略的基础。近年来,应急便携式气象观测站在自然灾害的监测和预警中发挥了越来越重要的作用…

python GUI开发: tkinter选项卡,移动滑块,颜色选择框,文本对话框,对话输入框,通用消息框模块用法详解

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Vue57-组件的自定义事件_解绑

给谁绑的自定义事件,就找谁去触发;给谁绑的自定义事件,就找谁去解绑; 一、解绑自定义事件 1-1、解绑一个自定义事件 到student.vue组件中去解绑。 1-2、解绑多个自定义事件 使用数组来解绑多个。 1-3、解绑所有的自定义事件 二、…

Linux-远程访问及控制

一、SSH远程管理 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent(远程登录…

计算机毕业设计Python+Vue.js知识图谱音乐推荐系统 音乐爬虫可视化 音乐数据分析 大数据毕设 大数据毕业设计 机器学习 深度学习 人工智能

开发技术 协同过滤算法、机器学习、LSTM、vue.js、echarts、django、Python、MySQL 创新点协同过滤推荐算法、爬虫、数据可视化、LSTM情感分析、短信、身份证识别 补充说明 适合大数据毕业设计、数据分析、爬虫类计算机毕业设计 介绍 音乐数据的爬取:爬取歌曲、…

DFS 迷宫

个人感觉DFS没有递归那么烧脑 简单迷宫 如何接受二维数组 先构建A[MAXN][MAXN]&#xff0c;人后二重循环 #include <iostream> #include <vector> #include <cmath> #include <string> #include <cstring> using namespace std; const int N…

Ubuntuwin11双系统

一、准备工作 win11与ubuntu20.4双系统安装案例教程,先查看引导模式参数不服则不要安装否则会报异常 查看BIOS引导模式 查看磁盘分区格式 下载Ubuntu镜像 所有版本下载地址,我的华为云镜像ubuntu20.4这个版本地址

【ComfyUI】Stable Diffusion 3 加Controlnet

基于 instantX-research/diffusers_sd3_control: &#x1f917; Diffusers: State-of-the-art diffusion models for image and audio generation in PyTorch and FLAX. (github.com) 和 ZHO-ZHO-ZHO/ComfyUI-SD3-Medium-CN-Diffusers: ComfyUI SD3-Medium ControlNet&#…

HTTPS原理详解新版

http和https区别 附注&#xff1a; &#xff08;1&#xff09;SSL和TLS其实是一个东西&#xff1b; &#xff08;2&#xff09;完整性通过摘要和原文按照一定算法比对 Https的工作流程 加密算法 数据完整性 Https性能优化

强大的api管理系统Storm Core API_V1.1免授权源码

强大的api管理系统Storm Core API_V1.1免授权源码&#xff0c;带用户key和ip白名单功能 可设置付费操作等 更新日志 此次更新功能比较多 1.完善个人中心页面 2.完善注册登录页面 3.完善key功能 4.增加ip白名单功能 5.以及一些其他小小的美化 6.模板dxx的图片可单个自定…

uniapp 微信小程序更改轮播图指示点

仅微信小程序有效 /* #ifdef MP-WEIXIN */// 默认指示点样式wx-swiper .wx-swiper-dot {position: relative;background-color: #ffffff;width: 28rpx;border-radius: 10rpx;height: 8rpx;opacity: 0.4;}// 当前选中样式wx-swiper .wx-swiper-dot-active {background-color: #f…

Avalonia for VSCode

1、在VSCode中编辑AvaloniaUI界面&#xff0c;在VSCode中搜索Avalonia&#xff0c;并安装。如下图&#xff0c;可以发现Avalonia for VSCode还是预览版。 2、 创建一个Avalonia 项目。 选择项目类型 输入项目名称 选择项目所在文件夹 打开项目 3、项目架构如下图。 4、builde…