12 #ifndef MLPACK_METHODS_PERCEPTRON_PERCEPTRON_HPP    13 #define MLPACK_METHODS_PERCEPTRON_PERCEPTRON_HPP    22 namespace perceptron {
    33 template<
typename LearnPolicy = SimpleWeightUpdate,
    34          typename WeightInitializationPolicy = ZeroInitialization,
    35          typename MatType = arma::mat>
    50              const size_t dimensionality = 0,
    51              const size_t maxIterations = 1000);
    67              const arma::Row<size_t>& labels,
    68              const size_t numClasses,
    69              const size_t maxIterations = 1000);
    85              const arma::Row<size_t>& labels,
    86              const size_t numClasses,
    87              const arma::rowvec& instanceWeights);
   104   void Train(
const MatType& data,
   105              const arma::Row<size_t>& labels,
   106              const size_t numClasses,
   107              const arma::rowvec& instanceWeights = arma::rowvec());
   117   void Classify(
const MatType& test, arma::Row<size_t>& predictedLabels);
   122   template<
typename Archive>
   123   void serialize(Archive& ar, 
const uint32_t );
   134   const arma::mat& 
Weights()
 const { 
return weights; }
   139   const arma::vec& 
Biases()
 const { 
return biases; }
   145   size_t maxIterations;
   162 #include "perceptron_impl.hpp" arma::vec & Biases()
Modify the biases. You had better know what you are doing! 
 
Linear algebra utility functions, generally performed on matrices or vectors. 
 
The core includes that mlpack expects; standard C++ includes and Armadillo. 
 
const arma::vec & Biases() const
Get the biases. 
 
void serialize(Archive &ar, const uint32_t)
Serialize the perceptron. 
 
size_t NumClasses() const
Get the number of classes this perceptron has been trained for. 
 
void Train(const MatType &data, const arma::Row< size_t > &labels, const size_t numClasses, const arma::rowvec &instanceWeights=arma::rowvec())
Train the perceptron on the given data for up to the maximum number of iterations (specified in the c...
 
Perceptron(const size_t numClasses=0, const size_t dimensionality=0, const size_t maxIterations=1000)
Constructor: create the perceptron with the given number of classes and initialize the weight matrix...
 
size_t & MaxIterations()
Modify the maximum number of iterations. 
 
const arma::mat & Weights() const
Get the weight matrix. 
 
void Classify(const MatType &test, arma::Row< size_t > &predictedLabels)
Classification function. 
 
arma::mat & Weights()
Modify the weight matrix. You had better know what you are doing! 
 
size_t MaxIterations() const
Get the maximum number of iterations. 
 
This class implements a simple perceptron (i.e., a single layer neural network).