对于BPR算法进行的数据pair化预处理中,将用户对物品的评分(显示反馈“1”,隐式反馈“0”)处理为一个pair对的集合<i,j>,其中i为评分为1的物品,j为评分为0的物品。假设某用户有M个“1”的评分,N个“0”的评分,则该用户共有M*N个pair对。这样数据集就由三元组 <u,i,j>表示,该三元组的物理含义为:相对于物品“j”,用户“u”更喜欢物品“i”。即比较不同的项目。
若基于BPR算法进行改进,将三元组<u,i,j>替换为<u+,u-,i>(u+\u-属于用户集合),其中u+比u-具有更高的权重。即给定一个项目,在每个小群组中,将小群组的每2个用户进行配对,得到与给定项目相关的用户的影响权重排序。
我的问题是,原BPR的pair对的集合是用户对物品的评分,那三元组替换为<u+,u-,i>后,pair对的集合应该由什么生成呢?
BPR的三元组 <u,i,j>是比较不同的项目,那如何实现比较不同的用户
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 张卷地 2023-03-13 08:19关注
在原始的 BPR 算法中,pair 对的集合是由用户对物品的评分生成的。但在改进后的 BPR 算法中,我们使用的是一些额外的信息来替代这些评分。具体来说,我们将三元组 <u+, u-, i> 替换为 pair 对的集合。
生成这些 pair 对的集合可以通过以下步骤完成:
对于每个项目 i,我们首先找到其相关的所有用户对 (u+, u-)。
对于每个用户对 (u+, u-),我们从中随机选择一个用户 u 和一个负样本物品 j。这里的负样本物品 j 是指那些未被用户 u+ 和 u- 评分过的物品。
我们将得到的 pair 对 (i, j) 添加到 pair 集合中。这里的 (i, j) 表示:相对于物品 j,用户 u+ 更喜欢物品 i,而用户 u- 则更不喜欢物品 i。
需要注意的是,在某些情况下,可能不存在满足条件的负样本物品 j。例如,在某些数据集中,用户可能已经评分了所有的物品,导致不存在未被评分的物品。在这种情况下,我们可以采用一些特殊的处理方式,例如重新选择用户对或者使用其他的负样本生成策略。
解决 无用评论 打赏 举报
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境