1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /**
- * @file FPCSMLR.h
- * @brief implementation of Sparse Multinomial Logistic Regression (SMLR) Classififier, it uses a SLR for each class and combines the results
- * @author Björn Fröhlich
- * @date 06/23/2009
- */
- #ifndef FPCSMLRDEF
- #define FPCSMLRDEF
- #include "core/vector/VectorT.h"
- #include "core/vector/MatrixT.h"
- #include "vislearning/classifier/classifierbase/FeaturePoolClassifier.h"
- #include "vislearning/classifier/fpclassifier/logisticregression/SLR.h"
- #include "vislearning/cbaselib/FeaturePool.h"
- #include "core/algebra/GMSparseVectorMatrix.h"
- namespace OBJREC {
- class FPCSMLR : public FeaturePoolClassifier
- {
- protected:
- //! the configuration file
- const NICE::Config *conf;
- //! section in the configfile
- std::string confsection;
-
- //! the featurepool
- FeaturePool fp;
-
- //! the one vs all sparse logistic classifiers
- std::vector<SLR> classifiers;
-
- //! just use the features from pictures, which the class contains
- bool inpic;
-
- public:
- /**
- * standard constructor
- * @param conf configfile
- * @param section section name in configfile for classifier
- */
- FPCSMLR( const NICE::Config *conf, std::string section="SMLR");
-
-
- /**
- * simple constructor -> does nothing
- */
- FPCSMLR ();
- /**
- * simple destructor
- */
- ~FPCSMLR();
- /**
- * main classification function
- * @param pce input feature
- * @return a classification result
- */
- ClassificationResult classify ( Example & pce );
- /**
- * start training
- * @param fp a featurepool (how to handle which features...)
- * @param examples input features
- */
- void train ( FeaturePool & _fp, Examples & examples );
- /**
- * clone this object
- * @return a copy of this object
- */
- FeaturePoolClassifier *clone () const;
- /**
- * set complexity for the next training process e.g. number of weak classifiers
- * @param size new complexity
- */
- void setComplexity ( int size );
- /** IO functions */
- void restore (std::istream & is, int format = 0);
- void store (std::ostream & os, int format = 0) const;
- void clear ();
- };
- } // namespace
- #endif
|