/SIF

Code for our WWW'2020 paper "Efficient Neural Interaction Function Search for Collaborative Filtering"

Primary LanguagePython

SIF (Search for Interaction Functions)

Code accompanying the paper
WWW'20: Efficient Neural Interaction Function Search for Collaborative Filtering paper slides
Quanming Yao*, Xiangning Chen*, James Kowk, Yong Li, Cho-Jui Hsieh

If you find this code useful in your research please cite

@inproceedings{yao2019efficient,
  title={Efficient Neural Interaction Function Search for Collaborative Filtering},
  author={Quanming Yao and Xiangning Chen and James Kwok and Yong Li and Cho-Jui Hsieh},
  booktitle={WWW},
  year={2020},
}

Setup

MovieLens-100K, MovieLens-1M and MovieLens-10M datasets are publicly available here. The Youtube dataset is introduced in this paper. The main environment is:

  • CUDA 9.0
  • torch 1.1.0
  • numpy 1.14.0

To run baselines, these packages are required:

Architecture Search

  • SIF

python main_search.py --mode=sif --dataset=ml-100k

  • Baseline (examples)

python main_search.py --mode=random --dataset=ml-100k # Random
python main_search.py --mode=hyperopt --dataset=ml-100k # Bayesian Optimization

Architecture Evaluation

  • SIF

python main_evaluate.py --mode=sif --dataset=ml-100k --arch=searched_model_path

  • Baseline (examples)

python main_evaluate.py --mode=ncf --dataset=ml-100k # Neural Collaborative Filtering
python main_evaluate.py --mode=libfm --dataset=ml-100k # Factorization Machine

Related publications:

  • Q. Yao, J. Xu, W. Tu, Z. Zhu. Efficient Neural Architecture Search via Proximal Iterations. AAAI Conference on Artificial Intelligence (AAAI). 2020 paper code
  • Y. Zhang, Q. Yao, W. Dai, L. Chen. AutoSF: Searching Scoring Functions for Knowledge Graph Embedding. IEEE International Conference on Data Engineering (ICDE). 2020. paper code
  • Q. Yao, M. Wang, et.al. Taking Human out of Learning Applications: A Survey on Automated Machine Learning. Arvix 2018. paper