GNN ——> 推荐系统(两个算法)

文章目录

  • GNN ——> 推荐系统(两个算法)
  • 前言
  • 一、GC-MC
    • 1、总体结构
    • 2、Graph Encoder部分
    • 3、Graph Decoder部分
    • 4、损失函数
    • 5、实验结果
    • 6、不足
  • 二、STAR-GCN
    • 1、总体架构(比较)
    • 2、Transductive 和 Inductive(归纳和直推)
      • 如何实现直推?——mask
    • 3、LOSS部分
    • 4、leakage Issue的避免
    • 5、实验结果

前言

部分资源来自于Youtube

一、GC-MC

1、总体结构

首先进行one-hot编码,得到X矩阵,结合M(用户-商品交互矩阵)进行编码工作,得到U和V矩阵

然后对U和V进行解码工作,得到一个新的交互矩阵,其中原本的空白值也得到了填充

2、Graph Encoder部分

对一个用户u来说,评分过的商品得到了不同的分数,将相同评分的商品统一的利用Wi矩阵进行转化取平均,将不同分数得到的向量结果进行累加、激活,和矩阵W进行相乘,就得到了hui的表示,如下图所示(对于商品v也一样)

3、Graph Decoder部分

对于useri和Itemj对不同的评分定义为Mij,对应的不同概率通过softmax计算出来,Qr和QS都是可训练的参数矩阵,便于结合u和v的维度
最后将基于不同评分下的预测矩阵进行有权值的累加,就得到了最后的预测值

4、损失函数

损失函数的定义如下:
通过已知的评分对预测结果进行误差计算,即评分对应的Mij概率p对应的logp作为损失进行梯度下降,注意这里的概率p是0~1区间的,logp<0

5、实验结果

6、不足

输入维度过高,和用户、商品数息息相关
对于新的用户和商品有冷启动问题

二、STAR-GCN

根据以上的不足,STAR-GCN做了很多改进

1、总体架构(比较)


比GCMC相对而言,stacking了很多对编码器和解码器,并且权重矩阵是共享的

2、Transductive 和 Inductive(归纳和直推)


GC-MC是transductive
STAR-GCN 是 Inductive

如何实现直推?——mask

训练过程中一定几率下把部分的输入节点的embedding变成全0,这样模型就有了可以对低信息节点预测的能力,当新进来节点的时候,只需要少量的连接关系产生,就可以产生还不错的预测结果

下图可以直观的看出两个模型解码器的区别,GCMC如前文所说,主要是对已知评分链路的预测,而STAR-GCN主要是对X矩阵的还原(图中绿色的公式)

3、LOSS部分

L是所有编码解码器对中产生的Lt和Lr累加产生的公式

Lt是在编码后根据预测值产生的误差。公式在下图中可以看到,其实就是通过编码之后产生的User与Item的embedding进行内积运算(我们认为这就是我们需要的预测值,很常见的想法),然后与真实的评分作差值

Lr是在解码后与原本X相比产生的误差
公式如下图所示

4、leakage Issue的避免

预测的时候可能会遇到这样的问题:预测值已经在训练中就已经被纳入计算了
这个事GCN常见的问题,因为GCN训练的时候会将所有的边通过邻接矩阵纳入进来,答案就被涵盖进来,就会出现过拟合问题

如何解决:把需要预测的边直接拿掉
下图中U1和V1之间有边,但是训练时候不能放进去

5、实验结果

从实验结果来看可以发现,Lr和Leakage Issue的避免都是有显著作用的
recurrent指标代表的是每对编解码器是否通用参数,但是不同数据下是否相同差别不是很明显,所以为了降低时间复杂度,可以共享参数

可用的训练数据的信息越大,对模型的提升效果不明显,代表了该算法较好地解决了cold start的问题。

GNN在推荐系统的应用——>GC-MC与STAR-GCN相关推荐

  1. 图神经网络GNN在推荐系统的应用:综述

    参考: 论文1: <Graph Neural Networks in Recommender Systems: A Survey> https://arxiv.org/pdf/2011.0 ...

  2. 【GNN】GCMC:GNN 在推荐系统中的应用

    今天学习的是 KDD18 的一篇论文<Graph Convolutional Matrix Completion>,作者是阿姆斯特大学的同学,Thomas N. Kipf 大佬是二作. 前 ...

  3. 推荐系统与GNN的火花

    作者:十方,公众号:炼丹笔记 推荐系统会存储大量的用户与items交互数据,这些数据可以用二部图呈现.二部图对消除推荐系统中数据稀疏性和冷启动有着巨大的帮助.这篇主要总结了3个典型的GNN方法在推荐系 ...

  4. 《强化学习周刊》第6期:强化学习应用之推荐系统

    No.06 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,它在推荐系统领域中的应用的研究进展与成果也引发了众多关注.为帮助研究与工程人 ...

  5. 一文了解推荐系统中的图神经网络

    来源:RUC AI Box本文约4600字,建议阅读9分钟 本文主要介绍推荐系统中的图神经网络,欢迎交流探讨! [ 引言 ]近年来,GNN技术由于其在图数据学习方面的出色表现,在许多领域得到了广泛的应 ...

  6. 浅谈推荐系统中的图神经网络

    前言 近年来,GNN技术由于其在图数据学习方面的出色表现,在许多领域得到了广泛的应用.在推荐系统中,大部分信息本质上具有图结构,而由于GNN对于表示学习具有一定的优势,所以GNN在推荐系统相关领域的应 ...

  7. WSDM‘23 推荐系统论文梳理

    之前把2022年已公布的推荐系统相关顶会梳理一遍 ,历史推荐系统顶会论文梳理系列文章可以参考公众号或知乎,快捷合辑详见<2022推荐系统顶会论文梳理系列>. WSDM'23已公布录用结果, ...

  8. 15-关于GNN的局限性以及其解决办法

    图机器学习(关于GNN的局限性以及其解决办法) 1.前言 1. 图神经网络局限性一 两个节点有相同邻居或邻域结构,按理其表征应该相同: 但是实际上不一定,因为有些邻域相同但是表征不应该相同,特别是对称 ...

  9. KDD‘22推荐系统论文梳理(24篇研究36篇应用论文)

    2022推荐系统论文梳理系列 推荐系统相关顶会整理 AAAI'22推荐系统论文梳理 IJCAI'22 推荐系统论文梳理 ICML/ICLR'22 推荐系统论文梳理 WWW'22 推荐系统论文之序列推荐 ...

最新文章

  1. 研华物联网论坛和ARM技术研讨会随笔
  2. Java新手问题集锦
  3. Web项目中文件上传Filter处理
  4. 12_Android中HttpClient的应用,doGet,doPost,doHttpClientGet,doHttpClient请求,另外借助第三方框架实现网络连接的应用,
  5. Docker日志大小限制
  6. java 系统类型_Java获取操作系统类型
  7. Cow Picnic(POJ-3256)
  8. POJ 1845 Sumdiv 【逆元】
  9. supervisor-3:xml_rpc
  10. pb预览状态下的pagecount_QuickLook高效文件预览神器,方便到令你意想不到
  11. 2014年读过的那些书
  12. thinkphp 3.+ Apache url重写问题(.htaccess)
  13. 装载list的时候 一定要把每一个实体放到for里面
  14. 云计算技术简述及发展分析
  15. 计算机教学提问的观课量表,观课议课|如何使用观察和记录量表
  16. 如何在safri查看网页源代码
  17. Python-百度经纬度转高德经纬度
  18. 关于谷歌的一个简单工具以及chrome浏览器更新方法
  19. 【高等数学基础进阶】导数与微分
  20. 教师计算机课教学反思范文,信息技术课优秀教学反思

热门文章

  1. pandas 筛选行 整行复制粘贴
  2. 街机游戏-FC游戏的hack修改rom
  3. elasticsearch进阶(3)—— ilm policy
  4. postgresql中sql查询语句报错处理——ERROR: failed to find conversion function from unknown to text
  5. 电脑笑脸蓝屏问题 也许你可以尝试一下这个
  6. Conflux 的自我进化:从 DAG 到树图| 对话伍鸣
  7. 从头开始设计我的网游
  8. 黑鲨3能用鸿蒙系统吗,黑鲨游戏手机3支持语音操控:没有三头六臂照样吃鸡
  9. 实验部分小结:数据集处理部分
  10. Sticky 黏性定位 兼容性css3