Selection bias mitigation in recommender system using uninteresting items学习笔记

news2024/10/2 14:31:24

0 简介

论文题目:Selection bias mitigation in recommender system using uninteresting items based on temporal visibility
发表情况:2023年,Expert Systems With Applications
论文地址:https://doi.org/10.1016/j.eswa.2022.118932
论文源代码:目前没发现

1 动机

这篇论文应该是借鉴了“Told You I Didn’t Like It”: Exploiting Uninteresting Items for Effective Collaborative Filtering的想法,我们主要关注是这两篇论文的不同之处。

主要区别在于计算使用前偏好上:

  • Told You I Didn’t Like It:利用矩阵分解,只考虑用户评分因素;
  • Selection bias mitigation:结合用户活动、商品受欢迎程度和时间因素,综合衡量商品对用户的可见性,并使用时间可见性(temporal visibility)对缺失数据进行非均匀加权,以计算他们的使用前偏好。

2 主要方案

2.1 使用前偏好分析

  • 使用前偏好一般基于用户对物品外部特征的偏好,这些特征可以在没有实际使用的情况下获得,如电影类型、主演等。
  • 使用后偏好取决于用户对物品内部特征的偏好,比如电影故事情节。

对于使用前偏好较低的物品,用户在看到它们时不会进行交互。可以推断,他们的使用后偏好很低,即评分很低。

对于用户评分的物品,可以简单地推断出他们的使用前偏好非常高。挑战在于如何准确地推断未评分物品的使用前偏好。这是一类(one-class)问题(Pan et al., 2008),也就是说,观察到的评分是正样本,缺乏负样本。当隐性反馈缺乏负样本时,已有研究提出了两种应对策略。一种是基于样本的学习(He & McAuley, 2016),从缺失数据中提取负样本。另一种是全数据学习(whole-data-based learning),将所有缺失的数据视为负样本,并赋予其权重,作为它们是负样本的置信度。前者不需要考虑所有缺失数据,效率高,但不可避免地存在丢失有价值信息的风险,模型的鲁棒性较差。后者使用所有数据,覆盖率较高,但效率较低。为了保持模型的鲁棒性,我们使用了基于全数据的学习。加权正则化矩阵分解(WRMF)将所有缺失数据作为负样本,并分配小的统一权重(Hu, Koren & Volinsky, 2008)。我们认为未评分项目的置信度与负样本相同,但这与实际情况不一致。基于项目的受欢迎程度,元素替代最小二乘(eALS)对未评分的项目进行非均匀加权(He, Zhang, Kan & Chua, 2016)。越受欢迎的商品,在用户不互动的情况下,越容易被用户看到,负样本的置信度越高,应给予更高的权重。但是,这些方法没有考虑到用户之间的差异以及时间因素对知名度的影响。

目前的大多数方法都是基于一种体验,即只看不互动的项目显示了用户的负面偏好。一个物品越有可能被用户看到,而用户不进行交互,那么它是一个负面例子的置信度就越高。关键是如何准确地推断用户是否看到了该项目。目前流行的方法是利用商品的受欢迎程度来推断商品对用户的可见性,但可靠性不高。事实上,不同活动的用户对物品的可见性不同,物品的受欢迎程度随着时间的推移而变化(He et al., 2014)。我们将提出一种更细粒度的加权方案。同时,为了缓解整体数据学习带来的效率问题,我们使用eALS对目标算法进行优化。该方法为处理加权矩阵分解以优化元素级参数提供了一种新的思路。该方法避免了传统ALS矩阵分解中需要矩阵求逆的问题,提高了效率。

2.2 ITV-eALS模型

评过分的项目使用前偏好为1:
p u i = { 0 , r u i =  null  1 , r u i ≠  null  p_{u i}=\left\{\begin{array}{l} 0, r_{u i}=\text { null } \\ 1, r_{u i} \neq \text { null } \end{array}\right. pui={0,rui= null 1,rui= null 
利用矩阵分解来预测
J = ∑ u = 1 m ∑ i = 1 n w u i ( p u i − r ^ u i ) 2 + λ ( ∑ u = 1 m ∥ x u ∥ 2 + ∑ i = 1 n ∥ y i ∥ 2 ) J=\sum_{u=1}^{m} \sum_{i=1}^{n} w_{u i}\left(p_{u i-} \widehat{r}_{u i}\right)^{2}+\lambda\left(\sum_{u=1}^{m}\left\|x_{u}\right\|^{2}+\sum_{i=1}^{n}\left\|y_{i}\right\|^{2}\right) J=u=1mi=1nwui(puir ui)2+λ(u=1mxu2+i=1nyi2)
此处 r ^ u i = x u y i T \widehat{r}_{u i} = x_uy_i^T r ui=xuyiT W = ( w u i ) m × n W=\left(w_{u i}\right)_{m \times n} W=(wui)m×n
本文和“Told You I Didn’t Like It” 最大区别就在于 W W W的计算,“Told You I Didn’t Like It” 在计算 W W W的时候只考虑用户评分项目的数量,本文不但考虑用户评分项目的数量(通过 α ^ u \widehat{\alpha}_u α u来体现),还加入了时间因素,某个时间阶段用户评分项目的数量
w u i = { 1 , p u i = 1 ε α ^ u + ( 1 − ε ) β ^ i , p u i = 0 w_{u i}=\left\{\begin{array}{c} 1, p_{u i}=1 \\ \varepsilon \widehat{\alpha}_{u}+(1-\varepsilon) \widehat{\beta}_{i}, p_{u i}=0 \end{array}\right. wui={1,pui=1εα u+(1ε)β i,pui=0
α ^ u = ∑ i = 1 n p u i \widehat{\alpha}_u = \sum_{i=1}^n p_{ui} α u=i=1npui表示用户 u u u在某一个时间阶段 [ t m i n , t m a x ] [t_{min}, t_{max}] [tmin,tmax]评分项目的数量,并利用 log ⁡ \log log函数归一化:
α ^ u = log ⁡ ( α u ) max ⁡ ( log ⁡ ( α ) ) \widehat{\alpha}_u=\frac{\log \left(\alpha_u\right)}{\max (\log (\alpha))} α u=max(log(α))log(αu)
β ^ i = ∑ u = 1 m p u i \widehat{\beta}_i = \sum_{u=1}^m p_{ui} β i=u=1mpui表示项目 i i i在某一个时间阶段 [ t m i n , t m a x ] [t_{min}, t_{max}] [tmin,tmax]被用户评分的数量,并利用 log ⁡ \log log函数归一化:
β ^ i = log ⁡ ( β i ) max ⁡ ( log ⁡ ( β ) ) \widehat{\beta}_i=\frac{\log \left(\beta_i\right)}{\max (\log (\beta))} β i=max(log(β))log(βi)
后面的填充方法和“Told You I Didn’t Like It” 一样。

3 实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Java_Maven:5. 把第三方 jar 包放入本地仓库或私服

目录 1 导入本地库 2 导入私服 3 参数说明 1 导入本地库 随便找一个 jar 包测试,可以先 CMD进入到 jar 包所在位置,运行 mvn install:install-file -DgroupIdcom.alibaba -DartifactIdfastjson -Dversion1.1.37-Dfile fastjson-1.1.37.jar -Dpackaging…

基于matlab使用深度学习的SAR目标分类

一、前言此示例演示如何创建和训练一个简单的卷积神经网络,以使用深度学习对 SAR 目标进行分类。深度学习是一种强大的技术,可用于训练健壮的分类器。它已经在从图像分析到自然语言处理的不同领域显示出其有效性。这些发展对SAR数据分析和SAR技术具有巨大…

YOLOv5简介

YOLOv5 一、输入端 1. Mosaic数据增强: CutMix 数据增强:随机生成一个裁剪框Box,裁剪掉A图中的相应位置,然后用B图相应位置的ROI放到A中被裁剪的区域中形成新的样本。采用加权求和的方式计算损失,将A区域中被cut掉的…

Kubernetes安全

Kubernetes RBAC授权 Kubernetes 安全框架 K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都支持插件方式,通过API Server配置来启用插件。1. Authentication(鉴权) K8s Apiserver提供三种客户端身份认证:• H…

JVM08执行引擎

执行引擎属于JVM的下层 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则…

JavaWeb5-线程常用属性

目录 1.ID 2.名称 3.状态 4.优先级 5.是否守护线程 5.1.线程类型: ①用户线程(main线程默认是用户线程) ②守护线程(后台/系统线程) 5.2.守护线程作用 5.3.守护线程应用 5.4.守护线程使用 ①在用户线程&am…

基础篇(-1)-java特点、JDK、JRE、JVM区别、字节码编译、跨平台、程序运行

文章目录1.Java的特点有哪些?2.JDK和JRE和JVM的区别3.Java为什么采用字节码编译?4.什么是跨平台?5.Java程序从源代码到运行需要三步?1.Java的特点有哪些? Java是一种编程语言,被特意设计用于互联网的分布式…

windwos安装spring-cloud-alibaba-nacos

windwos安装spring-cloud-alibaba-nacos前言一、预备环境二、下载源码或者安装包1.启动2.关闭总结前言 这个快速开始手册是帮忙您快速在您的电脑上,下载、安装并使用 Nacos。 一、预备环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos&#x…

[ vulhub漏洞复现篇 ] Drupal Core 8 PECL YAML 反序列化任意代码执行漏洞(CVE-2017-6920)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

Django框架进阶版

一、Django介绍 1.起源 2005年发布,采用python语言编写的。 早期Django主要做新闻和内容管理 重量级python web框架,配备了大量组件 2.组件 包含组件如下 基本配置文件/路由系统 MTV设计模式 Cookies和Session 分页和发邮件 Admin管理后台 3…

2023美赛A题完整数据!思路代码数据数学建模

选取内蒙古河套灌区(典型干旱区)2010-2020年气温,降雨,蒸散发和水汽压月数据 包括四种主要作物及其占比 内容截图如下: 链接为:https://www.jdmm.cc/file/2708703 同时还提供参考代码和参考文章的选项~…

格式化字符串

组包&#xff1a;按照需要的格式组成字符串解包&#xff1a;解析特定格式的数据网络信息传输解析字符串的格式使用较多&#xff01;1、sprintf用于组包将零散的数据格式按照固定的格式组成字符串#include <stdio.h> int sprintf(char *str, const char *format, ...); …

博客排名的影响是什么? 说明优点、注册方法和推荐网站

如果您经营博客&#xff0c;您是否在博客排名网站上注册&#xff1f;博客排名网站是以排名格式介绍各种注册博客的网站。如果您注册博客&#xff0c;您将有更多机会被人们看到&#xff0c;并且可以期望增加访问权限。对于那些刚刚打开博客并担心访问量不会轻易增加的人来说&…

王道考研——计算机网络(第一章 计算机网络体系结构)

1.0认识计算机网络 在下载电影&#xff08;不会出现乱序问题&#xff09;和微信收发消息&#xff08;比如表情包乱序了&#xff09;所使用的协议是不同的 1.1-1概念和功能 &#xff08;1&#xff09;计算机网络的概念 &#xff08;2&#xff09;计算机网络的功能 &#xff08;…

酸回收树脂的应用

酸洗废水 在轧钢、金属表面处理、电子元件制造等过程中需要清除钢材表面氧化铁皮而使用酸进行酸洗&#xff0c;酸洗过程中会产生废酸液和酸洗废水。 这些废酸产量大、酸度高&#xff0c;而且由于酸洗废水来自钢铁和金属表面处理的清洗水&#xff0c;水中含有多种重金属离子&am…

2023年美赛F题

关键点1.绿色GDP(GGDP)是否比传统GDP更好好的衡量标准?2.如果GGDP成为经济健康的主要量标准&#xff0c;可能会对环境产生什么影响?3建立一个简单的模型&#xff0c;估计GGDP取代GDP作为经济健康的主要衡量标准&#xff0c;对减缓气候变化产生的影响。4.GGDP取代GDP可能会遇到…

复旦-华盛顿大学EMBA项目二十年20人丨赵中华:“拓荒”新天地

复旦大学-华盛顿大学EMBA项目20周年校友系列访谈。      从业十八载&#xff0c;赵中华的身上始终葆有一种开拓创新的拼劲和韧劲。身为德国威卡集团计量校准事业部中国区销售总监&#xff0c;他认为无论是在开辟新市场时勇敢接受不确定性带来的挑战&#xff0c;还是在遭遇新…

打印不同的图形-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-1】打印不同的图形 记得 关注&#xff0c;收藏&#xff0c;评论哦&#xff0c;作者将持续更新。。。。 【案例介绍】 案例描述 本案例要求编写一个程序&#xff0c;可以根据用户要求在控制台打印出不同的图形。例如&#xff0c;用户自定义半径的圆形和用户自定义边长的…

MyBatis-Plus快速入门篇

入门篇1.快速入门1.1数据库准备1.2创建SpringBoot工程&#xff0c;引入MyBatis-Plus和MySQL依赖&#xff0c;可以使用 Spring Initializer快速初始化一个 Spring Boot 工程1.3编写DataSource相关配置&#xff08;配置MySQL数据库连接&#xff09;1.4编码1.5测试2.使用MybatisPl…

【论文阅读】Frustratingly Simple Few-Shot Object Detection

从几个例子中检测稀有物体是一个新出现的问题。 先前的工作表明Meta-Learning是一种有希望的方法。 但是&#xff0c;微调技术很少引起注意。 我们发现&#xff0c;在稀有类上只对现有探测器的最后一层进行微调对于 Few-Shot Object Detection至关重要。 这样一种简单的方法在当…