littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于TensorFlow的图神经网络协同过滤推荐系统MGDCF

项目简介

本项目聚焦于论文 "MGDCF: Distance Learning via Markov Graph Diffusion for Neural Collaborative Filtering" 的复现与改进,实现了MGDCF的TensorFlow版本。在原论文基础上做出了三点创新,旨在验证排序损失InfoBPR函数的泛化性,探究其在不同数据和模型上的有效性,并得出最优排序损失函数应根据不同数据集和模型特征选择的结论。

项目的主要特性和功能

  1. 模型对比实验:增加LightGCN - InfoBPR、DropEdge - InfoBPR等模型实验对照组,验证InfoBPR函数的泛化性。
  2. 负样本数量调整:更改计算InfoBPR时的负样本数量,验证其在不同数据和模型上的有效性,在异构MGDN、同构MGDN上均有一定提升。
  3. 结论提出:指出最优排序损失函数Loss_Rank应根据不同数据集、不同模型的特征进行选择,采用更多负样本数量的InfoBPR在某些情况下不一定优于BPR的效果。
  4. 模型实现:实现了MGDCF框架,包含同构MGDN、异构MGDN、部分GNN模型。

安装使用步骤

环境要求

  • Linux系统
  • Python 3.10.12
  • tensorflow == 2.15.0
  • tf_geometric == 0.1.6
  • tf_sparse == 0.0.17
  • grecx == 0.0.8
  • tqdm = 4.66.4

安装依赖

下载项目源码文件后,可使用requirement.txt文件安装环境依赖,命令如下: bash pip install -r requirement.txt

运行项目

方式一:使用脚本运行

shell cd scripts sh ${DATASET}/$SCRIPT_NAME 例如: shell cd scripts sh amazon - book/HeteroMGDCF_yelp.sh

方式二:命令行直接执行

shell python -u cf_task_handle.py ${DATASET} ${Other parameters needed}

方式三:在Colab平台运行

项目支持在colab平台的jupyter notebook上执行(其T4 GPU运行时满足本项目的大部分环境),点击下面的链接即可打开: Open In Colab

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】