This is a PyTorch implementation of Learning to Self-Train for Cold-Start Recommendation Systems.
In this work, we propose a SElf-Training framework for RECommendation systems, called SETRec, that aims to solve cold-start problems and provide unbiased recommendation. Specifically, we train a student model by appropriately leveraging numerous unobserved interactions, which augments labeled samples through pseudo-labeling. To avoid the noise inherent in pseudo labels, we exploit a confidence adaptive sampling for extracting reliable pseudo-labeled items from the teacher's recommendation list. We also utilized a frequency-based negative sampling to alleviate the popularity bias problem. Further, we introduce the pseudo ranking probability into the proposed framework, which transfers the knowledge of ranking orders among items generated by the teacher to enhance high ranking performance for recommendation. Finally, the proposed framework is model-independent because it is orthogonal to the choices of recommendation models for the teacher and student.
-
Main requirements: Python >= 3.7, NVIDIA GPU
-
PyTorch >= 1.12.1 and other required packages in the source code
The hyperparameters and teacher/student recommendation models used for the SETRec framework are set default in the .yaml
file, you can change them if needed. Then simply run python run.py
.