/** * @file VCLogisticRegression.h * @brief Simple Gaussian Classifier * @author Erik Rodner * @date 12/05/2007 */ #ifndef VCLogisticRegressionINCLUDE #define VCLogisticRegressionINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "vislearning/classifier/classifierbase/VecClassifier.h" namespace OBJREC { /** Simple Gaussian Classifier */ class VCLogisticRegression : public VecClassifier { protected: /** setting, whether to use ML-estimation or MAP-estimation */ bool mlestimation; /** parameters of the sigmoid function 1.0 / (1.0 + exp(A*x + B) ) */ double sigmoidA; double sigmoidB; public: /** simple constructor using config values */ VCLogisticRegression( const NICE::Config *conf); /** simple constructor */ VCLogisticRegression(); /** simple destructor */ virtual ~VCLogisticRegression(); /** classify using simple vector */ ClassificationResult classify ( const NICE::Vector & x ) const; /** classify using a simple vector */ void teach ( const LabeledSetVector & teachSet ); void finishTeaching() {}; /** clone this object */ virtual VCLogisticRegression *clone(void) const; void clear (); void store ( std::ostream & os, int format = 0 ) const; void restore ( std::istream & is, int format = 0 ); }; } // namespace #endif