Skip to content

changun/CollMetric

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages