![]() |
GestureRecognitionToolkit
Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
|
Public Member Functions | |
KMeans (const UINT numClusters=10, const UINT minNumEpochs=5, const UINT maxNumEpochs=1000, const double minChange=1.0e-5, const bool computeTheta=true) | |
KMeans (const KMeans &rhs) | |
virtual | ~KMeans () |
KMeans & | operator= (const KMeans &rhs) |
virtual bool | deepCopyFrom (const Clusterer *clusterer) |
virtual bool | reset () |
virtual bool | clear () |
bool | trainModel (MatrixDouble &data) |
virtual bool | train_ (MatrixDouble &data) |
virtual bool | train_ (ClassificationData &trainingData) |
virtual bool | train_ (UnlabelledData &trainingData) |
virtual bool | predict_ (VectorDouble &inputVector) |
virtual bool | saveModelToFile (fstream &file) const |
virtual bool | loadModelFromFile (fstream &file) |
double | getTheta () |
bool | getModelTrained () |
VectorDouble | getTrainingThetaLog () const |
MatrixDouble | getClusters () const |
vector< UINT > | getClassLabelsVector () const |
vector< UINT > | getClassCountVector () const |
bool | setComputeTheta (const bool computeTheta) |
bool | setClusters (const MatrixDouble &clusters) |
![]() | |
Clusterer (void) | |
virtual | ~Clusterer (void) |
bool | copyBaseVariables (const Clusterer *Clusterer) |
bool | getConverged () const |
UINT | getNumClusters () const |
UINT | getPredictedClusterLabel () const |
double | getMaximumLikelihood () const |
double | getBestDistance () const |
VectorDouble | getClusterLikelihoods () const |
VectorDouble | getClusterDistances () const |
vector< UINT > | getClusterLabels () const |
string | getClustererType () const |
bool | setNumClusters (const UINT numClusters) |
Clusterer * | createNewInstance () const |
Clusterer * | deepCopy () const |
const Clusterer & | getBaseClusterer () const |
![]() | |
MLBase (void) | |
virtual | ~MLBase (void) |
bool | copyMLBaseVariables (const MLBase *mlBase) |
virtual bool | train (ClassificationData trainingData) |
virtual bool | train (RegressionData trainingData) |
virtual bool | train_ (RegressionData &trainingData) |
virtual bool | train (TimeSeriesClassificationData trainingData) |
virtual bool | train_ (TimeSeriesClassificationData &trainingData) |
virtual bool | train (TimeSeriesClassificationDataStream trainingData) |
virtual bool | train_ (TimeSeriesClassificationDataStream &trainingData) |
virtual bool | train (UnlabelledData trainingData) |
virtual bool | train (MatrixDouble data) |
virtual bool | predict (VectorDouble inputVector) |
virtual bool | predict (MatrixDouble inputMatrix) |
virtual bool | predict_ (MatrixDouble &inputMatrix) |
virtual bool | map (VectorDouble inputVector) |
virtual bool | map_ (VectorDouble &inputVector) |
virtual bool | print () const |
virtual bool | save (const string filename) const |
virtual bool | load (const string filename) |
virtual bool | saveModelToFile (string filename) const |
virtual bool | loadModelFromFile (string filename) |
virtual bool | getModel (ostream &stream) const |
double | scale (const double &x, const double &minSource, const double &maxSource, const double &minTarget, const double &maxTarget, const bool constrain=false) |
virtual string | getModelAsString () const |
UINT | getBaseType () const |
UINT | getNumInputFeatures () const |
UINT | getNumInputDimensions () const |
UINT | getNumOutputDimensions () const |
UINT | getMinNumEpochs () const |
UINT | getMaxNumEpochs () const |
UINT | getValidationSetSize () const |
UINT | getNumTrainingIterationsToConverge () const |
double | getMinChange () const |
double | getLearningRate () const |
double | getRootMeanSquaredTrainingError () const |
double | getTotalSquaredTrainingError () const |
bool | getUseValidationSet () const |
bool | getRandomiseTrainingOrder () const |
bool | getTrained () const |
bool | getModelTrained () const |
bool | getScalingEnabled () const |
bool | getIsBaseTypeClassifier () const |
bool | getIsBaseTypeRegressifier () const |
bool | getIsBaseTypeClusterer () const |
bool | enableScaling (bool useScaling) |
bool | setMaxNumEpochs (const UINT maxNumEpochs) |
bool | setMinNumEpochs (const UINT minNumEpochs) |
bool | setMinChange (const double minChange) |
bool | setLearningRate (double learningRate) |
bool | setUseValidationSet (const bool useValidationSet) |
bool | setValidationSetSize (const UINT validationSetSize) |
bool | setRandomiseTrainingOrder (const bool randomiseTrainingOrder) |
bool | registerTrainingResultsObserver (Observer< TrainingResult > &observer) |
bool | registerTestResultsObserver (Observer< TestInstanceResult > &observer) |
bool | removeTrainingResultsObserver (const Observer< TrainingResult > &observer) |
bool | removeTestResultsObserver (const Observer< TestInstanceResult > &observer) |
bool | removeAllTrainingObservers () |
bool | removeAllTestObservers () |
bool | notifyTrainingResultsObservers (const TrainingResult &data) |
bool | notifyTestResultsObservers (const TestInstanceResult &data) |
MLBase * | getMLBasePointer () |
const MLBase * | getMLBasePointer () const |
vector< TrainingResult > | getTrainingResults () const |
![]() | |
GRTBase (void) | |
virtual | ~GRTBase (void) |
bool | copyGRTBaseVariables (const GRTBase *GRTBase) |
string | getClassType () const |
string | getLastWarningMessage () const |
string | getLastErrorMessage () const |
string | getLastInfoMessage () const |
GRTBase * | getGRTBasePointer () |
const GRTBase * | getGRTBasePointer () const |
![]() | |
virtual void | notify (const TrainingResult &data) |
![]() | |
virtual void | notify (const TestInstanceResult &data) |
Protected Member Functions | |
UINT | estep (const MatrixDouble &data) |
void | mstep (const MatrixDouble &data) |
double | calculateTheta (const MatrixDouble &data) |
double | SQR (const double a) |
![]() | |
bool | saveClustererSettingsToFile (fstream &file) const |
bool | loadClustererSettingsFromFile (fstream &file) |
![]() | |
bool | saveBaseSettingsToFile (fstream &file) const |
bool | loadBaseSettingsFromFile (fstream &file) |
![]() | |
double | SQR (const double &x) const |
Protected Attributes | |
bool | computeTheta |
UINT | numTrainingSamples |
Number of training examples. | |
UINT | nchg |
Number of values changes. | |
double | finalTheta |
MatrixDouble | clusters |
vector< UINT > | assign |
vector< UINT > | count |
VectorDouble | thetaTracker |
![]() | |
string | clustererType |
UINT | numClusters |
Number of clusters in the model. | |
UINT | predictedClusterLabel |
Stores the predicted cluster label from the most recent predict( ) | |
double | maxLikelihood |
double | bestDistance |
VectorDouble | clusterLikelihoods |
VectorDouble | clusterDistances |
vector< UINT > | clusterLabels |
bool | converged |
vector< MinMax > | ranges |
![]() | |
bool | trained |
bool | useScaling |
UINT | baseType |
UINT | numInputDimensions |
UINT | numOutputDimensions |
UINT | numTrainingIterationsToConverge |
UINT | minNumEpochs |
UINT | maxNumEpochs |
UINT | validationSetSize |
double | learningRate |
double | minChange |
double | rootMeanSquaredTrainingError |
double | totalSquaredTrainingError |
bool | useValidationSet |
bool | randomiseTrainingOrder |
Random | random |
vector< TrainingResult > | trainingResults |
TrainingResultsObserverManager | trainingResultsObserverManager |
TestResultsObserverManager | testResultsObserverManager |
![]() | |
string | classType |
DebugLog | debugLog |
ErrorLog | errorLog |
InfoLog | infoLog |
TrainingLog | trainingLog |
TestingLog | testingLog |
WarningLog | warningLog |
Additional Inherited Members | |
![]() | |
typedef std::map< string, Clusterer *(*)() > | StringClustererMap |
![]() | |
enum | BaseTypes { BASE_TYPE_NOT_SET =0, CLASSIFIER, REGRESSIFIER, CLUSTERER } |
![]() | |
static Clusterer * | createInstanceFromString (string const &ClustererType) |
static vector< string > | getRegisteredClusterers () |
![]() | |
static string | getGRTVersion (bool returnRevision=true) |
static string | getGRTRevison () |
![]() | |
static StringClustererMap * | getMap () |
GRT::KMeans::KMeans | ( | const UINT | numClusters = 10 , |
const UINT | minNumEpochs = 5 , |
||
const UINT | maxNumEpochs = 1000 , |
||
const double | minChange = 1.0e-5 , |
||
const bool | computeTheta = true |
||
) |
Default Constructor.
Definition at line 29 of file KMeans.cpp.
GRT::KMeans::KMeans | ( | const KMeans & | rhs | ) |
|
virtual |
Default Destructor
Definition at line 77 of file KMeans.cpp.
|
virtual |
This function clears the Clusterer module, removing any trained model and setting all the base variables to their default values.
Reimplemented from GRT::Clusterer.
Definition at line 498 of file KMeans.cpp.
|
virtual |
This deep copies the variables and models from the Clusterer pointer to this KMeans instance. This overrides the base deep copy function for the Clusterer modules.
const | Clusterer *clusterer: a pointer to the Clusterer base class, this should be pointing to another KMeans instance |
Reimplemented from GRT::Clusterer.
Definition at line 100 of file KMeans.cpp.
|
virtual |
This loads a trained KMeans model from a file. This overrides the loadModelFromFile function in the base class.
fstream | &file: a reference to the file the KMeans model will be loaded from |
Reimplemented from GRT::MLBase.
Definition at line 444 of file KMeans.cpp.
|
virtual |
This is the main prediction interface for all reference VectorDouble data. It overrides the predict_ function in the ML base class.
VectorDouble | &inputVector: a reference to the input vector for prediction |
Reimplemented from GRT::MLBase.
Definition at line 199 of file KMeans.cpp.
|
virtual |
This resets the Clusterer. This overrides the reset function in the MLBase base class.
Reimplemented from GRT::Clusterer.
Definition at line 485 of file KMeans.cpp.
|
virtual |
This saves the trained KMeans model to a file. This overrides the saveModelToFile function in the base class.
fstream | &file: a reference to the file the KMeans model will be saved to |
Reimplemented from GRT::MLBase.
Definition at line 416 of file KMeans.cpp.
bool GRT::KMeans::setClusters | ( | const MatrixDouble & | clusters | ) |
This function lets you set the models clusters. You can use this to initalize the cluster values for the training algorithm. If you do that, then you should call the trainModel to run the training algorithm so the cluster values do not get reset.
const | MatrixDouble &clusters: the initial cluster values that will be used to train the KMeans model |
Definition at line 517 of file KMeans.cpp.
|
virtual |
This is the main training interface for referenced MatrixDouble data. It overrides the train_ function in the ML base class.
MatrixDouble | &trainingData: a reference to the training data that will be used to train the ML model |
Reimplemented from GRT::Clusterer.
Definition at line 162 of file KMeans.cpp.
|
virtual |
This is the main training interface for reference ClassificationData data. It overrides the train_ function in the ML base class.
ClassificationData | &trainingData: a reference to the training data that will be used to train the ML model |
Reimplemented from GRT::Clusterer.
Definition at line 123 of file KMeans.cpp.
|
virtual |
This is the main training interface for reference UnlabelledData data. It overrides the train_ function in the ML base class.
UnlabelledData | &trainingData: a reference to the training data that will be used to train the ML model |
Reimplemented from GRT::Clusterer.
Definition at line 147 of file KMeans.cpp.
bool GRT::KMeans::trainModel | ( | MatrixDouble & | data | ) |
This is the main training algorithm for training a KMeans model. You should only call this function if you have manually set the clusters, otherwise you should use any of the train or train_ in functions.
MatrixDouble | &trainingData: the training data that will be used to train the ML model |
Definition at line 258 of file KMeans.cpp.