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

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、总体结构

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第1张图片

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

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

2、Graph Encoder部分

对一个用户u来说,评分过的商品得到了不同的分数,将相同评分的商品统一的利用Wi矩阵进行转化取平均,将不同分数得到的向量结果进行累加、激活,和矩阵W进行相乘,就得到了hui的表示,如下图所示(对于商品v也一样)
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第2张图片

3、Graph Decoder部分

对于useri和Itemj对不同的评分定义为Mij,对应的不同概率通过softmax计算出来,Qr和QS都是可训练的参数矩阵,便于结合u和v的维度
最后将基于不同评分下的预测矩阵进行有权值的累加,就得到了最后的预测值
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第3张图片

4、损失函数

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

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第4张图片

5、实验结果

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第5张图片

6、不足

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

二、STAR-GCN

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

1、总体架构(比较)

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第6张图片
比GCMC相对而言,stacking了很多对编码器和解码器,并且权重矩阵是共享的
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第7张图片

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

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第8张图片
GC-MC是transductive
STAR-GCN 是 Inductive

如何实现直推?——mask

训练过程中一定几率下把部分的输入节点的embedding变成全0,这样模型就有了可以对低信息节点预测的能力,当新进来节点的时候,只需要少量的连接关系产生,就可以产生还不错的预测结果
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第9张图片
下图可以直观的看出两个模型解码器的区别,GCMC如前文所说,主要是对已知评分链路的预测,而STAR-GCN主要是对X矩阵的还原(图中绿色的公式)

GNN在推荐系统的应用——>GC-MC与STAR-GCN_第10张图片

3、LOSS部分

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

Lt是在编码后根据预测值产生的误差。公式在下图中可以看到,其实就是通过编码之后产生的User与Item的embedding进行内积运算(我们认为这就是我们需要的预测值,很常见的想法),然后与真实的评分作差值
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第11张图片

Lr是在解码后与原本X相比产生的误差
公式如下图所示
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第12张图片

4、leakage Issue的避免

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

如何解决:把需要预测的边直接拿掉
下图中U1和V1之间有边,但是训练时候不能放进去
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第13张图片

5、实验结果

从实验结果来看可以发现,Lr和Leakage Issue的避免都是有显著作用的
recurrent指标代表的是每对编解码器是否通用参数,但是不同数据下是否相同差别不是很明显,所以为了降低时间复杂度,可以共享参数
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第14张图片

可用的训练数据的信息越大,对模型的提升效果不明显,代表了该算法较好地解决了cold start的问题。
GNN在推荐系统的应用——>GC-MC与STAR-GCN_第15张图片

你可能感兴趣的:(推荐算法笔记,人工智能)