Source code and data for the paper "Nonparametric Max-Margin Matrix Factorization for Collaborative Prediction" accepted to NIPS'2012 and "Fast Max-Margin Matrix Factorization with Data Augmentation" accepted to ICML'2013
To run iPM3F (M3F and iBPM3F likewise):
1. set working dir in MATLAB to iPM3F
2. load data
>> load('../data/MovieLens-1M.mat');
3. a little bit configuration [OPTIONAL]
>> % defaults to 'weak' & 'no validation'
>> weakopts = []; % for the 'weak' setting
>> validid = 1; % use the 1st validation set
4. compile mex-files and initialize
>> init;
5. set range for regularization constant tuning [OPTIONAL]
>> % defaults to the entire range
>> rid_s = 1; rid_t = numel(regvals); % tune all the candidate values
6. turn on parallel computing and logging [OPTIONAL]
>> matlabpool open <your_profile>;
>> diary(fullfile(savedir, 'log.txt'));
7. train the model and test performance
>> train_ipm3f;
8. turn off parallel computing and logging [OPTIONAL]
>> diary off;
>> matlabpool close;
Put together:
>> cd iPM3F;
>> load('../data/MovieLens-1M.mat');
>> init;
>> train_ipm3f;
To run GiPM3F or GM3F, you may need to download daSVM
(https://github.com/chokkyvista/daSVM)
as well and put it at the same level as the iPM3F root directory:
- daSVM
- iPM3F
|- GM3F
|- GiPM3F
|- IBP
|- common
|- data