论文阅读和分析:LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。


数据集
1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED
相关论文阅读分析:
1、EEG-SEED数据集作者的—基线论文阅读和分析
2、图神经网络EEG论文阅读和分析:《EEG-Based Emotion Recognition Using Regularized Graph Neural Networks》
3、EEG-GNN论文阅读和分析:《EEG Emotion Recognition Using Dynamical Graph Convolutional Neural Networks》
4、论文阅读和分析:Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
5、论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》
6、论文阅读和分析: “How Attentive are Graph Attention Networks?”
7、论文阅读和分析:Simplifying Graph Convolutional Networks

8、论文阅读和分析:LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
9、图神经网络汇总和总结
相关实验和代码实现:
1、用于图神经网络的脑电数据处理实现_图神经网络 脑电
2、使用GCN训练和测试EEG的公开SEED数据集
3、使用GAT训练和测试EEG公开的SEED数据集
4、使用SGC训练和测试SEED数据集
5、使用Transformer训练和测试EEG的公开SEED数据集_eeg transformer
6、使用RGNN训练和测试EEG公开的SEED数据集
辅助学习资料:
1、官网三个简单Graph示例说明三种层次的应用_graph 简单示例
2、PPI数据集示例项目学习图神经网络
3、geometric库的数据处理详解
4、NetworkX的dicts of dicts以及解决Seven Bridges of Königsberg问题
5、geometric源码阅读和分析:MessagePassin类详解和使用
6、cora数据集示例项目学习图神经网络
7、Graph 聚合
8、QM9数据集示例项目学习图神经网络
9、处理图的开源库

LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation

注:用于推荐协同过滤的简化算法,可减少计算量。

图卷积网络(GCN)已成为协同过滤的最新技术。然而,其建议有效性的原因尚不清楚。现有的使GCN适应推荐的工作缺乏对GCN的彻底消融分析,GCN最初设计用于图分类任务,并配备了许多神经网络操作。然而,从经验上发现,GCN中最常见的两种设计——特征转换和非线性激活——对协同过滤的性能贡献不大。更糟糕的是,包括它们会增加训练难度,降低推荐性能。

在这项工作中,的目标是简化GCN的设计,使其更简洁,更适合推荐。提出了一个名为LightGCN的新模型,它只包括GCN中最重要的组件——邻域聚合——用于协同过滤。具体而言,LightGCN通过在用户-项目交互图上线性传播用户和项目嵌入来学习它们,并使用在所有层学习的嵌入的加权和作为最终嵌入。这种简单、线性和整洁的模型更容易实现和训练,在完全相同的实验设置下,与神经图协同过滤(NGCF)(一种最先进的基于GCN的推荐器模型)相比,表现出了显著的改进(平均约16.0%的相对改进)。从分析和实证角度对简单LightGCN的合理性进行了进一步分析。

算法原理学习

算法的原理很简单,体现出简洁的特点。

在这里插入图片描述

LightGCN模型架构示意图。在LGC中,仅对下一层执行相邻嵌入的归一化和;其他操作,如自连接、特征转换和非线性激活都被删除,这在很大程度上简化了GCN。在层组合中,我们对每个层的嵌入进行求和以获得最终表示

x i ′ = ∑ j ∈ N ( i ) e j , i deg ⁡ ( i ) deg ⁡ ( j ) x j \mathbf{x}^{\prime}_i = \sum_{j \in \mathcal{N}(i)} \frac{e_{j,i}}{\sqrt{\deg(i)\deg(j)}} \mathbf{x}_j xi=jN(i)deg(i)deg(j) ej,ixj

geometric开源代码实现

重要参数:

1、num_nodes (int): The number of nodes in the graph.
2、embedding_dim (int): The dimensionality of node embeddings.
3、num_layers (int): The number of:class:~torch_geometric.nn.conv.LGConv layers.
4、alpha (float or Tensor, optional): The scalar or vector specifying there-weighting coefficients for aggregating the final

5、embedding.If set to :obj:None, the uniform initialization of:obj:1 / (num_layers + 1) is used. (default: :obj:None)

6、 **kwargs (optional): Additional arguments of the underlying :class:~torch_geometric.nn.conv.LGConv layers.

    def __init__(
        self,
        num_nodes: int,
        embedding_dim: int,
        num_layers: int,
        alpha: Optional[Union[float, Tensor]] = None,
        **kwargs,
    ):
        
    def forward(self, edge_index: Adj,
                edge_label_index: OptTensor = None) -> Tensor:        

参考:

torch_geometric.nn — pytorch_geometric documentation (pytorch-geometric.readthedocs.io)

[2002.02126] LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation (arxiv.org)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值