SIF icon indicating copy to clipboard operation
SIF copied to clipboard

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

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