mlpack::regression::LogisticRegressionFunction Class Reference

The log-likelihood function for the logistic regression objective function. More...

List of all members.

Public Member Functions

 LogisticRegressionFunction (const arma::mat &predictors, const arma::vec &responses, const arma::mat &initialPoint, const double lambda=0)
 LogisticRegressionFunction (const arma::mat &predictors, const arma::vec &responses, const double lambda=0)
double Evaluate (const arma::mat &parameters, const size_t i) const
 Evaluate the logistic regression log-likelihood function with the given parameters, but using only one data point.
double Evaluate (const arma::mat &parameters) const
 Evaluate the logistic regression log-likelihood function with the given parameters.
const arma::mat & GetInitialPoint () const
 Return the initial point for the optimization.
void Gradient (const arma::mat &parameters, const size_t i, arma::mat &gradient) const
 Evaluate the gradient of the logistic regression log-likelihood function with the given parameters, and with respect to only one point in the dataset.
void Gradient (const arma::mat &parameters, arma::mat &gradient) const
 Evaluate the gradient of the logistic regression log-likelihood function with the given parameters.
arma::mat & InitialPoint ()
 Modify the initial point for the optimization.
const arma::mat & InitialPoint () const
 Return the initial point for the optimization.
double & Lambda ()
 Modify the regularization parameter (lambda).
const double & Lambda () const
 Return the regularization parameter (lambda).
size_t NumFunctions () const
 Return the number of separable functions (the number of predictor points).
const arma::mat & Predictors () const
 Return the matrix of predictors.
const arma::vec & Responses () const
 Return the vector of responses.

Private Attributes

arma::mat initialPoint
 The initial point, from which to start the optimization.
double lambda
 The regularization parameter for L2-regularization.
const arma::mat & predictors
 The matrix of data points (predictors).
const arma::vec & responses
 The vector of responses to the input data points.

Detailed Description

The log-likelihood function for the logistic regression objective function.

This is used by various mlpack optimizers to train a logistic regression model.

Definition at line 37 of file logistic_regression_function.hpp.


Constructor & Destructor Documentation

mlpack::regression::LogisticRegressionFunction::LogisticRegressionFunction ( const arma::mat &  predictors,
const arma::vec &  responses,
const double  lambda = 0 
)
mlpack::regression::LogisticRegressionFunction::LogisticRegressionFunction ( const arma::mat &  predictors,
const arma::vec &  responses,
const arma::mat &  initialPoint,
const double  lambda = 0 
)

Member Function Documentation

double mlpack::regression::LogisticRegressionFunction::Evaluate ( const arma::mat &  parameters,
const size_t  i 
) const

Evaluate the logistic regression log-likelihood function with the given parameters, but using only one data point.

This is useful for optimizers such as SGD, which require a separable objective function. Note that if the point has 0 probability of being classified correctly with the given parameters, then Evaluate() will return nan (this is kind of a corner case and should not happen for reasonable models).

The optimum (minimum) of this function is 0.0, and occurs when the point is classified correctly with very high probability.

Parameters:
parameters Vector of logistic regression parameters.
i Index of point to use for objective function evaluation.
double mlpack::regression::LogisticRegressionFunction::Evaluate ( const arma::mat &  parameters  )  const

Evaluate the logistic regression log-likelihood function with the given parameters.

Note that if a point has 0 probability of being classified directly with the given parameters, then Evaluate() will return nan (this is kind of a corner case and should not happen for reasonable models).

The optimum (minimum) of this function is 0.0, and occurs when each point is classified correctly with very high probability.

Parameters:
parameters Vector of logistic regression parameters.
const arma::mat& mlpack::regression::LogisticRegressionFunction::GetInitialPoint (  )  const [inline]

Return the initial point for the optimization.

Definition at line 117 of file logistic_regression_function.hpp.

void mlpack::regression::LogisticRegressionFunction::Gradient ( const arma::mat &  parameters,
const size_t  i,
arma::mat &  gradient 
) const

Evaluate the gradient of the logistic regression log-likelihood function with the given parameters, and with respect to only one point in the dataset.

This is useful for optimizers such as SGD, which require a separable objective function.

Parameters:
parameters Vector of logistic regression parameters.
i Index of points to use for objective function gradient evaluation.
gradient Vector to output gradient into.
void mlpack::regression::LogisticRegressionFunction::Gradient ( const arma::mat &  parameters,
arma::mat &  gradient 
) const

Evaluate the gradient of the logistic regression log-likelihood function with the given parameters.

Parameters:
parameters Vector of logistic regression parameters.
gradient Vector to output gradient into.
arma::mat& mlpack::regression::LogisticRegressionFunction::InitialPoint (  )  [inline]

Modify the initial point for the optimization.

Definition at line 52 of file logistic_regression_function.hpp.

const arma::mat& mlpack::regression::LogisticRegressionFunction::InitialPoint (  )  const [inline]

Return the initial point for the optimization.

Definition at line 50 of file logistic_regression_function.hpp.

double& mlpack::regression::LogisticRegressionFunction::Lambda (  )  [inline]

Modify the regularization parameter (lambda).

Definition at line 57 of file logistic_regression_function.hpp.

References lambda.

const double& mlpack::regression::LogisticRegressionFunction::Lambda (  )  const [inline]

Return the regularization parameter (lambda).

Definition at line 55 of file logistic_regression_function.hpp.

References lambda.

size_t mlpack::regression::LogisticRegressionFunction::NumFunctions (  )  const [inline]

Return the number of separable functions (the number of predictor points).

Definition at line 120 of file logistic_regression_function.hpp.

const arma::mat& mlpack::regression::LogisticRegressionFunction::Predictors (  )  const [inline]

Return the matrix of predictors.

Definition at line 60 of file logistic_regression_function.hpp.

const arma::vec& mlpack::regression::LogisticRegressionFunction::Responses (  )  const [inline]

Return the vector of responses.

Definition at line 62 of file logistic_regression_function.hpp.


Member Data Documentation

The initial point, from which to start the optimization.

Definition at line 124 of file logistic_regression_function.hpp.

The regularization parameter for L2-regularization.

Definition at line 130 of file logistic_regression_function.hpp.

Referenced by Lambda().

The matrix of data points (predictors).

Definition at line 126 of file logistic_regression_function.hpp.

The vector of responses to the input data points.

Definition at line 128 of file logistic_regression_function.hpp.


The documentation for this class was generated from the following file:

Generated on 13 Aug 2014 for MLPACK by  doxygen 1.6.1