[mlpack-git] master: Added code example for Reg SVD. (5135f04)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Thu Mar 5 21:58:33 EST 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/904762495c039e345beba14c1142fd719b3bd50e...f94823c800ad6f7266995c700b1b630d5ffdcf40
>---------------------------------------------------------------
commit 5135f04d11f98a7fb57b852690124fa83de40165
Author: Siddharth Agrawal <siddharth.950 at gmail.com>
Date: Mon Aug 18 15:56:22 2014 +0000
Added code example for Reg SVD.
>---------------------------------------------------------------
5135f04d11f98a7fb57b852690124fa83de40165
.../methods/regularized_svd/regularized_svd.hpp | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/src/mlpack/methods/regularized_svd/regularized_svd.hpp b/src/mlpack/methods/regularized_svd/regularized_svd.hpp
index de2949f..8d7d222 100644
--- a/src/mlpack/methods/regularized_svd/regularized_svd.hpp
+++ b/src/mlpack/methods/regularized_svd/regularized_svd.hpp
@@ -17,6 +17,39 @@
namespace mlpack {
namespace svd {
+/**
+ * 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:
+ *
+ * @code
+ * arma::mat data; // Rating data in the form of coordinate list.
+ *
+ * const size_t rank = 20; // Rank used for the decomposition.
+ * const size_t iterations = 10; // Number of iterations used for optimization.
+ *
+ * const double alpha = 0.01 // Learning rate for the SGD optimizer.
+ * const double lambda = 0.1 // Regularization parameter for the optimization.
+ *
+ * // Make a RegularizedSVD object.
+ * RegularizedSVD<> rSVD(iterations, alpha, lambda);
+ *
+ * arma::mat u, v; // User and item matrices.
+ *
+ * // Use the Apply() method to get a factorization.
+ * rSVD.Apply(data, rank, u, v);
+ * @endcode
+ */
+
template<
template<typename> class OptimizerType = mlpack::optimization::SGD
>
More information about the mlpack-git
mailing list