Contrastive Matrix Completion with Denoising and Augmented Graph Views for Robust Recommendation

Narges Nemati, Mostafa Haghir Chehreghani
6/12/2025
cs.IRcs.AIcs.NE

No official code found. Best implementation: NargesNemati/MCCL (1 star, last commit 2025-07-24).

Abstract

Matrix completion is a widely adopted framework in recommender systems, as predicting the missing entries in the user-item rating matrix enables a comprehensive understanding of user preferences. However, current graph neural network (GNN)-based approaches are highly sensitive to noisy or irrelevant edges--due to their inherent message-passing mechanisms--and are prone to overfitting, which limits their generalizability. To overcome these challenges, we propose a novel method called Matrix Completion using Contrastive Learning (MCCL). Our approach begins by extracting local neighborhood subgraphs for each interaction and subsequently generates two distinct graph representations. The first representation emphasizes denoising by integrating GNN layers with an attention mechanism, while the second is obtained via a graph variational autoencoder that aligns the feature distribution with a standard prior. A mutual learning loss function is employed during training to gradually harmonize these representations, enabling the model to capture common patterns and significantly enhance its generalizability. Extensive experiments on several real-world datasets demonstrate that our approach not only improves the numerical accuracy of the predicted scores--achieving up to a 0.8% improvement in RMSE--but also produces superior rankings with improvements of up to 36% in ranking metrics.

View on arXivView PDF

Code Implementations(1)

NargesNemati/MCCLCommunity100%
10PythonApr 21, 20251 years ago

Similar Papers

Cite this paper

@article{nemati2025contrastive,
  title  = {Contrastive Matrix Completion with Denoising and Augmented Graph Views for Robust Recommendation},
  author = {Narges Nemati and Mostafa Haghir Chehreghani},
  year   = {2025},
  eprint = {2506.10658},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2506.10658v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2506.10658.svg)](https://codeofpaper.com/paper/2506.10658)

Discussion