14 #ifndef MLPACK_METHODS_BIAS_SVD_BIAS_SVD_IMPL_HPP 15 #define MLPACK_METHODS_BIAS_SVD_BIAS_SVD_IMPL_HPP 20 template<
typename OptimizerType>
23 const double lambda) :
24 iterations(iterations),
31 template<
typename OptimizerType>
41 const int batchSize = 1;
42 Log::Warn <<
"The batch size for optimizing BiasSVD is 1." 47 ens::StandardSGD optimizer(alpha, batchSize,
48 iterations * data.n_cols);
52 optimizer.Optimize(biasSVDFunc, parameters);
55 const size_t numUsers = max(data.row(0)) + 1;
56 const size_t numItems = max(data.row(1)) + 1;
60 u = parameters.submat(0, numUsers, rank - 1, numUsers + numItems - 1).t();
61 v = parameters.submat(0, 0, rank - 1, numUsers - 1);
62 p = parameters.row(rank).subvec(numUsers, numUsers + numItems - 1).t();
63 q = parameters.row(rank).subvec(0, numUsers - 1).t();
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
void Apply(const arma::mat &data, const size_t rank, arma::mat &u, arma::mat &v, arma::vec &p, arma::vec &q)
Trains the model and obtains user/item matrices and user/item bias.
Definition: bias_svd_impl.hpp:32
This class contains methods which are used to calculate the cost of BiasSVD's objective function...
Definition: bias_svd_function.hpp:31
const arma::mat & GetInitialPoint() const
Return the initial point for the optimization.
Definition: bias_svd_function.hpp:104
BiasSVD(const size_t iterations=10, const double alpha=0.02, const double lambda=0.05)
Constructor of Bias SVD.
Definition: bias_svd_impl.hpp:21
static MLPACK_EXPORT util::PrefixedOutStream Warn
Prints warning messages prefixed with [WARN ].
Definition: log.hpp:87