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 37 of file Distribution.h.
Public Member Functions | |
CDistribution () | |
virtual | ~CDistribution () |
virtual bool | train ()=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 void | get_log_likelihood (float64_t **dst, int32_t *num) |
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::CDistribution | ( | ) |
default constructor
Definition at line 14 of file Distribution.cpp.
CDistribution::~CDistribution | ( | ) | [virtual] |
Definition at line 20 of file Distribution.cpp.
virtual float64_t CDistribution::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 124 of file Distribution.h.
virtual CFeatures* CDistribution::get_features | ( | ) | [virtual] |
virtual float64_t CDistribution::get_likelihood_example | ( | int32_t | num_example | ) | [virtual] |
compute likelihood for example
num_example | which example |
Definition at line 135 of file Distribution.h.
virtual float64_t CDistribution::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 CHistogram, CGHMM, CHMM, and CLinearHMM.
void CDistribution::get_log_likelihood | ( | float64_t ** | dst, | |
int32_t * | num | |||
) | [virtual] |
compute log likelihood for each example
dst | where likelihood will be stored | |
num | where number of likelihoods will be stored |
Definition at line 35 of file Distribution.cpp.
virtual float64_t CDistribution::get_log_likelihood_example | ( | int32_t | num_example | ) | [pure virtual] |
compute log likelihood for example
abstract base method
num_example | which example |
Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.
float64_t CDistribution::get_log_likelihood_sample | ( | ) | [virtual] |
compute log likelihood for whole sample
Definition at line 24 of file Distribution.cpp.
virtual float64_t CDistribution::get_log_model_parameter | ( | int32_t | num_param | ) | [pure virtual] |
get model parameter (logarithmic)
abstrac base method
Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.
virtual float64_t CDistribution::get_model_parameter | ( | int32_t | num_param | ) | [virtual] |
get model parameter
num_param | which param |
Definition at line 113 of file Distribution.h.
virtual int32_t CDistribution::get_num_model_parameters | ( | ) | [pure virtual] |
get number of parameters in model
abstract base method
Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.
int32_t CDistribution::get_num_relevant_model_parameters | ( | ) | [virtual] |
get number of parameters in model that are relevant, i.e. > ALMOST_NEG_INFTY
Definition at line 48 of file Distribution.cpp.
virtual float64_t CDistribution::get_pseudo_count | ( | ) | [virtual] |
virtual void CDistribution::set_features | ( | CFeatures * | f | ) | [virtual] |
set feature vectors
f | new feature vectors |
Definition at line 144 of file Distribution.h.
virtual void CDistribution::set_pseudo_count | ( | float64_t | pseudo | ) | [virtual] |
virtual bool CDistribution::train | ( | ) | [pure virtual] |
train distribution
abstrace base method
Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.
CFeatures* CDistribution::features [protected] |
feature vectors
Definition at line 166 of file Distribution.h.
float64_t CDistribution::pseudo_count [protected] |
pseudo count
Definition at line 168 of file Distribution.h.