2、Attentive Group Recommendation----注意力集中的群组推荐
1、摘要:
采用attention和NCF结合解决群组偏好融合的问题。
贡献:
- 第一个使用神经网络学习融合策略的组推荐。
- 进一步整合用户-项目交互改进组推荐,减轻冷启动问题。
2、方法:
模型AGREE模型包括:1)组特征学习:成员融合+群组偏好;2)与NCF的交互学习
2.1 符号:
n个用户:U = { u1,……,un }
s个群组:G = { g1,……,gs }
m个项目:V = { v1,……,vm }
群组和项目的交互:Y
用户和项目交互:R
输入:U、G、V、Y、R
输出:两个个性化排序函数
2.2 注意力群组表征学习:
(1)动机:传统的群组偏好融合策略(AVG、最小痛苦、最大满意度等)是数据独立的,缺乏动态调整组成员权重的灵活性。
采用注意力来学习融合策略,它的基本思想是将一组表示压缩层一个加权和的表示。权重学习来自于神经网络。
具体地说:平均数等于给所有成员赋予一个统一的权重,最小痛苦和最大满意对应于只给部分成员分配权重。注意力的权重是给所有成员都分配权重。
(2)方法:
本文的目标是获得每个组的嵌入向量,以估计其对一个项目的偏好。
组的嵌入向量 = 用户特征融合 + 组偏好特征

用户特征融合:
对群组成员用户特征嵌入进行加权求和,其中系数α(j,t )表示成员用户ut 在决定群组对项 vj 的选择时的影响权重参数。

其中,Pv 和 Pu 是attention网络的权重矩阵,用来将项目特征嵌入和用户特征嵌入转化成隐藏层。b为隐藏层的偏差。
使用relu函数作为隐藏层的激活函数。
下图为用户嵌入特征融合策略。利用attention,允许每个成员用户在组决策中作出贡献,其中用户贡献取决于其历史偏好和目标性的属性,这些属性是从组--项交互和用户--项交互的历史数据中学到的。

组偏好嵌入:
目的是考虑一个群体的一般偏好,在某些情况下,当用户组成一个组时,他们可能追求一个与每个用户偏好不同的目标。
eg:一个三口之家,孩子喜欢卡通片,父母喜欢浪漫片,但他们去看电影时,最后选择的电影可能是一部教育片。
将组偏好嵌入和用户嵌入融合进行组合,采用了一个简单的加法操作。
2.3 基于NCF的交互学习
选择NCF的原因:
NCF是用于项目推荐的多层神经网络框架。其思想是将用户嵌入和项目嵌入 输入专用的神经网络,以从数据中学习交互功能。由于神经网络具有较强的数据拟合能力,因此NCF框架比传统的MF模型具有更强的泛化能力,而传统的MF模型仅仅才要看过数据无关的内积函数作为交互函数。因此,选择NCF框架对嵌入(表示用户、项目和组)和交互功能(预测用户--项目 和 组-- 项目交互)执行端对端学习。
NCF过程:
目标:同时为组和用户进行推荐,故设计了将用户--项目和组--项目交互功能一起学习。
给定用户项对(ui,vj)或组项对(l,vj),表示层首先返回每个给定实体的嵌入向量(详细信息参见2.2节)。然后进入池化层和隐藏层,最后获得预测分数。
池化层:假设输入是组--项目对(l,vj),池化层首先在他们的嵌入(即gl(j)和vj) )进行点积【每个元素互乘】,然后将它们和原始嵌入连接成矩阵:

理由有两个:1)点积包含MF,使用乘法来体现每个嵌入维度的交互作用,而且点积在神经网络低层特征交互中是高效的。2)点积可能丢失一些信息,所以将原始信息保留。
共享隐藏层:全连接层,这样可以捕获用户、组和项目之间的非线性和高阶相关性。

e为上层隐藏层神经元输出。

其中,w表示预测层的权重;rij和ylj分别表示对用户项对(ui,vj)和组项对(l,vj)的预测。
有目的地设计了两个任务共享同一隐含层的预测。这是因为组嵌入是从用户嵌入聚合而来的,这使得它们本质上处于相同的语义空间中。此外,利用用户项目交互数据可以增强组项目交互功能的训练,反之亦然,这有利于两个任务相互加强。

2.4 模型优化:
(1)目标函数:成对排序:


其中,O表示训练集,其中每个实例是三元组(i,j,s),这意味着用户ui已经与项目vj交互,但是没有与项目vs交互(即,vs是从未观察到的ui交互中采样的负实例);ri j s=ri j_ri s表示margi观察到的交互(UI,VJ)和未观察到的交互(UI,VS)的预测的N。
由于我们主要关注隐式反馈,其中每个观察到的交互作用都有一个值1,而未观察到的交互作用有一个值0,因此我们有rijs=rij_ris=1。
我们知道推荐中另一种流行的成对学习方法是贝叶斯个性化排序(BPR)[8,29]。值得指出的是,与BPR相比,上述基于回归的成对损失的优点在于,它消除了对隐藏层(即{Wh}和w)中的权重调整L2正则化的需要.
(2)学习细节:
- 小批量训练
- 预训练
- dropout
3、实验:
(1)数据集:
①马蜂窝。马峰窝是一个旅游网站,用户可以记录自己的旅游地点,创建或加入团体旅游。我们保留了至少有2名成员的团体,他们至少已经走过了3个场馆,并收集了他们的旅游场地。还收集了各组成员的旅游场所。基于上述标准,我们得到了5, 275个用户、995个组、1, 513个项目、39, 761个用户项目交互和3, 595个组项交互。平均而言,每组有7.19个用户。
② CAMRA2011是一个真实世界的数据集,包含个人用户和家庭的电影评级记录。由于大多数用户在数据集中没有组信息,所以我们过滤它们并保留已经加入组的用户。用户项目交互和组项交互是以0到100的评分量表进行的明确反馈。我们将评级记录转换为目标值为1的正实例,并将其他缺失数据作为负实例,目标值为0。最终数据集包含602个用户、290个组、7,710个项、116,344个用户项交互和145,068个组项交互。平均群体大小为2.08。
由于两个数据集都只包含正实例(即,观察到的交互),所以我们从缺失的数据中随机抽样作为负实例,以便与每个正实例配对。先前的努力表明,将负采样率从1增加到更大的值对top-K建议[16]是有益的。对于两个数据集的一致性,最优采样率在4到6之间,因此我们将负采样率固定为4。具体来说,对于马风窝的每个日志,我们随机抽样4个用户(组)从未访问过的场地;对于CAMRa2011的每个日志,我们随机抽样4个用户(组)从未观看过的电影。每个负实例被分配给目标值0。
(2)评价标准:
方法:LOO(leave-one-out):留一法:留一法交叉验证是一种用来训练和测试分类器的方法。用来评价top-k推荐性能。
标准:Hit Ratio (HR) and Normalized Discounted Cumulative Gain (NDCG)。
(3)基线模型:
- NCF
- Popularity
- COM
- GREE
4、总结:
在该框架下,评估一个群体对某个项目的偏好有两个关键因素:1)如何获取一个群体的语义表示,2)如何建模一个群体与一个项目的交互。
2、Attentive Group Recommendation----注意力集中的群组推荐的更多相关文章
- 1、Attention_based Group recommendation——基于注意力机制的群组推荐
1.摘要: 本文将Attention-based模型和BPR模型结合对给定的群组进行推荐项目列表. 2.算法思想: 如图: attention-based model:[以下仅计算一个群组的偏好,多个 ...
- Linux - 有效群组(effective group)与初始群组(initial group),groups,newgrp
每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权 ...
- 7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制
来源EDB2018---EDB 一.摘要: 组推荐是将一种项目(例如产品.服务)推荐给由多个成员组成的组的方法. 最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群 ...
- 4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
1.摘要: 组推荐的一个挑战性问题:因为不同组的成员就有不同的偏好,如何平衡这些组员的偏好是一个难以解决的问题. 在本文中,作者提出了一个COM的概率模型来建立组活动生成过程. 直觉上: 一个组中的用 ...
- linux命令之 用户和群组
一.保存用户信息的文件 1 /etc/passwd root:x:::root:/root:/bin/bash pwftp:x::::/alidata/www/wwwroot/:/sbin/nolog ...
- #Linux学习笔记# Linux文件的所有者、群组和其他人
1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...
- Linux 的账号与群组[转自vbird]
Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务 ...
- Linux学习之CentOS(十)----Linux 的账号与群组
Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务 ...
- Linux学习-Linux的账号与群组
使用者识别码: UID 与 GID Linux 主机并不会直接认识 你的"帐号名称"的,他仅认识 ID 啊 (ID 就是一组号码啦). 由于计算机仅认识 0 与 1,所 以主机对于 ...
随机推荐
- AppScan用来进行漏洞扫描
https://www.cnblogs.com/mawenqiangios/p/8573525.html
- MySQL py模块的链接Navicat可视化工具
数据库可视化工具Navicat 1 基本操作: 1 库 表 字段 记录(增删改查) 2 添加主建,添加自增. 3 添加外键,外键的链接 4 模型建表,模型添加外键.(逆向数据库到模型,运行SQL文件 ...
- Vue学习之路第十五篇:v-if和v-show指令
1.v-if和v-show都是用来实现条件判断的指令. 2.先看代码 <body> <div id="app"> <button @click=&qu ...
- 训练1-H
小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, ...
- [模板]Link-Cut-Tree
LCT模板. Orz了一下大佬的板子 Orz UPD(10.19):好像理解LCT了... LCT相当与把一个树剖分,分成实边和虚边,对于每一个实链用一个splay维护一下它的深度,然后当你想进行操作 ...
- Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧. 这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工 ...
- MPlayer 开始支持RTSP/RTP流媒体文件
hostzhu点评:MPlayer对流媒体的支持,让大家能更进一步地利用linux来看网络直播,对Linux下多媒体应用的推动作用可以说不可度量. RTSP/RTP streaming support ...
- nginx 301 重定向设置不含www到www域名
如果需要将不含www主机的域名301重定向到含www的域名,如将 shwww.net 重定向至 www.shwww.net,nginx 配置指令如下: server { server_name shw ...
- 关于错误CSC : error CS0006:未能找到元数据文件
在不同的解决方案中把一个项目搬来搬去,终于出现了传说的CSC : error CS0006.编译的时候总是提示一个引用中不存在的项找不到.无论怎样删除项目,删除引用都没法通过生成. 最终解决方案: 用 ...
- Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50961542 花了一天时间,在电脑上安 ...