Hierachical Adaptive Soft Impute
HASI is an algorithm for low-rank matrix completion described in reference .
It uses nonconvex nuclear penalties arising from a hierarchical sparsity inducing prior on singular values. The algorithm iteratively performs adaptive weighted soft thresholded SVD.
Applications are in Collaborative Filtering (predicting user preferences for items), image inpainting, imputation of missing values, etc.
The software is distributed as a Matlab package. It makes use of the PROPACK algorithm for handling large scale matrices.
- Download and extract HASI.
- Add folders
PROPACK_utilsto Matlab path.
install_mex.mto install mexfiles.
- See and run
ha_soft_impute: the main function that runs HASI algorithm (see ).
We also provide:
soft_impute: runs Soft-impute algorithm (see ), special case of HASI with
gammavariant and infinite beta parameter.
hard_impute: runs Hard-impute algorithm (see ).
spectral_norm: computes the largest singular value of a sparse matrix.
Any function help is available via the command
HASI software was written by Adrien Todeschini (firstname.lastname@example.org).
HASI software is adapted from the
Matlab code written by Rahul Mazumder with
considerable input from Trevor Hastie
based on reference .
: "Probabilistic Low-Rank Matrix Completion with Adaptive Spectral Regularization Algorithms" by Adrien Todeschini, François Caron, Marie Chavent (NIPS' 2013)
: "Spectral Regularization Algorithms for Learning Large Incomplete Matrices" by Rahul Mazumder, Trevor Hastie, Rob Tibshirani (JMLR vol 11, 2010)
- fix binary case