Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CollMetric

A Tensorflow implementation of Collaborative Metric Learning (CML):

Cheng-Kang Hsieh, Longqi Yang, Yin Cui, Tsung-Yi Lin, Serge Belongie, and Deborah Estrin. 2017. Collaborative Metric Learning. In Proceedings of the 26th International Conference on World Wide Web (WWW '17) (perm_link, pdf)

** Note: the original Theano implementation is deprecated and is kept in the old_experiment_code branch

Features

  • Produces embedding that accurately captures the user-item, user-user, and item-item similarity.
  • Allows the exploitation of item features (e.g. tags, text, image features).
  • Outperforms state-of-the-art recommendation algorithms on a wide range of tasks
  • Enjoys an extremely efficient Top-K search using Fast KNN algorithms.

Utility Features

  • Parallel negative sampler that can sample the user-item pairs when the model is being trained on GPU
  • Fast recall evaluation based on Tensorflow

Requirements

  • python3
  • tensorflow
  • scipy
  • scikit-learn

Usage

# install requirements
pip3 install -r requirements.txt
# run demo tensorflow model
python3 CML.py

Known Issue

  • AdaGrad does not seem to work on GPU. Try using AdamOptimizer instead
  • the WithFeature version does not seems to perform as well as the Theano version. It is being investigated. (The performance is actually slightly better (with AdamOptimizer) than the number reported in the paper now!)

Visuals

An illustration of embbeding learning procedue of CML

CML

Flickr photo recommendation embedding produced by CML (compared to original ImageNet features)

Embedding

TODO

  • Model Comparison.
  • TensorBoard visualization

About

A Tensorflow implementation of Collaborative Metric Learning (CML)

Resources

License

Releases

No releases published

Packages

No packages published

Languages