13 #ifndef MLPACK_METHODS_REGULARIZED_SVD_REGULARIZED_SVD_IMPL_HPP 14 #define MLPACK_METHODS_REGULARIZED_SVD_REGULARIZED_SVD_IMPL_HPP 19 template<
typename OptimizerType>
22 const double lambda) :
23 iterations(iterations),
30 template<
typename OptimizerType>
38 const int batchSize = 1;
39 Log::Warn <<
"The batch size for optimizing RegularizedSVD is 1." 44 ens::StandardSGD optimizer(alpha, batchSize,
45 iterations * data.n_cols);
49 optimizer.Optimize(rSVDFunc, parameters);
52 const size_t numUsers = max(data.row(0)) + 1;
53 const size_t numItems = max(data.row(1)) + 1;
56 u = parameters.submat(0, numUsers, rank - 1, numUsers + numItems - 1).t();
57 v = parameters.submat(0, 0, rank - 1, numUsers - 1);
const arma::mat & GetInitialPoint() const
Return the initial point for the optimization.
Definition: regularized_svd_function.hpp:98
RegularizedSVD(const size_t iterations=10, const double alpha=0.01, const double lambda=0.02)
Constructor for Regularized SVD.
Definition: regularized_svd_impl.hpp:20
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
static MLPACK_EXPORT util::PrefixedOutStream Warn
Prints warning messages prefixed with [WARN ].
Definition: log.hpp:87
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.
Definition: regularized_svd_impl.hpp:31
The data is stored in a matrix of type MatType, so that this class can be used with both dense and sp...
Definition: regularized_svd_function.hpp:29