Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 2.14 KB

File metadata and controls

47 lines (31 loc) · 2.14 KB

Boltzmann Machines for Collaborative Filtering

This is a series of Boltzmann Machines models for Collaborative Filtering implemented in PyTorch, TensorFlow, and Keras.

Here are the 3 different models:

Download and Process Data

You can download the MovieLens-1M dataset from this folder.

Training Models

To run the Restricted Boltzmann Machines model:

python RBM-CF-PyTorch/train.py

To run the Explainable Restricted Boltzmann Machines model:

python Explainable-RBM-CF-TensorFlow/main.py

To run the Neural Autoregressive Distribution Estimator model:

python NADE-CF-Keras/run.py

Evaluating Results

Here are the results for all three models after 50 epochs of training:

Model RMSE Runtime
RBM 0.590 10m56s
Explainable RBM 0.3116 1m43s
NADE 0.920 90m45s
  • Explainable RBM model has the lowest RMSE and shortest training time.
  • NADE, on the other hand, has the highest RMSE and longest training time.