[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