This is a new deep learning model for recommender system, which we called PHD
Collaborative Filtering(CF), a well-known approach in producing recommender systems, has achieved wide use and excellent performance not only in research but also in industry. However, problems related to cold start and data sparsity have caused CF to attract an increasing amount of attention in efforts to solve these problems. Traditional approaches adopt side information to extract effective latent factors but still have some room for growth. Due to the strong characteristic of feature extraction in deep learning, many researchers have employed it with CF to extract effective representations and to enhance its performance in rating prediction. Based on this previous work, we propose a probabilistic model that combines a stacked denoising autoencoder and a convolutional neural network together with auxiliary side information (i.e, both from users and items) to extract users and items' latent factors, respectively. Extensive experiments for four datasets demonstrate that our proposed model outperforms other traditional approaches and deep learning models making it state of the art.
user side information
and the other is item side information
.user side information
, the dataformat is user_id::binary_value
, eg. 456::0010010000100000
item side information
, the dataformat is user_id::item_id::rating
, eg. 456::1::3
run_test_preprocess.sh
for the process of data. Because the original data is too large, I cannot give a dowonload link.run_test_preprocess.sh
for process the datarun_test_PHDMF.sh
for training the datapython rmse.py
for test the performance of the modelIf you find this model is useful for your research, please cite this paper:
This is a variant of ConvMF and aSDAE. Certainly, it is based on ConvMF and aSDAE.
We use aSDAE and CNN to generate the user latent factor and item latent factor, respectively.
If you want to use it, pleae install keras and tensorflow ,respectively.
Note that this model can deal with three conditions:
Tips:Please make sure you have a good deep learning environment to run these codes.