对负采样(negative sampling)的一些理解

负采样(negative sampling)通常用于解决在训练神经网络模型时计算softmax的分母过大、难以计算的问题。但在LightGCN模型论文的BPR LOSS中,负采样的概念可能与传统的softmax分母问题不完全一样。

在LightGCN模型中,不同于传统的协同过滤方法或基于矩阵分解的模型,它采用了一种轻量级的方式来学习用户和物品的嵌入表示。LightGCN的损失函数中包含了BPR损失(Bayesian Personalized Ranking),该损失函数用于推动模型更好地区分用户对已观察到的物品和未观察到的物品的兴趣。这是通过负采样来实现的。

具体来说,负采样在这里用于生成未观察到的物品(负样本),以便在BPR损失中比较已观察到的物品和未观察到的物品之间的差异。通过随机或其他采样策略,从未观察到的物品中选择一些物品作为负样本,然后计算它们与已观察到的物品之间的兴趣差异,如公式(15)所示。这有助于模型学习更好地排名观察到的物品高于未观察到的物品。
在这里插入图片描述
公式(15)代表了LightGCN模型中的损失函数,这是基于贝叶斯个性化排名(Bayesian Personalized Ranking,BPR)的损失函数。

首先,让我们看一下公式中的符号和变量:

LBPR 是BPR损失函数。
M 是用户的数量。
u=1 到 M 是用户索引的范围。
i ∈ Nu 表示用户 u 观察到的物品 i 的集合。
j ∈ N/ u 表示用户 u 没有观察到的物品 j 的集合,,“j ∈ N/ u” 这一步的目的是选择未与用户 u 直接交互的物品 j。换句话说,它表示从所有可能的物品中选择那些不在用户 u 的交互历史中的物品作为负样本。这是负采样的一部分,目的是与已观察到的物品 i 进行比较,以计算 BPR 损失,以便推动模型更好地区分用户对已观察到的物品和未观察到的物品的兴趣。在协同过滤和推荐系统中,通常存在大量未被用户交互过的物品(item),而用户的历史交互数据只包含了少量物品。如果要考虑所有可能的未交互物品来计算 BPR 损失,这将导致计算成本非常高,因为负样本的数量可能远远大于正样本(用户已交互的物品)的数量。因此,为了降低计算成本,推荐系统通常采用负采样策略,从未交互的物品中随机选择一部分作为负样本,然后使用这些负样本来计算 BPR 损失。这样可以在保持模型训练有效性的同时降低计算复杂性。就有一种我觉得是以部分代替整体的感觉。
ui 是模型预测用户 u 对物品 i 的兴趣。
uj 是模型预测用户 u 对物品 j 的兴趣。
σ(x) 是Sigmoid函数,它将实数映射到 (0, 1) 的范围内。
λ||E(0)||2 是正则化项,用于控制模型的复杂度。
BPR损失函数的目标是鼓励模型使观察到的物品的预测兴趣高于未观察到的物品的预测兴趣。这可以通过计算差异的负对数概率来实现。具体来说,对于每个用户 u,我们计算了观察到的物品 i 和未观察到的物品 j 之间的差异,然后通过负对数概率来量化这种差异。

式子中的第一项 -ln σ(ŷui - ŷuj) 是计算差异的部分。这里,σ(x) 是Sigmoid函数,它将模型预测的兴趣值映射到 (0, 1) 的范围内。ŷui - ŷuj 表示用户 u 对物品 i 和物品 j 的预测兴趣之差,通过Sigmoid函数将其映射到概率空间。因此,-ln σ(ŷui - ŷuj) 表示观察到的物品 i 的预测兴趣高于未观察到的物品 j 的负对数概率。

第二项 λ||E(0)||2 是正则化项,用于防止过拟合。这里,E(0) 是模型的第0层的嵌入矩阵,正则化项通过惩罚嵌入矩阵的大小来控制模型的复杂度。

综上所述,公式(15)是基于BPR思想的损失函数,用于训练LightGCN模型。它的目标是通过最小化差异的负对数概率来鼓励模型提高对观察到的物品的预测兴趣,同时使用正则化项来防止过拟合。这有助于LightGCN模型学习用户和物品之间的嵌入表示以进行推荐任务。

虽然负采样主要用于处理类似于传统softmax分母问题的难以计算的问题,但在这里它的目的是与BPR损失结合使用,以提高推荐质量,而不仅仅是减少计算复杂性。因此,在这个上下文中,负采样是一种用于训练推荐模型的技术,用于优化BPR损失。

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

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

相关文章

AR智能眼镜:提升现场服务技能、效率与盈利能力的利器(一)

随着技术的不断进步,现场服务组织正朝着远程支持转变,用以解决技能差距和生产力问题,提高员工培训和操作效率,同时为企业提高利润率,创造竞争优势。 本文将探讨增强现实(AR)、辅助现实&#xf…

【李沐深度学习笔记】损失函数

课程地址和说明 损失函数p2 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。 损失函数 损失函数是用来衡量预测值 y ^ \hat{y} y^​或 y ′ y y′与真实值 y y y的差别,下面给出常见的损失函数类型&am…

科技资讯|AirPods Pro基于定位控制的自适应音频功能

在接受 TechCrunch 媒体采访时,苹果高管 Ron Huang 和 Eric Treski 谈到了关于 AirPods Pro 自适应音频(Adaptive Audio)功能的轶事,曾考虑基于 GPS 信号来控制自适应音频级别。 Treski 表示在探索自适应音频功能初期&#xff0…

uniapp 实现下拉筛选框 二次开发定制

前言 最近又收到了一个需求,需要在uniapp 小程序上做一个下拉筛选框,然后找了一下插件市场,确实有找到,但不过他不支持搜索,于是乎,我就自动动手,进行了二开定制,站在巨人的肩膀上&…

什么是GraphQL?它与传统的REST API有什么不同?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是GraphQL?⭐ 与传统的REST API 的不同⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣…

7.网络原理之TCP_IP(上)

文章目录 1.网络基础1.1认识IP地址1.2子网掩码1.3认识MAC地址1.4一跳一跳的网络数据传输1.5总结IP地址和MAC地址1.6网络设备及相关技术1.6.1集线器:转发所有端口1.6.2交换机:MAC地址转换表转发对应端口1.6.3主机:网络分层从上到下封装1.6.4主…

【新版】系统架构设计师 - 软件架构的演化与维护

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 软件架构的演化与维护考点摘要软件架构演化和定义面向对象软件架构演化对象演化消息演化复合片段演化约束演化 软件架构演化方式静态演化动态演化 软件架构演化原则软件架构演化评估方法大型网站架…

Ubuntu 20.04二进制部署Nightingale v6.1.0和Prometheus

sudo lsb_release -r可以看到操作系统版本是20.04,sudo uname -r可以看到内核版本是5.5.19。 sudo apt-get update进行更新镜像源。 完成之后,如下图: sudo apt-get upgrade -y更新软件。 选择NO,按下Enter。 完成如下&…

自定义注解实现Redis分布式锁、手动控制事务和根据异常名字或内容限流的三合一的功能

自定义注解实现Redis分布式锁、手动控制事务和根据异常名字或内容限流的三合一的功能 文章目录 [toc] 1.依赖2.Redisson配置2.1单机模式配置2.2主从模式2.3集群模式2.4哨兵模式 3.实现3.1 RedisConfig3.2 自定义注解IdempotentManualCtrlTransLimiterAnno3.3自定义切面Idempote…

问题记录 springboot 事务方法中使用this调用其它方法

原因: 因为代理对象中调用了原始对象的toString()方法,所以两个不同的对象打印出的引用是相同的

快速将iPhone大量照片快速传输到电脑的办法!

很多使用iPhone 的朋友要将照片传到电脑时,第一时间都只想到用iTunes 或iCloud,但这2个工具真的都非常难用,今天小编分享牛学长苹果数据管理工具的照片传输功能,他可以快速的将iPhone照片传输到电脑上,并且支持最新的i…

OpenCV实现模板匹配和霍夫线检测,霍夫圆检测

一,模板匹配 1.1代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]#图像和模板的读取 img cv.imread("cat.png") template cv.imread(r"E:\All_in\o…

配置OSPF路由

OSPF路由 1.OSPF路由 1.1 OSPF简介 OSPF(Open Shortest Path First,开放式最短路径优先)路由协议是另一个比较常用的路由协议之一,它通过路由器之间通告网络接口的状态,使用最短路径算法建立路由表。在生成路由表时,…

亚马逊无线鼠标FCC认证办理 FCC ID

无线鼠标是指无线缆直接连接到主机的鼠标,采用无线技术与计算机通信,从而省却电线的束缚。通常采用无线通信方式,包括蓝牙、Wi-Fi (IEEE 802.11)、Infrared (IrDA)、ZigBee (IEEE 802.15.4)等多个无线技术标准。随着人们对办公环境和操作便捷…

Vue中动态树形菜单,以及

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Vue》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏…

Leetcode205. 同构字符串

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0…

CTP:关于cc和bindgen库及rust工程组织

有三个工程目录,cpt-api, ctp-sdk,ctp-strategy 1、ctp-sdk: 主要的目的是基于bindgen库生成与cpp的.h文件相对应一个binding.rs文件,后面供策略使用。 在这个目录下,建一个build.rs,用bindgen库生成cpp.h的头文件相应的rust绑定…

蓝桥杯每日一题2023.9.29

蓝桥杯大赛历届真题 - C&C 大学 B 组 - 蓝桥云课 (lanqiao.cn) 题目描述1 题目分析 看见有32位,我们以此为入手点, B代表字节1B 8b b代表位,32位即4个字节 (B) 1KB 1024B 1MB 1024KB (256 * 1024 * 1024) / 4 67108864 故答案…

redis主从从,redis-7.0.13

redis主从从,redis-7.0.13 下载redis安装redis安装redis-7.0.13过程报错1、没有gcc,报错2、没有python3,报错3、[adlist.o] 错误 127 解决安装报错安装完成 部署redis 主从从结构redis主服务器配置redis启动redis登录redisredis默认是主 redi…

Flutter笔记:用于ORM的Floor框架简记

Flutter笔记 用于ORM的Floor框架简记 本文地址:https://blog.csdn.net/qq_28550263/article/details/133377191 floor 模块地址:https://pub.dev/packages/floor 【介绍】:最近想找用于Dart和Flutter的ORM框架,偶然间发现了Floor…