[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