mlpack  1.0.12
Public Member Functions | Private Member Functions | Private Attributes | List of all members
mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType > Class Template Reference

This class implements a simple perceptron (i.e., a single layer neural network). More...

Public Member Functions

 Perceptron (const MatType &data, const arma::Row< size_t > &labels, int iterations)
 Constructor - constructs the perceptron by building the weightVectors matrix, which is later used in Classification. More...
 
 Perceptron (const Perceptron<> &other, MatType &data, const arma::rowvec &D, const arma::Row< size_t > &labels)
 Alternate constructor which copies parameters from an already initiated perceptron. More...
 
void Classify (const MatType &test, arma::Row< size_t > &predictedLabels)
 Classification function. More...
 

Private Member Functions

void Train (const arma::rowvec &D)
 Training Function. More...
 

Private Attributes

arma::Row< size_t > classLabels
 Stores the class labels for the input data. More...
 
size_t iter
 To store the number of iterations. More...
 
arma::mat trainData
 Stores the training data to be used later on in UpdateWeights. More...
 
arma::mat weightVectors
 Stores the weight vectors for each of the input class labels. More...
 

Detailed Description

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
class mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >

This class implements a simple perceptron (i.e., a single layer neural network).

It converges if the supplied training dataset is linearly separable.

Template Parameters
LearnPolicyOptions of SimpleWeightUpdate and GradientDescent.
WeightInitializationPolicyOption of ZeroInitialization and RandomInitialization.

Definition at line 38 of file perceptron.hpp.

Constructor & Destructor Documentation

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::Perceptron ( const MatType &  data,
const arma::Row< size_t > &  labels,
int  iterations 
)

Constructor - constructs the perceptron by building the weightVectors matrix, which is later used in Classification.

It adds a bias input vector of 1 to the input data to take care of the bias weights.

Parameters
dataInput, training data.
labelsLabels of dataset.
iterationsMaximum number of iterations for the perceptron learning algorithm.
template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::Perceptron ( const Perceptron<> &  other,
MatType &  data,
const arma::rowvec &  D,
const arma::Row< size_t > &  labels 
)

Alternate constructor which copies parameters from an already initiated perceptron.

Parameters
otherThe other initiated Perceptron object from which we copy the values from.
dataThe data on which to train this Perceptron object on.
DWeight vector to use while training. For boosting purposes.
labelsThe labels of data.

Member Function Documentation

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
void mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::Classify ( const MatType &  test,
arma::Row< size_t > &  predictedLabels 
)

Classification function.

After training, use the weightVectors matrix to classify test, and put the predicted classes in predictedLabels.

Parameters
testTesting data or data to classify.
predictedLabelsVector to store the predicted classes after classifying test.
template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
void mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::Train ( const arma::rowvec &  D)
private

Training Function.

It trains on trainData using the cost matrix D

Parameters
DCost matrix. Stores the cost of mispredicting instances

Member Data Documentation

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
arma::Row<size_t> mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::classLabels
private

Stores the class labels for the input data.

Definition at line 80 of file perceptron.hpp.

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
size_t mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::iter
private

To store the number of iterations.

Definition at line 77 of file perceptron.hpp.

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
arma::mat mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::trainData
private

Stores the training data to be used later on in UpdateWeights.

Definition at line 86 of file perceptron.hpp.

template<typename LearnPolicy = SimpleWeightUpdate, typename WeightInitializationPolicy = ZeroInitialization, typename MatType = arma::mat>
arma::mat mlpack::perceptron::Perceptron< LearnPolicy, WeightInitializationPolicy, MatType >::weightVectors
private

Stores the weight vectors for each of the input class labels.

Definition at line 83 of file perceptron.hpp.


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