Regularized SVD is a matrix factorization technique that seeks to reduce the error on the training set, that is on the examples for which the ratings have been provided by the users. More...
Public Member Functions | |
RegularizedSVD (const size_t iterations=10, const double alpha=0.01, const double lambda=0.02) | |
Constructor for Regularized SVD. More... | |
void | Apply (const arma::mat &data, const size_t rank, arma::mat &u, arma::mat &v) |
Obtains the user and item matrices using the provided data and rank. More... | |
Regularized SVD is a matrix factorization technique that seeks to reduce the error on the training set, that is on the examples for which the ratings have been provided by the users.
It is a fairly straightforward technique where the user and item matrices are updated with the help of Stochastic Gradient Descent(SGD) updates. The updates also penalize the learning of large feature values by means of regularization. More details can be found in the following links:
http://sifter.org/~simon/journal/20061211.html http://www.cs.uic.edu/~liub/KDD-cup-2007/proceedings/Regular-Paterek.pdf
An example of how to use the interface is shown below:
Definition at line 58 of file regularized_svd.hpp.
RegularizedSVD | ( | const size_t | iterations = 10 , |
const double | alpha = 0.01 , |
||
const double | lambda = 0.02 |
||
) |
Constructor for Regularized SVD.
Obtains the user and item matrices after training on the passed data. The constructor initiates an object of class RegularizedSVDFunction for optimization. It uses the SGD optimizer by default. The optimizer uses a template specialization of Optimize().
iterations | Number of optimization iterations. |
alpha | Learning rate for the SGD optimizer. |
lambda | Regularization parameter for the optimization. |
void Apply | ( | const arma::mat & | data, |
const size_t | rank, | ||
arma::mat & | u, | ||
arma::mat & | v | ||
) |
Obtains the user and item matrices using the provided data and rank.
data | Rating data matrix. |
rank | Rank parameter to be used for optimization. |
u | Item matrix obtained on decomposition. |
v | User matrix obtained on decomposition. |
Referenced by RegSVDPolicy::Apply().