This repo provides our implementation for λOpt. λOpt is a fine-grained adaptive regularizer for recommender models. The key idea is to specify an individual regularization strength for each user and item. Check our paper for details about λOpt if you are interested!
Yihong Chen, Bei Chen, Xiangnan He, Chen Gao, Yong Li, Jian-Guang Lou and Yue Wang(2019). λOpt: Learn to Regularize Recommender Models in Finer Levels. In KDD'19, Anchorage, Alaska, USA, August 4-8, 2019.
For example, movielens-1m, put ratings.dat
in src/data/ml-1m
cd src
mkdir data
cd data
mkdir ml-1m
cd src
mkdir tmp
mkdir tmp/data
mkdir tmp/res
mkdir tmp/res/ml1m/
mkdir tmp/penalty/
mkdir tmp/penalty/ml1m/
For fixed lambda on movielens-1m, the hyper-parameters are in train_ml1m_fixed.py
For lambdaopt on movielens-1m, the hyper-parameters are in train_ml1m_alter.py
cd src
python train_ml1m_alter.py
src/regularizer/
: lambdaoptsrc/factorizer/
: matrix factorization modelsrc/utils/
: handy modules for data sampling, evaluation etc.src/engine.py
: training enginesrc/train_[dataset]_[regularization method].py
: entry point
- pytorch=1.2.0
If you this repo, please kindly cite our paper.
@inproceedings{lambdaopt,
author = {Chen, Yihong and Chen, Bei and He, Xiangnan and Gao, Chen and Li, Yong and Lou, Jian-Guang and Wang, Yue},
title = {lambdaOpt: Learn to Regularize Recommender Models in Finer Levels},
booktitle = {Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \&\#38; Data Mining},
series = {KDD '19},
year = {2019},
isbn = {978-1-4503-6201-6},
location = {Anchorage, AK, USA},
pages = {978--986},
numpages = {9},
url = {http://doi.acm.org/10.1145/3292500.3330880},
doi = {10.1145/3292500.3330880},
acmid = {3330880},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {matrix factorization, regularization hyperparameter, top-k recommendation},
}
Any feedback is much appreciated! Drop us a line at laceychen@outlook.com or simply open a new issue.
- Upgrade to pytorch 1.0. Refer to issue 1 for progress.