代码:https://github.com/zanshuxun/User-Difference-Attention

1. What does literature study?

  1. 提出了一个user-difference用户差异注意模型(UDA),利用关系注意力显式模拟群体成员之间的comparisons(用户之间的明确关系),

2. What’s the innovation?

  1. Past shortcomings
    a. 大多数的方法只考虑了单个用户和目标项目来计算它们的权值,这不足以确定用户在群组中的重要性。
    b.一个用户面对不同的items或在不同的组会有不同的影响influences,因此预定义聚合策略不能很好work。
    c.AGREE忽略了不同用户之间的比较,因为,仅当用户与其他用户相比更重要它的权值才会更高。因此,不同用户之间的比较能够提供更多了解他们内部结构的信息
  2. innovation:
    a.提出对比信息的重要性,comparison是组成员之间的明确关系,有助于确定哪个用户更熟悉目标项,从而得出成员之间的准确权值。
    b.提出了一个user-difference用户差异注意模型(UDA),利用关系注意力显式模拟群体成员之间的关系,使用用户关系核(URK)得出用户之间的comparison向量。
    c.提出了四个用户关系内核(URKs)模拟组决策过程中的几种类型的关系。

3. What was the methodology?

利用关系注意力显式模拟群体成员之间明确关系,将每个用户与其他用户进行比较,利用MLP添加非线性变换。提出用几个用户关系核(URK)模拟小组决策过程中不同类型的关系。
研究的目的是:利用关系注意力来整合比较信息的群组推荐模型。

  1. 构建多个关系核来显式比较组成员
  2. 利用多层感知机得出其权值的分布
  3. 将最佳核集成到UDA模型中研究其有效性
    User-difference attention:
    通过实现不同用户之间的差异算子来获取比较的信息。(与基于单用户的模型不同:AGREE)

    提出了四种关系核,UDK计算在给定item下一个用户与其他用户的差异以提高与项目相关的用户的影响。UUK在不同用户之间应用一个联合操作找到他们偏好的联合集。UIK使用元素乘法获得相互偏好。USK增强自己的信息而不是与他人互动。
    给定一个group g和一个目标item i,组内两个用户um,unu_m,u_num​,un​之间的比较向量为Cmni=f(um,un,i)\mathbf{C}_{mn}^i=f(\mathbf{u}_m,\mathbf{u}_n,\mathbf{i})Cmni​=f(um​,un​,i),fff表示上述四种操作,最有效的是UDK:给定目标项目,更熟悉此项目的用户有更高的权值。获取比较信息的重要性在于它可以减少学习和捕获群体与目标项目之间关系的难度。
    因此得到:Cmni=(um−un)⊙i\mathbf{C}_{mn}^i=(\mathbf{u}_m-\mathbf{u}_n)\odot\mathbf{i}Cmni​=(um​−un​)⊙i,然后计算比较向量umu_mum​,它等于其在组内与其他成员之间的比较总和:Cmi=∑n=1,n≠m∣Ug∣(um−un)⊙i\mathbf{C}_{m}^i=\displaystyle\sum_{n=1,n\not =m}^{|\mathbf{U}_g|}(\mathbf{u}_m-\mathbf{u}_n)\odot\mathbf{i}Cmi​=n=1,n​=m∑∣Ug​∣​(um​−un​)⊙i。(不懂)
    模型流程:

    UDA输入为组成员u1,u2,...unu_1,u_2,...u_nu1​,u2​,...un​和候选项目iii的嵌入向量。首先计算不同用户嵌入向量(um,un)(\mathbf{u}_m,\mathbf{u}_n)(um​,un​)之间的差异,获得Cmni\mathbf{C}_{mn}^iCmni​;其次在给定目标项目之下显式地将每个用户与所有其他用户进行比较;然后对结果进行总结得到用户的比较向量;进一步,使用MLP应用非线性变换细化比较向量并得到权重分布,最后使用三层MLP加入非线性因素得到群成员的最终权值。
    组偏好聚合:
    组嵌入组成:聚合用户偏好和一般组偏好,gfused=wgi[u1,u2,...,u∣Ug∣]+g\mathbf{g}_{fused}=\mathbf{w}_g^i[\mathbf{u}_1,\mathbf{u}_2,...,\mathbf{u}_{{\mathbf{|U_g|}}}]+\mathbf{g}gfused​=wgi​[u1​,u2​,...,u∣Ug​∣​]+g,wgi\mathbf{w}_g^iwgi​表示所有组成员在目标项目iii上的权值。
    最终预测分数:

    利用另外三层MLP,输入层包含gfused⊙i\mathbf{g}_{fused}\odot\mathbf{i}gfused​⊙i来捕获二阶特征交互,输出应用sigmoid函数将预测分数缩小到隐式反馈数据集中的(0, 1)。
    损失函数:
    采用基于回归的成对损失(广泛应用于隐式反馈中的top-K推荐)来最大化正负样本之间的差距,

    Train表示训练集,项目iii和jjj表示组ggg的正负样本。

4. What are the conclusions?

  1. 实验
    ML-100K没有组信息,根据用户与用户相似度生成一些合成组,然后提取group-item交互数据来评价组推荐。采样一定数量负样本,将模型训练为二元分类器。
    评价指标:对每个组,我们使用排名分数Sgi\mathbf{S}_{gi}Sgi​对候选项目排序获得top-K推荐列表,利用user-item交互数据和group-item交互数据交替训练模型,使用户推荐任务和组推荐任务相互优化。评价指标采用HR(命中率)和NDCG(归一化折损累积增益):HR@K=∣RK∩T∣∣T∣HR@K = \frac{|R_K \cap T|}{|T|}HR@K=∣T∣∣RK​∩T∣​,RKR_KRK​表示top K推荐列表,TTT表示测试集项目集合;DCG@K=∑i=1Krelilog2(i+1)DCG@K =\displaystyle\sum_{i=1}^{K} \frac{rel_i}{log_2(i+1)}DCG@K=i=1∑K​log2​(i+1)reli​​,NDCG@K=DCG@KIDCG@KNDCG@K = \frac{DCG@K}{IDCG@K}NDCG@K=IDCG@KDCG@K​,其中relirel_ireli​是二进制表示推荐列表iii位置的项目是否出现在测试集中,IDCG@KIDCG@KIDCG@K是长度为K的所有可能的推荐列表中最大的DCG@KDCG@KDCG@K值(不懂)。这两个指标值越大,推荐性能越好。记录每个组的指标,并将平均值作为最终评价指标。
  2. 结论
    关系核user-difference kernel(UDK)可以学习到更有效的用户权重分布,提高组推荐性能。

5. others

  1. 组推荐

    1. 基于内存的方法:(1)偏好聚合。首先更具各种策略聚合组成员的特征,将组group视为虚拟用户,从而使用一系列个性化的推荐算法;(2)分数聚合。首先预测每个群体成员在候选items上的得分,然后根据预定义的策略聚合分数。
    2. 基于模型的方法:通过学习群体决策的生成过程来提出群体推荐。
  2. 正如 TransE 中提出的,两个对象之间的语义关系可以理解为两个对象之间差异的转换。
  3. 通过比较给定项目下用户与其他用户之间的差异可以增强项目相关用户的影响力(用户权值)。确定哪个用户对目标项目更熟悉,从而在小组中更有影响力。

UDA: A user-difference attention for group recommendation相关推荐

  1. 读论文《DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation》

    0.Summary: Title: DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation Co ...

  2. 【论文笔记】《Social Influence-Based Group Representation Learning for Group Recommendation》

    ICDE 19 A会 这篇论文一作是阴老师,获得了ICDE19最佳论文奖. Abstract 作为群居动物,参加群组活动是人日常生活中必不可少的一部分,为群组用户推荐满意的活动是推荐系统一项重要的任务 ...

  3. 复现KGAT: Knowledge Graph Attention Network for Recommendation(四)

    复现KGAT: Knowledge Graph Attention Network for Recommendation(四) 啊代码,是代码,我要写KGAT的代码了. 今天听了我们专业大佬讲竞赛的事 ...

  4. Social-Enhanced Attentive Group Recommendation

    1. What does literature study? 利用注意力网络和神经协同过滤设计了基于神经网络的解决方案.**首先,**我们采用一种注意网络,通过聚合group成员的嵌入来形成group ...

  5. 【KGAT】Knowledge Graph Attention Network for Recommendation

    note KGAT结合KG和GAT,在知识图谱三元组基础上,利用GAT进行消息传递,聚合出物品向量后与用户向量进行计算得到预测值.其实不结合KG,何向南团队之前也直接使用GNN做了NGCF和Light ...

  6. KGAT 2019(KDD)Knowledge Graph Attention Network for Recommendation

    提出背景 基于CF的方法无法利用用户和物品的辅助信息,像用户简介,物品属性,以及上下文环境,在用户和无匹交互较少的情况下表现较差. FM,NFM,Wide&Deep等模型将用户和物品表示为向量 ...

  7. MGAT: Multimodal Graph Attention Network for Recommendation

    模型总览如下: 图1:多模态图注意力网络 背景:本论文是对MMGCN(Wei et al., 2019)的改进.MMGCN简单地在并行交互图上使用GNN,平等地对待从所有邻居传播的信息,无法自适应地捕 ...

  8. 2020-CIKM-DisenHAN: Disentangled Heterogeneous Graph Attention Network for Recommendation

  9. 2019_KDD_Social Recommendation with Optimal Limited Attention

    [论文阅读笔记]2019_KDD_Social Recommendation with Optimal Limited Attention 论文下载地址: https://doi.org/10.114 ...

  10. 2019_IJCAI_Deep Adversarial Social Recommendation

    [论文阅读笔记]2019_IJCAI_Deep Adversarial Social Recommendation 论文下载地址: https://www.ijcai.org/Proceedings/ ...

最新文章

  1. php mysql emoji表情_php 让MySQL支持Emoji表情 mysql 5.5.3+
  2. golang多核的使用
  3. linux 使用trick记录之20203010
  4. 【机器学习基础】数学推导+纯Python实现机器学习算法2:逻辑回归
  5. iOS使用UIBezierPath实现ProgressView
  6. 8.账户管理(非数据库管理人员理解篇
  7. 在Java中Vector和ArrayList的区别
  8. 赚钱的基本逻辑就是价值交换
  9. 如何在 Raspberry Pi 上快速安装 Oracle Linux ?
  10. IBM大中华区总架构师:话说程序员的职业生涯
  11. node cluster 数据共享_深入理解Node.js 中的进程与线程
  12. 程序员深度学习!mysql客户端工具免费绿色版
  13. iconfont阿里巴巴矢量图标引入方法
  14. 快速了解 Log4j的日志级别
  15. [转]汽车ARM攒机指南
  16. JavaWeb项目——疫情数据可视化
  17. 基于卫星测深的牙买加沿岸水深测量
  18. Lambda表达式比较foreach使用
  19. hive和presto下标准时间格式和时间戳的转化
  20. 弹性布局flex(兼容不同浏览器)

热门文章

  1. Mac vmvare vmdk文件使用
  2. 女神节快乐!细数历史上那些有名的程序媛
  3. 如何使用Xcode的Targets来管理开发和生产版本的构建( 还不懂,复制过来后面再看)
  4. Foxmail设置方法
  5. 微信小程序 会议室课堂考勤签到助手 源码
  6. 边缘计算在物联网领域的发展前景
  7. RabbitMQ使用案例
  8. python更改pip源地址
  9. 0ctf_2017_babyheap详解
  10. VTM代码学习(1)CU划分