HTTPS SSH
Code to run EP with the Heteroskedastic Ordinal Matrix Factorization (HOMF)
model and Bayesian Active Learning by Disagreement (BALD), as described in

Cold-start Active Learning with Robust Matrix Factorization (2014)
Houlsby NMT, Hernandez-Lobato JMH, and Ghahramani Z
31st International Conference on Machine Learning (ICML)

A copy of the paper is in "paper".

The folder "code" contains the EP/VB inference routine for HOMF, and the BALD
active learning described in the paper.

The script "code/runExperiment.R" will run one iteration of a full experiment.

The main routines to perform inference in the HOMF model are contained in

code/epVBMF.R
code/epVBMF.c

BALD is implemented in

code/activeSample.R

An example dataset (movielens100k) and pre-processing code is in the folder
"data". The raw data is in "data/movielens100k.txt". The R routine in
"data/generateActiveData.R" will create train/pool/test splits as described in
the paper.

The code is written in c and R. You may need to install the "Matrix", "SparseM" and
"irlba" R packages.

You may also need to compile some of the c files to run from R. You can do that by
running the script "compile.sh". Before doing this, you need to install the GNU
Scientific Library and replace in these files the path "/home/neil/gsl-1.16" to
your copy of the GNU Scientific Library.