[mlpack-svn] r16867 - mlpack/trunk/src/mlpack/tests

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Fri Jul 25 17:24:22 EDT 2014


Author: rcurtin
Date: Fri Jul 25 17:24:22 2014
New Revision: 16867

Log:
Patch from Sumedh: more tests for SVD


Modified:
   mlpack/trunk/src/mlpack/tests/svd_incremental_test.cpp

Modified: mlpack/trunk/src/mlpack/tests/svd_incremental_test.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/tests/svd_incremental_test.cpp	(original)
+++ mlpack/trunk/src/mlpack/tests/svd_incremental_test.cpp	Fri Jul 25 17:24:22 2014
@@ -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 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-svn mailing list