GestureRecognitionToolkit  Version: 0.2.0
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
RBMQuantizer.h
Go to the documentation of this file.
1 
37 #ifndef GRT_RBM_QUANTIZER_HEADER
38 #define GRT_RBM_QUANTIZER_HEADER
39 
40 //Include the main GRT header to get access to the FeatureExtraction base class
41 #include "../../CoreModules/FeatureExtraction.h"
42 #include "../../CoreAlgorithms/BernoulliRBM/BernoulliRBM.h"
43 #include "../../DataStructures/TimeSeriesClassificationData.h"
44 #include "../../DataStructures/ClassificationDataStream.h"
45 #include "../../DataStructures/UnlabelledData.h"
46 
47 GRT_BEGIN_NAMESPACE
48 
49 class GRT_API RBMQuantizer : public FeatureExtraction{
50 public:
56  RBMQuantizer(const UINT numClusters=10);
57 
63  RBMQuantizer(const RBMQuantizer &rhs);
64 
68  virtual ~RBMQuantizer();
69 
76  RBMQuantizer& operator=(const RBMQuantizer &rhs);
77 
86  virtual bool deepCopyFrom(const FeatureExtraction *featureExtraction);
87 
96  virtual bool computeFeatures(const VectorFloat &inputVector);
97 
104  virtual bool reset();
105 
111  virtual bool clear();
112 
121  virtual bool save( std::fstream &file ) const;
122 
130  virtual bool load( std::fstream &file );
131 
138  virtual bool train_(ClassificationData &trainingData);
139 
146  virtual bool train_(TimeSeriesClassificationData &trainingData);
147 
154  virtual bool train_(ClassificationDataStream &trainingData);
155 
162  virtual bool train_(UnlabelledData &trainingData);
163 
170  virtual bool train_(MatrixFloat &trainingData);
171 
178  UINT quantize(const Float inputValue);
179 
186  UINT quantize(const VectorFloat &inputVector);
187 
193  bool getQuantizerTrained() const;
194 
200  UINT getNumClusters() const;
201 
207  UINT getQuantizedValue() const;
208 
214  VectorFloat getQuantizationDistances() const;
215 
221  BernoulliRBM getBernoulliRBM() const;
222 
228  bool setNumClusters(const UINT numClusters);
229 
230  //Tell the compiler we are using the following functions from the MLBase class to stop hidden virtual function warnings
231  using MLBase::save;
232  using MLBase::load;
233  using MLBase::train;
234  using MLBase::train_;
235  using MLBase::predict;
236  using MLBase::predict_;
237 
238 protected:
239  UINT numClusters;
240  BernoulliRBM rbm;
241  VectorFloat quantizationDistances;
242 
244 };
245 
246 GRT_END_NAMESPACE
247 
248 #endif //GRT_RBM_QUANTIZER_HEADER
virtual bool predict(VectorFloat inputVector)
Definition: MLBase.cpp:113
virtual bool predict_(VectorFloat &inputVector)
Definition: MLBase.cpp:115
virtual bool train(ClassificationData trainingData)
Definition: MLBase.cpp:89
virtual bool save(const std::string filename) const
Definition: MLBase.cpp:143
virtual bool computeFeatures(const VectorFloat &inputVector)
virtual bool load(const std::string filename)
Definition: MLBase.cpp:167
virtual bool reset()
virtual bool train_(ClassificationData &trainingData)
Definition: MLBase.cpp:91
virtual bool deepCopyFrom(const FeatureExtraction *rhs)