Skip to content

PyTorch code of "Learning to Self-Train for Cold-Start Recommendation Systems"

Notifications You must be signed in to change notification settings

hangjunguo/SETRec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning to Self-Train for Cold-Start Recommendation Systems

Overview

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.

Installation

  • Main requirements: Python >= 3.7, NVIDIA GPU

  • PyTorch >= 1.12.1 and other required packages in the source code

Run SETRec

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.

About

PyTorch code of "Learning to Self-Train for Cold-Start Recommendation Systems"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages