[mlpack-svn] r11462 - in mlpack/trunk/src/mlpack/methods: mvu nca

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Fri Feb 10 12:56:29 EST 2012


Author: rcurtin
Date: 2012-02-10 12:56:29 -0500 (Fri, 10 Feb 2012)
New Revision: 11462

Modified:
   mlpack/trunk/src/mlpack/methods/mvu/mvu.cpp
   mlpack/trunk/src/mlpack/methods/nca/nca.hpp
   mlpack/trunk/src/mlpack/methods/nca/nca_impl.hpp
Log:
Revamp NCA and MVU, which use AugLagrangian and LRSDP, respectively.  MVU is not
yet done but, bit by bit...


Modified: mlpack/trunk/src/mlpack/methods/mvu/mvu.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/mvu/mvu.cpp	2012-02-10 17:55:50 UTC (rev 11461)
+++ mlpack/trunk/src/mlpack/methods/mvu/mvu.cpp	2012-02-10 17:56:29 UTC (rev 11462)
@@ -7,7 +7,8 @@
 #include "mvu.hpp"
 #include "mvu_objective_function.hpp"
 
-#include <mlpack/core/optimizers/aug_lagrangian/aug_lagrangian.hpp>
+//#include <mlpack/core/optimizers/aug_lagrangian/aug_lagrangian.hpp>
+#include <mlpack/core/optimizers/lrsdp/lrsdp.hpp>
 
 using namespace mlpack;
 using namespace mlpack::mvu;
@@ -22,12 +23,16 @@
                  const size_t numNeighbors,
                  arma::mat& outputData)
 {
+  // Set up LRSDP that we will solve.
+  LRSDP mvuSolver;
+
+
   MVUObjectiveFunction obj(data, newDim, numNeighbors);
 
   // Set up Augmented Lagrangian method.
   // Memory choice is arbitrary; this needs to be configurable.
-  AugLagrangian<MVUObjectiveFunction> aug(obj, 20);
+//AugLagrangian<MVUObjectiveFunction> aug(obj, 20);
 
-  outputData = obj.GetInitialPoint();
-  aug.Optimize(outputData, 0);
+//  outputData = obj.GetInitialPoint();
+//  aug.Optimize(outputData, 0);
 }

Modified: mlpack/trunk/src/mlpack/methods/nca/nca.hpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/nca/nca.hpp	2012-02-10 17:55:50 UTC (rev 11461)
+++ mlpack/trunk/src/mlpack/methods/nca/nca.hpp	2012-02-10 17:56:29 UTC (rev 11462)
@@ -54,11 +54,11 @@
    *
    * @param output_matrix Covariance matrix of Mahalanobis distance.
    */
-  void LearnDistance(arma::mat& output_matrix);
+  void LearnDistance(arma::mat& outputMatrix);
 
  private:
-  const arma::mat& dataset_;
-  const arma::uvec& labels_;
+  const arma::mat& dataset;
+  const arma::uvec& labels;
 };
 
 }; // namespace nca

Modified: mlpack/trunk/src/mlpack/methods/nca/nca_impl.hpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/nca/nca_impl.hpp	2012-02-10 17:55:50 UTC (rev 11461)
+++ mlpack/trunk/src/mlpack/methods/nca/nca_impl.hpp	2012-02-10 17:56:29 UTC (rev 11462)
@@ -20,21 +20,21 @@
 // Just set the internal matrix reference.
 template<typename Kernel>
 NCA<Kernel>::NCA(const arma::mat& dataset, const arma::uvec& labels) :
-    dataset_(dataset), labels_(labels) { /* nothing to do */ }
+    dataset(dataset), labels(labels) { /* nothing to do */ }
 
 template<typename Kernel>
-void NCA<Kernel>::LearnDistance(arma::mat& output_matrix)
+void NCA<Kernel>::LearnDistance(arma::mat& outputMatrix)
 {
-  output_matrix = arma::eye<arma::mat>(dataset_.n_rows, dataset_.n_rows);
+  outputMatrix = arma::eye<arma::mat>(dataset.n_rows, dataset.n_rows);
 
-  SoftmaxErrorFunction<Kernel> error_func(dataset_, labels_);
+  SoftmaxErrorFunction<Kernel> errorFunc(dataset, labels);
 
   // We will use the L-BFGS optimizer to optimize the stretching matrix.
-  optimization::L_BFGS<SoftmaxErrorFunction<Kernel> > lbfgs(error_func, 10);
+  optimization::L_BFGS<SoftmaxErrorFunction<Kernel> > lbfgs(errorFunc, 10);
 
   Timer::Start("nca_lbfgs_optimization");
 
-  lbfgs.Optimize(0, output_matrix);
+  lbfgs.Optimize(outputMatrix);
 
   Timer::Stop("nca_lbfgs_optimization");
 }




More information about the mlpack-svn mailing list