This repository contains our implementation of a movie recommendation system using Light Graph Convolutional Networks (GCNs). The system is built using PyTorch Geometric and it utilizes the MovieLens dataset for training and evaluation.
The original paper by Xiangnan He et al., which proposed LightGCN, can be found here.
I followed the blog post here for implementation.
The recommendation system employs a Graph Convolutional Network architecture to learn user and movie embeddings from the user-movie interaction graph. It predicts user ratings for movies, facilitating personalized movie recommendations.
LightGCN model was used to learn user and movie embeddings using the MovieLens dataset. Ratings >= 4/5 were considered as positive interactions. Bayesian Personalized Ranking (BPR) loss metric was used to guide the model to learn better embeddings. For evaluation, Recall@K metric was used to measure the proportion of top-K recommendations that the user has already enjoyed.
The model was trained for 50 epochs with a batch size of 256, using the Adam optimizer with a learning rate of 1e-3 and an exponential learning rate scheduler with a decay rate of 0.9.
After training the LightGCN model, it achieved a recall@20 of 0.12.