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

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Wed Nov 13 13:20:38 EST 2013


Author: rcurtin
Date: Wed Nov 13 13:20:38 2013
New Revision: 16026

Log:
Add correct implementation of Gradient() function.


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	Wed Nov 13 13:20:38 2013
@@ -87,16 +87,15 @@
   return -(result + regularization);
 }
 
-void LogisticRegressionFunction::Gradient(const arma::mat& values,
-                                arma::mat& gradient)
+void LogisticRegressionFunction::Gradient(const arma::mat& parameters,
+                                          arma::mat& gradient)
 {
-  //regularization
-//  arma::mat regularization = arma::zeros<arma::mat>(predictors.n_rows, 1);
-//  regularization.rows(1, predictors.n_rows - 1) = lambda *
-//      values.rows(1, predictors.n_rows - 1) / responses.n_rows;
+  // Regularization term.
+  arma::mat regularization = arma::zeros<arma::mat>(predictors.n_rows, 1);
+  regularization.rows(1, predictors.n_rows - 1) = lambda *
+      parameters.col(0).subvec(1, predictors.n_rows - 1);
 
-  //gradient =
-//  gradient = -(predictors * (responses
-//      - (1 / (1 + arma::exp(-(arma::trans(predictors) * values))))
-//      / responses.n_rows + regularization;
+  gradient = -predictors * (responses
+      - (1 / (1 + arma::exp(-predictors.t() * parameters))))
+      - regularization;
 }



More information about the mlpack-svn mailing list