[mlpack-svn] r16065 - mlpack/trunk/src/mlpack/methods/logistic_regression

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Nov 25 00:59:15 EST 2013


Author: rcurtin
Date: Mon Nov 25 00:59:11 2013
New Revision: 16065

Log:
Regularization gets subtracted, not added.  Thanks to Sumedh for pointing this
out.


Modified:
   mlpack/trunk/src/mlpack/methods/logistic_regression/logistic_regression_function.cpp

Modified: mlpack/trunk/src/mlpack/methods/logistic_regression/logistic_regression_function.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/logistic_regression/logistic_regression_function.cpp	(original)
+++ mlpack/trunk/src/mlpack/methods/logistic_regression/logistic_regression_function.cpp	Mon Nov 25 00:59:11 2013
@@ -76,7 +76,7 @@
   }
 
   // Invert the result, because it's a minimization.
-  return -(result + regularization);
+  return -result + regularization;
 }
 
 /**
@@ -99,9 +99,9 @@
   const double sigmoid = 1.0 / (1.0 + std::exp(-exponent));
 
   if (responses[i] == 1)
-    return -(log(sigmoid) + regularization);
+    return -log(sigmoid) + regularization;
   else
-    return -(log(1.0 - sigmoid) + regularization);
+    return -log(1.0 - sigmoid) + regularization;
 }
 
 //! Evaluate the gradient of the logistic regression objective function.
@@ -118,7 +118,7 @@
   gradient.set_size(parameters.n_elem);
   gradient[0] = -arma::accu(responses - sigmoids);
   gradient.col(0).subvec(1, parameters.n_elem - 1) = -predictors * (responses -
-      sigmoids) - regularization;
+      sigmoids) + regularization;
 }
 
 /**
@@ -142,5 +142,5 @@
   gradient.set_size(parameters.n_elem);
   gradient[0] = -(responses[i] - sigmoid);
   gradient.col(0).subvec(1, parameters.n_elem - 1) = -predictors.col(i)
-      * (responses[i] - sigmoid) - regularization;
+      * (responses[i] - sigmoid) + regularization;
 }



More information about the mlpack-svn mailing list