Base class Distribution from which all methods implementing a distribution are derived.
Distributions are based on some general feature object and have to implement interfaces to
train() - for learning a distribution get_num_model_parameters() - for the total number of model parameters get_log_model_parameter() - for the n-th model parameter (logarithmic) get_log_derivative() - for the partial derivative wrt. to the n-th model parameter get_log_likelihood_example() - for the likelihood for the n-th example
This way methods building on CDistribution, might enumerate over all possible model parameters and obtain the parameter vector and the gradient. This is used to compute e.g. the TOP and Fisher Kernel (cf. CPluginEstimate, CHistogramKernel, CTOPFeatures and CFKFeatures ).
Definition at line 41 of file Distribution.h.
Public Member Functions | |
CDistribution () | |
virtual | ~CDistribution () |
virtual bool | train (CFeatures *data=NULL)=0 |
virtual int32_t | get_num_model_parameters ()=0 |
virtual int32_t | get_num_relevant_model_parameters () |
virtual float64_t | get_log_model_parameter (int32_t num_param)=0 |
virtual float64_t | get_log_derivative (int32_t num_param, int32_t num_example)=0 |
virtual float64_t | get_log_likelihood_example (int32_t num_example)=0 |
virtual float64_t | get_log_likelihood_sample () |
virtual SGVector< float64_t > | get_log_likelihood () |
virtual float64_t | get_model_parameter (int32_t num_param) |
virtual float64_t | get_derivative (int32_t num_param, int32_t num_example) |
virtual float64_t | get_likelihood_example (int32_t num_example) |
virtual void | set_features (CFeatures *f) |
virtual CFeatures * | get_features () |
virtual void | set_pseudo_count (float64_t pseudo) |
virtual float64_t | get_pseudo_count () |
Protected Attributes | |
CFeatures * | features |
float64_t | pseudo_count |
CDistribution | ( | ) |
default constructor
Definition at line 16 of file Distribution.cpp.
~CDistribution | ( | ) | [virtual] |
Definition at line 22 of file Distribution.cpp.
virtual float64_t get_derivative | ( | int32_t | num_param, | |
int32_t | num_example | |||
) | [virtual] |
get partial derivative of likelihood function
num_param | partial derivative against which param | |
num_example | which example |
Definition at line 129 of file Distribution.h.
virtual CFeatures* get_features | ( | ) | [virtual] |
virtual float64_t get_likelihood_example | ( | int32_t | num_example | ) | [virtual] |
compute likelihood for example
num_example | which example |
Reimplemented in CGMM.
Definition at line 140 of file Distribution.h.
virtual float64_t get_log_derivative | ( | int32_t | num_param, | |
int32_t | num_example | |||
) | [pure virtual] |
get partial derivative of likelihood function (logarithmic)
abstract base method
num_param | derivative against which param | |
num_example | which example |
Implemented in CGMM, CGaussian, CGHMM, CHistogram, CHMM, CLinearHMM, and CPositionalPWM.
compute log likelihood for each example
Definition at line 37 of file Distribution.cpp.
virtual float64_t get_log_likelihood_example | ( | int32_t | num_example | ) | [pure virtual] |
compute log likelihood for example
abstract base method
num_example | which example |
Implemented in CGMM, CGaussian, CGHMM, CHistogram, CHMM, CLinearHMM, and CPositionalPWM.
float64_t get_log_likelihood_sample | ( | ) | [virtual] |
compute log likelihood for whole sample
Definition at line 26 of file Distribution.cpp.
virtual float64_t get_log_model_parameter | ( | int32_t | num_param | ) | [pure virtual] |
get model parameter (logarithmic)
abstrac base method
Implemented in CGMM, CGaussian, CGHMM, CHistogram, CHMM, CLinearHMM, and CPositionalPWM.
virtual float64_t get_model_parameter | ( | int32_t | num_param | ) | [virtual] |
get model parameter
num_param | which param |
Definition at line 118 of file Distribution.h.
virtual int32_t get_num_model_parameters | ( | ) | [pure virtual] |
get number of parameters in model
abstract base method
Implemented in CGMM, CGaussian, CGHMM, CHistogram, CHMM, CLinearHMM, and CPositionalPWM.
int32_t get_num_relevant_model_parameters | ( | ) | [virtual] |
get number of parameters in model that are relevant, i.e. > ALMOST_NEG_INFTY
Definition at line 50 of file Distribution.cpp.
virtual float64_t get_pseudo_count | ( | ) | [virtual] |
virtual void set_features | ( | CFeatures * | f | ) | [virtual] |
set feature vectors
f | new feature vectors |
Definition at line 149 of file Distribution.h.
virtual void set_pseudo_count | ( | float64_t | pseudo | ) | [virtual] |
virtual bool train | ( | CFeatures * | data = NULL |
) | [pure virtual] |
learn distribution
data | training data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data) |
Implemented in CGMM, CGaussian, CGHMM, CHistogram, CHMM, CLinearHMM, and CPositionalPWM.
feature vectors
Definition at line 180 of file Distribution.h.
float64_t pseudo_count [protected] |
pseudo count
Definition at line 182 of file Distribution.h.