显示反馈与隐式反馈

news2024/11/24 2:31:57

文章目录

  • 1. 数据分类
  • 2. 显性反馈数据模型评价方法:
  • 3. 显式反馈转换为隐式反馈
  • 4. 隐式反馈的作用
  • 5. 参考资料

本文来介绍一下显示反馈与隐式反馈,作为我学习推荐系统的笔记以便日后忘记了可以回过头来温习。

1. 数据分类

  • 显式反馈是指:用户明确喜欢和不喜欢的物品。

  • 隐式反馈是指:用户对于浏览过的物品没有明确表示喜欢或厌恶。这种类型数据只能认为全部是正反馈也即喜欢的物品。

特征

在这里插入图片描述

显式反馈 (如评分评级) 或单一的隐式反馈 (如浏览点击加入购物车)

  • 隐式反馈 (implicit feedback):

    • CTR (Wangchong)
    • CDL (Wang Hao)
    • Neural Collaborative Filtering (Xiangnan He)
  • 显式反馈 (explicit feedback)

    • ConvMF

2. 显性反馈数据模型评价方法:

模型判定推荐的模型判定不被推荐的
测试集中应当被推荐的true positives(TP 正类判定为正类)false positives(FP 负类判定为正类)
测试集中不应被推荐的false negatives(FN 正类判定为负类)true negatives(TN 负类判定为负类)

根据TP ,FP , FN ,TN就可以计算精确率和召回率。再以精确率和召回率计算其他评价方法,精确率和召回率计算参考:

常用推荐系统评测指标

3. 显式反馈转换为隐式反馈

转换的方式主要有以下几种:
以 movielens 数据集为例,电影评分范围为:
1,2,3,4,5(observed) and missing value(unobserved)
(1) rating>=4 : r = 1(正样本,observeed, positive sample) otherwise r = 0(负样本,unobserved, negative sample)
(2) rating不为空 : r = 1(正样本,observeed, positive sample) otherwise r = 0(负样本,unobserved, negative sample),这种方式将所有缺失项都看成是负样本。
(3) rating不为空 : r = 1(正样本,observeed, positive sample) otherwise 通过负采样 r = 0(负样本,unobserved, negative sample),这种方式对缺失项都进行采样,选取一部分作为负样本,如论文Neural Collaborative Filtering (Xiangnan He)。

特别注意:
隐式反馈中,r = 1并不代表用户喜欢该物品(电影),因为不是每个打分都是5分,而且打分因人而异,有的用户比较宽容,打分偏高,有的用户比较严格,打分偏低;r=0也不意味着用户不喜欢该物品,也许用户喜欢该物品只是没有发现该物品而已。r的值仅仅代表用户对该物品有无评分操作,除此之外,别无他意。

4. 隐式反馈的作用

  • 隐式反馈能显著提高推荐系统的预测准确率:

换句话说,用户通过选择表达自己的意见并投票(高或低)来隐式地告诉我们她的偏好。这将评级矩阵简化为二进制矩阵,其中“1”表示“评级”,“0”表示“未评级”。诚然,这种二进制数据不像其他隐式反馈源那样庞大和独立。尽管如此,我们发现结合这种隐式数据-它固有地存在于每个基于评级的推荐系统中-显着提高了预测精度。

5. 参考资料

  1. 推荐系统/分类问题正确率计算和比较方法(显性反馈数据和隐性反馈数据)

  2. 隐式/显式反馈

  3. 显式反馈和隐式反馈

  4. 显式反馈和隐式反馈

  5. 常用推荐系统评测指标

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

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

相关文章

光量子计算机+GPU!NVIDIA、Rolls-Royce和Classiq宣布取得技术突破

​ (图片来源:网络) 5月21日,英伟达(NVIDIA)、罗尔斯罗伊斯(Rolls-Royce)和以色列量子软件公司Classiq宣布了一项量子计算技术突破成果,旨在不断提高喷气发动机的效率。 …

AB32VG:(2)app.cbp工程源码阅读笔记(ADC按键和红外)

文章目录 1.SDK文件目录2.ADCKEY和红外遥控器相关源码2.1 初始化2.2 在定时器中断服务程序中查询按键 3. 更改参数以适应自己的ADC按键板3.1 我的ADC按键板硬件3.2 ADC值转换为键值 4.红外遥控器5. 相关配置 参考文章: 作者:nunu1010,中科蓝…

VSCode+Git+TortoiseGit+Tools

目录 一、Tools 1、VSCode(visual studio code)下载安装 VSCode使用技巧和经验 2、Git下载安装 3、TortoiseGit 简介 3.1、下载安装Git及Tortoisegit 3.2、Tortoisegit拉取gitee仓库到本地 3.3、Git拉取gitee仓库到本地 3.4、Git提交到gitee仓库 4、国内获取GitHub链…

华为OD机试真题B卷 Java 实现【蛇形矩阵】,附详细解题思路

一、题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5时,应该输出的三角形为: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 二、输入描述 输入正整数N(N不大于100)。 三、输出描述…

Vector DDFS

矢量数字频率生成器 版本:vivado2021.1 帮助文档:C:/Xilinx/Vivado/2021.1/doc/sysgen/html_help/vectorddfs.html 接口 I 频率控制字,I 输出频率 * 采样时间 * 2^(频率分辨率);VI、VO 用于同步&#x…

什么是优雅的代码设计

今天我来解释一下什么样的代码才是优雅的代码设计。当然我们的代码根据实际的应用场景也分了很多维度,有偏向于底层系统的,有偏向于中间件的,也有偏向上层业务的,还有偏向于前端展示的。今天我主要来跟大家分析一下我对于业务代码…

电子科技大学计算机系统结构:课后作业

计算机体系结构作业答案 第一二章作业 1.试述Flynn 分类的4 种计算机系统结构有何特点。 参考答案: Flynn按照指令流和数据流两种不同的组合,把计算机系统的结构分为以下4 类: (1)单指令流单数据流SISD&#xff0…

这款AI绘画工具也太太太赞了!模型丰富,轻松绘画,赶快收藏起来!

现今科技发展迅速,让人工智能(AI)成为了我们日常生活中的必备之物。在艺术领域,AI技术也开始广泛应用。特别是AI绘画软件,以其高效、精准的绘画方式,已成为越来越多艺术家、设计师和普通用户绘画的首选工具…

HUSTOJ使用指南

如何快速上手(了解系统的功能)? admin管理员用户登录,点击右上角管理,仔细阅读管理首页的说明。 切记:题目导入后一次只能删一题,不要导入过多你暂时用不上的题目,正确的方式是每次…

Cron在前端的使用,vue与element ui的vue-cron插件的使用及将定时任务cron表达式解析成中文

文章目录 vue-cron插件的使用安装依赖引用Vue页面去掉秒和年定时任务cron解析成中文该插件存在的一个缺陷 vue-cron插件的使用 安装依赖 执行下面npm命令: npm install vue-cron --save 引用 在想使用cron的vue页面引入以下: import VueCron from ‘vue-cron’ …

node版本管理工具nvm安装和使用

公司的前端项目使用的node版本是10.11.1比较老的版本,但是新开发的项目需要使用vue3viteelectron,需要使用较新的node版本 。综上决定研究研究nvm对node进行切换管理。有相同需求的朋友希望下面的文章可以帮助到你们。借鉴了一些博主的文章,在文章里也总…

重磅!Cloud Ace 在班加罗尔和孟买成立新的据点

Cloud Ace Cooperation(总部位于东京千代田区; Makoto Aoki,总裁)很高兴地宣布,我们已经在班加罗尔建立了新的开发中心,并在孟买建立了新的销售办事处,作为 Cloud Ace 进一步扩大公司在印度业务…

docker-compose通过volume恢复mysql数据

概述 docker rm是docker删除容器的命令。 会清空容器内的所有数据和配置,即真正的将容器清空并删除。 但是之前通过volume挂载到宿主机上是不受影响的。 docker rm -v如果是-v的命令那么会同时删除通过volume映射到宿主机上的文件 通过volume恢复数据 使用docke…

第六十六天学习记录:《高质量C/C++编程指南》中附录的考试试卷(含答案)

该试卷转载自林锐《高质量C/C编程指南》,先贴下原作者的版权声明。 版权声明:本书的大部分内容取材于作者一年前的书籍手稿(尚未出版),现整理汇编成为上海贝尔网络应用事业部的一个规范化文件,同时作为培训…

chatgpt赋能python:Python如何分配内存

Python如何分配内存 Python是一种动态解释型语言,它在运行时分配内存用于存储变量和对象。Python提供了一种内存管理机制,它能够动态地分配和管理内存。本文将介绍Python如何分配内存并讨论与之相关的一些最佳实践。 Python内存管理机制 Python中的所…

Vue.js 中的性能优化是什么?如何进行性能优化?

Vue.js 中的性能优化是什么?如何进行性能优化? Vue.js 是一款流行的前端框架,它具有响应式数据绑定、组件化开发、虚拟 DOM 等特性,使得开发者可以更加高效地构建交互式的用户界面。然而,在实际开发中,由于…

LeetCode 2352. 相等行列对:手动哈希

【LetMeFly】2352.相等行列对:手动哈希 力扣题目链接:https://leetcode.cn/problems/equal-row-and-column-pairs/ 给你一个下标从 0 开始、大小为 n x n 的整数矩阵 grid ,返回满足 Ri 行和 Cj 列相等的行列对 (Ri, Cj) 的数目。 如果行和…

ArduPilot之H743遗留配置问题解决

ArduPilot之H743遗留配置问题解决 1. 源由2. 资源3 遗留问题汇总3.1 问题一:无法设置VTX 600m3.2 问题二:双向Dshot未显示RMP转速3.3 问题三:mavlink esp32 2.4G WiFi电传 4. 参考资料 1. 源由 在ArduPilot开源代码之H743BMI270x2ChibiOS配置…

步进电机相数、细分、步距角、接线方法

1、旋转步进电机 旋转步进电机就是电机是一步一步转动的,故叫旋转步进电动机。每输入一个脉冲冲信号,该电动机就转过一定的角度,因此旋转步进电机是一种把脉冲变为角度位移的执行元件。 可通过脉冲频率控制步进电机的旋转速度,通…

ChatGPT中文版提示词学习手册, 学完工作效率提升百倍!

既然你对ChatGPT及其功能有了⼀些了解,让我们更深入地了解⼀下ChatGPT是什么以及它是如何工作的。 那么ChatGPT是如何工作的呢?在高层次上,这个过程可以分解为以下步骤: 1. 用户将文本输入ChatGPT界面。这可能是一个问题&#xf…