群组推荐模型---AGREE(Attentive Group Recommendation)

2023-12-17 08:52

本文主要是介绍群组推荐模型---AGREE(Attentive Group Recommendation),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

群组推荐模型---AGREE

  • AGREE简单概述
  • 基于注意力的群组表征学习(Attentive Group Representation Learning)
  • NCF(Neural Collaborative Filtering)

AGREE简单概述

群组推荐领域比较经典的论文便是AGREE(Attentive Group Recommendation),此文的主要贡献如下:(1)利用神经注意力网络从数据中动态学习聚合策略的群体推荐系统。进一步整合了用户-项目交互,提高了群组推荐的性能.(2)有效缓解项目推荐的用户冷启动问题。(3)在一个自建数据集和一个公共数据集上进行了大量的实验,以证明方法有效性。
群组推荐可以大致分为四个模块:偏好获取群组划分偏好融合预测推荐。首先,在推荐算法中一般将偏好定义为用户对两个及以上项目的排序关系。其次对于群组划分,本文中使用的为开源真实数据集(Mafengwo和CAMRa2011),数据集中群组已经划分完毕,因此不再需要利用其他手段进行群组划分。如若需要构建其他数据集中的虚拟群组,可以利用聚类算法完成群组划分。在偏好融合层面,利用注意力机制学习群组成员权重替代预定义策略,最后一步使用NCF进行交互学习,为用户和组推荐项目。

基于注意力的群组表征学习(Attentive Group Representation Learning)

大多数的群组推荐系统都是通过一些预定义的策略对群组成员的评分进行聚合。例如最大最小值策略等。这类策略需要预定义参数,无法获知群组成员内部相互影响,缺乏动态调整群组成员权重的灵活性。使用注意力机制来学习聚合策略。它的基本思想是,当将一组表示压缩成一个表示时,对它们执行加权和,其中的权值由神经网络学习。偏好融合公式如下:
g l ( j ) = ∑ u t ∈ g l a ( j , t ) u t + q l g_l(j)=\displaystyle\sum_{u_t \in g_l}a(j,t)u_t+q_l gl(j)=utgla(j,t)ut+ql
g l g_l gl为群组 l l l中用户, a ( j , t ) a(j,t) a(j,t)为注意力权重,本文最为主要的部分便是注意力权重的训练,公式如下:
o ( j , t ) = h T R e L U ( P v v t + P u u t + b ) o(j,t)=h^TReLU(P_vv_t+P_uu_t+b) o(j,t)=hTReLU(Pvvt+Puut+b)
a ( j , t ) = s o f t m a x ( o ( j , t ) ) = e x p ( o ( j , t ) ) ∑ t ∈ g l e x p ( o ( j , t ) ) a(j,t)=softmax(o(j,t))=\frac{exp(o(j,t))}{\textstyle\sum_{t\in g_l}exp(o(j,t))} a(j,t)=softmax(o(j,t))=tglexp(o(j,t))exp(o(j,t))
P v P_v Pv P u P_u Pu表示物品v和用户u的权重矩阵,通过激活函数和归一化的处理,训练出最终的用户权重。
而在群组偏好融合的公式中,还有一个 q l q_l ql变量,表示群组偏好向量,目的是考虑群组的整体偏好。

NCF(Neural Collaborative Filtering)

NCF是一种用于项目推荐的多层神经网络框架。它的想法是将用户嵌入和物品嵌入到一个专用的神经网络中,从而从数据中学习交互功能。由于神经网络具有较强的数据拟合能力,因此NCF框架比传统的MF模型具有更强的通用性,后者简单地使用与数据无关的内积函数作为交互函数。因此,选择NCF框架来对嵌入(表示用户、项目和组)和交互功能(预测用户-项目和组-项目交互)执行端到端学习。
pooling layer
对输入的向量 g l ( j ) g_l(j) gl(j) v ( j ) v(j) v(j)进行逐元素乘积,然后与 g l ( j ) , v ( j ) g_l(j),v(j) gl(j),v(j)进行连接。
e 0 = φ p o o l i n g ( g l ( j ) , v ( j ) ) = [ g l ( j ) ⨀ v ( j ) g l ( j ) v ( j ) ] e_0=\varphi_{pooling}(g_l(j),v(j))= \begin{bmatrix} g_l(j)\bigodot v(j)\\ g_l(j)\\ v(j) \end{bmatrix} e0=φpooling(gl(j),v(j))= gl(j)v(j)gl(j)v(j)
内积能够有效的捕获到群组和物品之间的交互,同时连接群组和物品本身的信息能够避免信息丢失。
hidden layer
池化层之上是一堆完全连接的层,这些层使模型能够捕获用户、组和项目之间的非线性和高阶相关性。
{ e 1 = R e L U ( W 1 e 0 + b 1 ) e 1 = R e L U ( W 1 e 0 + b 1 ) . . . . e h = R e L U ( W h e h − 1 + b h ) \begin{cases} e_1=ReLU(W_1e_0+b_1)\\ e_1=ReLU(W_1e_0+b_1)\\ ....\\ e_h=ReLU(W_he_{h-1}+b_h) \end{cases} e1=ReLU(W1e0+b1)e1=ReLU(W1e0+b1)....eh=ReLU(Wheh1+bh)
最后一层输出 e h e_h eh经过下面的公式转化为预测分:
{ r i j ^ = w T e h , i f e 0 = φ p o o l i n g ( u i , v j ) y i j ^ = w T e h , i f e 0 = φ p o o l i n g ( g l ( j ) , v j ) \begin{cases} \hat{r_{ij}}=w^Te_h,if e_0=\varphi_{pooling}(u_i,v_j)\\ \hat{y_{ij}}=w^Te_h,if e_0=\varphi_{pooling}(g_l(j),v_j) \end{cases} {rij^=wTeh,ife0=φpooling(ui,vj)yij^=wTeh,ife0=φpooling(gl(j),vj)
w w w表示预测层的权重 r i j ^ \hat{r_{ij}} rij^ y i j ^ \hat{y_{ij}} yij^分别表示用户对物品的预测分和群组对物品的预测分。设计了两个任务的预测共享相同的隐藏层。这是因为群嵌入是从用户嵌入聚合而来的,这使得它们本质上处于相同的语义空间中。此外,这可以增强用户-项目交互数据对组-项目交互功能的训练,反之亦然,有利于二者的相互强化。

代码链接:点击

这篇关于群组推荐模型---AGREE(Attentive Group Recommendation)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/503799

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

人工和AI大语言模型成本对比 ai语音模型

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 上一专题搭建了一套GMM-HMM系统,来识别连续0123456789的英文语音。 但若不是仅针对数字,而是所有普通词汇,可能达到十几万个词,解码过程将非常复杂,识别结果组合太多,识别结果不会理想。因此只有声学模型是完全不够的,需要引入语言模型来约束识别结果。让“今天天气很好”的概率高于“今天天汽很好”的概率,得到声学模型概率高,又符合表达

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

OpenCompass:大模型测评工具

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模型问答项目问答性能评估方法大模型数据侧总结大模型token等基本概念及参数和内存的关系大模型应用开发-华为大模型生态规划从零开始的LLaMA-Factor

模型压缩综述

https://www.cnblogs.com/shixiangwan/p/9015010.html

蓝牙ble数传芯片推荐,TD5327A芯片蓝牙5.1—拓达半导体

蓝牙数传芯片TD5327A芯片是一款支持蓝牙BLE的纯数传芯片,蓝牙5.1版本。芯片的亮点在于性能强,除了支持APP端直接对芯片做设置与查询操作,包括直接操作蓝牙芯片自身的IO与PWM口以外,还支持RTC日历功能,可以做各类定时类操作,极大丰富了蓝牙在IOT产品中的应用。此外,在数传应用方面,此芯片支持串口流控功能,提大提高了数据传输的稳定与可靠性。 拓达蓝牙芯片特点: 支持RTC日历功能,超

AI赋能天气:微软研究院发布首个大规模大气基础模型Aurora

编者按:气候变化日益加剧,高温、洪水、干旱,频率和强度不断增加的全球极端天气给整个人类社会都带来了难以估计的影响。这给现有的天气预测模型提出了更高的要求——这些模型要更准确地预测极端天气变化,为政府、企业和公众提供更可靠的信息,以便做出及时的准备和响应。为了应对这一挑战,微软研究院开发了首个大规模大气基础模型 Aurora,其超高的预测准确率、效率及计算速度,实现了目前最先进天气预测系统性能的显著

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

好书推荐《深度学习入门 基于Python的理论与实现》

如果你对Python有一定的了解,想对深度学习的基本概念和工作原理有一个透彻的理解,想利用Python编写出简单的深度学习程序,那么这本书绝对是最佳的入门教程,理由如下:     (1)撰写者是一名日本普通的AI工作者,主要记录了他在深度学习中的笔记,这本书站在学习者的角度考虑,秉承“解剖”深度学习的底层技术,不使用任何现有的深度学习框架、尽可能仅使用基本的数学知识和Python库。从零创建一个