[ins 2022] 针对已见和未见群体的群体推荐中的贝叶斯归纳学习

news2024/9/28 7:27:50

Bayesian inductive learning in group recommendations for seen and unseen groups

https://www.sciencedirect.com/science/article/pii/S0020025522008933

摘要

群组推荐是指向一组用户(即成员)推荐物品。在预测相关项目时,模型通常会面临未出现在训练步骤中的未见组。最近,深度神经网络和注意力机制通过聚合用户偏好应用于群组推荐。然而,目前的方法不足以处理看不见的群体(即,转导模型)或难以计算具有成本效益的注意力网络正则化

在这项研究中,我们提出了新颖的贝叶斯归纳学习方法,称为 IndiG,用于向已见和未见群体提出建议。为了归纳学习,由基于注意力的有效聚合组成的函数分布被用作跨组共享信息。通过将转导模型作为后验结合到所提出的贝叶斯方法中,作为先验的归纳模型可以稳健地学习。我们采用具有成本效益的正则化来防止退化的解决方案,方法是最大化转导模型和归纳模型的组表示之间的相关性,同时去相关组表示的维度。

通过实验,我们证明了所提出的方法优于其他现有方法。实验还表明,对项目的预测评级使用不确定性可以有效地提高性能。

引言

群组推荐中,有两个主要目标:

i)概括成员偏好(或成员推荐)的聚合函数

ii)处理训练期间不存在的看不见的群组。

建模聚合函数(即集合函数)是有限的,因为函数应该能够处理组中各种规模的用户并且对用户顺序的顺序不变

此外,现实世界中的群组通常是临时的(例如,有晚餐约会的朋友或同事),但是群组推荐系统通常面对看不见的群组。

在这项研究中,我们专注于处理可见和不可见的组,以及在没有退化表示的情况下推广聚合函数。

早期的聚合方法使用预定义的策略,例如平均[4]和最少痛苦[3] 。随后,出现了复杂的概率方法,使用共轭先验和图形模型 [25][30][46]对用户偏好的混合进行建模。然而,这些概率方法需要许多归纳偏差,例如生成过程。最近,深度神经网络和注意力机制[2] 通过聚合潜在用户偏好[7][32]应用于群组推荐, [37]神经聚合函数利用注意力机制从数据中学习动态聚合策略(例如,一个组成员可能根据所属组具有不同的影响)

神经聚合函数的稳健学习很困难,因为组项交互通常是稀疏的(交互稀疏度>99%);因此,它们受到组、用户和项目的输入特征质量的强烈影响。当特征部分可用时,人们可能更喜欢使用嵌入向量(即从预定义 ID 映射的潜在表示,例如,单热编码到嵌入空间)和矩阵分解技术[22][27]转导下环境学习潜在的表征而不是特征。特别是,转换设置意味着整个组都是预先知道的,并且在训练步骤中可以看到所有组至少有一个项目交互。使用适当的组嵌入向量可以帮助学习准确的组偏好[7]。然而,这样的模型不能正确地应用于没有映射信息到嵌入空间的不可见组(图 1(a))。

为了处理可见和不可见的组,[32][37]提出了归纳学习模型。归纳模型从数据中学习群体的共同属性,即共享信息,然后将它们应用到看不见的群体中。在以前的工作中,共同属性由聚合函数的神经网络的权重表示,并且权重在组之间共享。但是,共享权重取决于输入;因此,当输入特征的质量较低时,性能可能会下降。性能下降的一个原因是组的潜在表示可以折叠(或退化)[32]; 例如,表示群体偏好的向量可以收敛到一个点(图 2(a))。

为了减轻表征崩溃[32]提出了基于对比学习的正则化,可以最大化群体及其成员偏好的相互信息。然而,这种对比方法有一些局限性。需要互信息估计器,并且该估计器中使用的负采样可能代价高昂[48]。此外,[32]获得的组表示可以分布在一条线上(dimensional collapse),如图2(b)所示。

所提出的方法最大化了转换模型的中间组表示与归纳模型的中间组表示之间的相关性。因此,组表示可以更好地分布(图 2(c))

本文贡献总结如下:

• 我们提出了一种贝叶斯归纳学习方法,称为靛蓝IndiG,用于向可见和不可见的群体随机推荐项目。对于归纳学习,由有效的基于注意力的聚合组成的函数分布被用作跨组共享信息。通过将转导模型作为后验合并到所提出的贝叶斯方法中,先验(即归纳模型)可以稳健地学习。此外,所提出的方法可用于扩展任何转导组推荐模型,以推荐已见和未见组的项目。

• 我们采用两种正则化策略:

i)一种有效的基于相关性的正则化器(没有负样本和互信息估计器)以防止退化;

ii) 一个基于预测项的正则化器,它是提高归纳模型(但不存在于变分近似中)的准确性所必需的,具有理论洞察力。

• 实验结果表明,与其他现有的群组推荐模型相比,所提出的方法为可见和不可见的群组提供了更准确的推荐。我们进一步进行了不确定性感知建议,以表明对项目的预测评级使用不确定性可有效提高推荐性能。

Preliminaries

直推设置当我们假设整个组都是预先知道的,并且在训练步骤中看到所有组至少有一个项目交互时。

归纳模型:图3 (c) 中所示的感应设置假设在测试步骤中可能会出现一个看不见的组。归纳模型从数据中学习群体的共同属性(即共享信息),并将它们应用于不可见的群体。神经网络的权重和概率生成过程是共享信息的例子。归纳组推荐模型由图表示F(⋅):

循序不变性:不管是归纳式还是归纳式的群体推荐模型,它们对群体中用户的顺序应该是循序不变的。

本文模型

(a) 所提出的模型IndiG: 群G , 一组项目V,用户u,项目v ,组G的潜在向量z,评级r和权重w F(⋅).

(b) 评级估计器

(c) 潜在向量生成器的模型架构。

3.1 贝叶斯公式

3.1.1 变分推理

3.1.2 生成评分

首先,所提出的方法生成跨组从数据中学习的全局共享信息w ;其次,使用共享信息w和群组成员信息G,生成潜在群组偏好z;最后,我们对给定的组进行项目推荐。所提出的方法可用于可见和不可见的组;因此,它是一种用于群体推荐的归纳学习方法。值得注意的是,组嵌入向量吨G吨G用于训练的数据不再用于评级生成。

关于预测评级的不确定性,我们计算不确定性以过滤掉高度不确定的项目,以便更好地推断看不见的群体。以下是对此的解释。在组推荐中,组项交互在训练数据中通常是稀疏的。此外,可能会出现看不见的群体。看不见的组可能不在训练数据分布范围内;因此,模型需要外推才能为看不见的群体提出建议。然而,如果激活与目标函数不相似,神经网络(例如,多层感知器)不能很好地外推,例如,具有 ReLU 激活的多层感知器不能外推大多数非线性函数[42]. 然而,不可能预先确定目标函数。相反,我们通过限制区域来调整预测结果以更好地推断,适当限制区域将提高性能。要构建适当的限制区域,一种可能的解决方案是过滤掉高度不确定的项目。因此,我们计算给定项目和组的不确定性。

确定性评估所提出方法的另一种方法是使用平均值:

3.1.3 处理负样本

3.1.4 正则化:防止collapse

3.1.5 正则化:归纳模型的预测概率

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

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

相关文章

fs 文件系统模块

1、什么是 fs 文件系统模块 fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。 方法名 说明 fs.readFile() 用来读取指定文件中的内容 fs.writeFile() 用来向指定的文件中写入内容 如果要在 J…

webflux整合swagger教程V2版

1. yml文件配置 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId><version>2.1.0.RELEASE</version></dependency><!--数据库开始--&…

python @classmethod

1..什么是classmethod classmethod是用来指定一个类的方法为类方法 长的像下面这个样子 1 2 3 class cc: classmethod def f(cls, arg1, arg2, ...): ... cls通常用作类方法的第一参数 跟self有点类似&#xff08; __init__里面的slef通常用作实例方法的第一参数)。…

vue开发环境配置Visual Studio Code配置和安装教程

方便前端vue开发&#xff0c;使用vs code插件安装详细教程&#xff0c;关于vs code可以网络上相关的教程&#xff0c;插件安装如下图所示&#xff0c;大家常用的插件可再分享&#xff0c;与我联系。 1 安装Vue语法高亮显示插件&#xff1a;vetur 2 安装vue语法提示插件&#xf…

小孩上了半年小学,针对老师的评语总结,如何对症优化教育培养策略?chatGPT搜了一下,AI震惊了我

评语 班主任评语&#xff1a; 你是一个性格内向、聪明伶俐的男孩。平时能按时完成老师布置的作业&#xff0c;学习认真&#xff0c;成绩优良&#xff0c;做事认真。但有时自己的事情还不能自己完成&#xff0c;希望你以后可以独立起来&#xff0c;遇到问题多想办法&…

高性能网关基石——OpenResty

什么是 OpenRestyOpenResty 一个基于 Nginx 的高性能 Web 平台&#xff0c;能够方便地搭建处理超高并发的动态 Web 应用、 Web 服务和动态网关。例如有名的 Kong 网关和国产新秀 ApiSIX 网关都是基于 OpenResty 来进行打造的。OpenResty 通过实现 ngx_lua 和 stream_lua 等 Ngi…

Nmap工具使用

Nmap工具使用1.Nmap简介1.1.Nmap介绍1.2.Nmap功能介绍1.3.Nmap下载1.4.Nmap端口状态2.Nmap基本使用2.1.Nmap基础扫描2.2.Nmap基础扫描多个目标2.3.Nmap详细扫描输出2.4.Nmap指定端口扫描2.4.1.单端口扫描2.4.2.端口范围扫描2.4.3.端口组合扫描2.5.Nmap扫描排除2.5.1.排除一个主…

强大的ANTLR4(6)--设计语法

四种抽象的计算机语言模式&#xff1a; 1&#xff09;序列&#xff1a;一列元素&#xff0c;数组 2&#xff09;选择&#xff1a;在多个可选方案中做出选择 3&#xff09;词法符号依赖&#xff1a;例如左右括号匹配 4&#xff09;嵌套结构&#xff1a;一种自相似的语言结构。 …

lambda表达式入门

一、函数式编程思想 1 概念 面向对象思想需要关注用什么对象完成什么时期&#xff0c;而函数式编程思想更类似于我们数学中的函数&#xff0c;它主要关注的是对数据进行了什么操作 2 优点 代码简洁&#xff0c;开发快速接近自然语言&#xff0c;易于理解易于"并发编程…

计算机网络——BGP协议

BGP协议 和谁交换&#xff1a;与其他AS的邻站BGP发言人交换信息。 交换什么&#xff1a;交换网络可达性信息 多久交换一次&#xff1a;发生变化时更新有变化的部分 一般来说两个网络都是由一个BGP发言人连接的。 BGP协议交换信息的过程 BGP协议所交换的网络可达性的信息就…

Haproxy 代理后端服务

参考 http://www.haproxy.org HAProxy GitHub 目录 一、Haproxy环境准备 1、Haproxy简介 1.1、haproxy原理 1.2、Haproxy优点 2、在线apt安装 二、使用Haproxy 1、基本脚本结构示例 2、配置反向代理 3、验证haproxy 3.1、重启服务 3.2、访问后台管理 3.3、访问…

Linux下用gdb定位Qt程序崩溃位置(systemd-coredump)

目录1. systemd-coredump2. 用gdb定位崩溃位置Linux提供了systemd-coredump服务&#xff0c;可以配合gdb来定位到程序崩溃位置&#xff0c;下面介绍它们的用法。1. systemd-coredump systemd-coredump的简单介绍&#xff1a; systemd-coredump能从操作系统内核中获取内存转储&…

IDEA2022.1创建Maven web项目 + SpringMVC入门学习

SpingMVC 入门案例 文章目录SpingMVC 入门案例项目的结构1.导入SpringMVC和Servlet依赖2.创建SpringMVC控制器类&#xff08;等同Servlet&#xff09;3.初始化SpingMVC环境&#xff08;同Spring环境&#xff09;&#xff0c;设定SpringMVC加载对应的bean4.创建web容器启动类&am…

MWORKS.Sysplorer基于数据字典管理模型参数应用案例

1 引言 在面向微控制器的建模过程中&#xff0c;控制算法是可以复用到不同型号的同类产品中的。为了提高控制算法的可移植性&#xff0c;需要将模型与数据分开管理。如果不将模型与数据分开管理&#xff0c;直接将数据保存到模型中&#xff0c;即使在非批产的工程化应用或者小…

11.前端笔记-Bootstrap前端框架

1.Bootstrap简介 框架&#xff1a; 就是一台架构&#xff0c;有较为完整的网页功能解决方案&#xff0c;而且控制权在框架本身&#xff0c;有预制样式库、组件和插件。使用者要按照框架规定的规范进行开发 参考&#xff1a; 中文官网&#xff1a;http://www.bootcss.com 官…

Spring中实用的11个扩展点

我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程)。 没错,它们是spring的基石,得益于它们的优秀设计,使得spring能够从众多优秀框架中脱颖而出。 除此之外,我们在使用spring的过程中,有没有发现它的扩展能力非常强。由于这个优势的存在,让…

【Vue2+Element ui通用后台】面包屑和tag功能

文章目录面包屑tag面包屑 Element ui 面包屑&#xff1a;显示当前页面的路径&#xff0c;快速返回之前的任意页面&#xff0c;完成效果如下&#xff1a; 我们之前把头部的代码封装到了 CommonHeader.vue 中&#xff0c;面包屑部分直接写死了一个首页&#xff0c;我们可以把官…

C++:STL:常用算法(下):拷贝,算术,集合算法

一&#xff1a;常用拷贝和替换算法 学习目标&#xff1a;掌握常用的拷贝和替换算法 算法简介&#xff1a; copy // 容器内指定范围的元素拷贝到另一容器中 replace // 将容器内指定范围的旧元素修改为新元素 replace_if // 容器内指定范围满足条件的元素替换为新元素…

2023-01-04 Echarts学习笔记(三) Echarts的实际应用场景:在网页中插入Echarts的折线图,饼图和柱状图

文章目录零.准备和说明1.最终页面效果2.资源地址一.网页布局1.网页结构分析2.其他准备3.完整代码index.htmlcss/index.scss4.效果5.知识点(待补充)contentzoomz-index&::afterkeyframe二.插入Echarts图表零.准备和说明 1.最终页面效果 主要分为两个部分,一是先进行常规页面…

BeautifulSoup深入学习

BeautifulSoup深入学习 简介 BeautifulSoup是python的一个库&#xff0c;其提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供需要抓取的数据&#xff0c;因为简单&#xff0c;所以不需要多少代码就可…