LightGCN模型复现

基于图模型的第一篇论文复现,比起tensorflow,还是觉得pytorch框架更容易看懂。

论文思路:数据集构建用户-项目交互图,基于GCN思想,聚合邻居节点的信息,增强用户和项目的嵌入表示,以得到更为准确的评分预测。其中论文证明GCN中的非线性激活和数据转换不仅增加模型复杂度,还影响模型性能。数据不考虑用户和项目的属性信息,只有节点ID,评分数据反映边信息,不涉及额外信息,不需要额外的特征变换和非线性激活,基于简单的协同过滤思想。(现在很多论文都是基于图模型+协同过滤思想,优化推荐任务)

具体模型结构:

【1】数据集:gowalla,amazon-book,yelp2018,数据集一般都处理成train,test,user_list,item_list

图模型数据思路,构建节点,边数据,邻接矩阵构建,生成图结构

【2】参数:parse.py,模型的所有参数都在此封装,其中数据集列表默认是gowalla数据集,模型包含MF和Lgcn,默认是LightGcn

【3】world.py参数调用

【4】dataloader:数据集处理,模型采用bpr损失函数,需要抽样负样本。在这部分,作者分别做了两类数据集的处理,加了一个额外数据集lastfm,涉及社交属性的数据集,额外构建用户-用户社交网络,按理说,这个数据集构建的是异构图,作者与gowalla数据集构建图是同一个方法。创新思路可以考虑异构图,社会化推荐。

【5】utils.py:构建BPR损失函数,评价指标precision,recall,ndcg,跑模型发现ÿ

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值