14 #ifndef __MLPACK_METHODS_SOFTMAX_REGRESSION_SOFTMAX_REGRESSION_HPP 15 #define __MLPACK_METHODS_SOFTMAX_REGRESSION_SOFTMAX_REGRESSION_HPP 23 namespace regression {
97 const arma::Row<size_t>& labels,
98 const size_t numClasses,
99 const double lambda = 0.0001,
121 void Predict(
const arma::mat& testData, arma::Row<size_t>& predictions)
const;
131 double ComputeAccuracy(
const arma::mat& testData,
const arma::Row<size_t>& labels);
141 double Train(OptimizerType<SoftmaxRegressionFunction>& optimizer);
150 double Train(
const arma::mat &data,
const arma::Row<size_t>& labels,
151 const size_t numClasses);
179 template<
typename Archive>
185 ar &
CreateNVP(numClasses,
"numClasses");
205 #include "softmax_regression_impl.hpp" size_t NumClasses() const
Gets the number of classes.
double & Lambda()
Sets the regularization parameter.
Linear algebra utility functions, generally performed on matrices or vectors.
FirstShim< T > CreateNVP(T &t, const std::string &name, typename boost::enable_if< HasSerialize< T >>::type *=0)
Call this function to produce a name-value pair; this is similar to BOOST_SERIALIZATION_NVP(), but should be used for types that have a Serialize() function (or contain a type that has a Serialize() function) instead of a serialize() function.
const arma::mat & Parameters() const
Get the model parameters.
void Predict(const arma::mat &testData, arma::Row< size_t > &predictions) const
Predict the class labels for the provided feature points.
arma::mat & Parameters()
Get the model parameters.
size_t numClasses
Number of classes.
double ComputeAccuracy(const arma::mat &testData, const arma::Row< size_t > &labels)
Computes accuracy of the learned model given the feature data and the labels associated with each dat...
double Train(OptimizerType< SoftmaxRegressionFunction > &optimizer)
Train the softmax regression model with the given optimizer.
Softmax Regression is a classifier which can be used for classification when the data available can t...
size_t & NumClasses()
Sets the number of classes.
bool fitIntercept
Intercept term flag.
double Lambda() const
Gets the regularization parameter.
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
size_t FeatureSize() const
Gets the features size of the training data.
SoftmaxRegression(const size_t inputSize, const size_t numClasses, const bool fitIntercept=false)
Initialize the SoftmaxRegression without performing training.
void Serialize(Archive &ar, const unsigned int)
Serialize the SoftmaxRegression model.
double lambda
L2-regularization constant.
arma::mat parameters
Parameters after optimization.
bool FitIntercept() const
Gets the intercept term flag. We can't change this after training.
The generic L-BFGS optimizer, which uses a back-tracking line search algorithm to minimize a function...