[mlpack-git] master, mlpack-1.0.x: Patch from Sumedh: more tests for SVD (f5baba1)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Thu Mar 5 21:54:41 EST 2015
Repository : https://github.com/mlpack/mlpack
On branches: master,mlpack-1.0.x
Link : https://github.com/mlpack/mlpack/compare/904762495c039e345beba14c1142fd719b3bd50e...f94823c800ad6f7266995c700b1b630d5ffdcf40
>---------------------------------------------------------------
commit f5baba115d5c9cdc9968c5823a1f458b67e1eaf8
Author: Ryan Curtin <ryan at ratml.org>
Date: Fri Jul 25 21:24:22 2014 +0000
Patch from Sumedh: more tests for SVD
>---------------------------------------------------------------
f5baba115d5c9cdc9968c5823a1f458b67e1eaf8
src/mlpack/tests/svd_incremental_test.cpp | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/src/mlpack/tests/svd_incremental_test.cpp b/src/mlpack/tests/svd_incremental_test.cpp
index ca92e05..ba2ba82 100644
--- a/src/mlpack/tests/svd_incremental_test.cpp
+++ b/src/mlpack/tests/svd_incremental_test.cpp
@@ -1,8 +1,10 @@
#include <mlpack/core.hpp>
#include <mlpack/methods/amf/amf.hpp>
#include <mlpack/methods/amf/update_rules/svd_incomplete_incremental_learning.hpp>
+#include <mlpack/methods/amf/update_rules/svd_complete_incremental_learning.hpp>
#include <mlpack/methods/amf/init_rules/random_init.hpp>
#include <mlpack/methods/amf/termination_policies/incomplete_incremental_termination.hpp>
+#include <mlpack/methods/amf/termination_policies/complete_incremental_termination.hpp>
#include <mlpack/methods/amf/termination_policies/simple_tolerance_termination.hpp>
#include <mlpack/methods/amf/termination_policies/validation_RMSE_termination.hpp>
@@ -17,18 +19,45 @@ using namespace mlpack::amf;
using namespace arma;
/**
- * Test for convergence
+ * Test for convergence of incomplete incremenal learning
*/
BOOST_AUTO_TEST_CASE(SVDIncompleteIncrementalConvergenceTest)
{
mlpack::math::RandomSeed(10);
sp_mat data;
data.sprandn(1000, 1000, 0.2);
+
SVDIncompleteIncrementalLearning svd(0.01);
IncompleteIncrementalTermination<SimpleToleranceTermination<sp_mat> > iit;
+
AMF<IncompleteIncrementalTermination<SimpleToleranceTermination<sp_mat> >,
RandomInitialization,
SVDIncompleteIncrementalLearning> amf(iit, RandomInitialization(), svd);
+
+ mat m1,m2;
+ amf.Apply(data, 2, m1, m2);
+
+ BOOST_REQUIRE_NE(amf.TerminationPolicy().Iteration(),
+ amf.TerminationPolicy().MaxIterations());
+}
+
+/**
+ * Test for convergence of complete incremenal learning
+ */
+BOOST_AUTO_TEST_CASE(SVDCompleteIncrementalConvergenceTest)
+{
+ mlpack::math::RandomSeed(10);
+ sp_mat data;
+ data.sprandn(1000, 1000, 0.2);
+
+ SVDCompleteIncrementalLearning<sp_mat> svd(0.01);
+ CompleteIncrementalTermination<SimpleToleranceTermination<sp_mat> > iit;
+
+ AMF<CompleteIncrementalTermination<SimpleToleranceTermination<sp_mat> >,
+ RandomInitialization,
+ SVDCompleteIncrementalLearning<sp_mat> > amf(iit,
+ RandomInitialization(),
+ svd);
mat m1,m2;
amf.Apply(data, 2, m1, m2);
More information about the mlpack-git
mailing list