Public Member Functions | Protected Attributes

CDistribution Class Reference


Detailed Description

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.

Inheritance diagram for CDistribution:
Inheritance graph
[legend]

List of all members.

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 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 CFeaturesget_features ()
virtual void set_pseudo_count (float64_t pseudo)
virtual float64_t get_pseudo_count ()

Protected Attributes

CFeaturesfeatures
float64_t pseudo_count

Constructor & Destructor Documentation

CDistribution (  ) 

default constructor

Definition at line 16 of file Distribution.cpp.

~CDistribution (  )  [virtual]

Definition at line 22 of file Distribution.cpp.


Member Function Documentation

virtual float64_t get_derivative ( int32_t  num_param,
int32_t  num_example 
) [virtual]

get partial derivative of likelihood function

Parameters:
num_param partial derivative against which param
num_example which example
Returns:
derivative of likelihood function

Definition at line 130 of file Distribution.h.

virtual CFeatures* get_features (  )  [virtual]

get feature vectors

Returns:
feature vectors

Definition at line 161 of file Distribution.h.

virtual float64_t get_likelihood_example ( int32_t  num_example  )  [virtual]

compute likelihood for example

Parameters:
num_example which example
Returns:
likelihood for example

Definition at line 141 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

Parameters:
num_param derivative against which param
num_example which example
Returns:
derivative of likelihood (logarithmic)

Implemented in CGHMM, CHistogram, CHMM, and CLinearHMM.

void get_log_likelihood ( float64_t **  dst,
int32_t *  num 
) [virtual]

compute log likelihood for each example

Parameters:
dst where likelihood will be stored
num where number of likelihoods will be stored

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

Parameters:
num_example which example
Returns:
log likelihood for example

Implemented in CGHMM, CHistogram, CHMM, and CLinearHMM.

float64_t get_log_likelihood_sample (  )  [virtual]

compute log likelihood for whole sample

Returns:
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

Returns:
model parameter (logarithmic)

Implemented in CGHMM, CHistogram, CHMM, and CLinearHMM.

virtual float64_t get_model_parameter ( int32_t  num_param  )  [virtual]

get model parameter

Parameters:
num_param which param
Returns:
model parameter

Definition at line 119 of file Distribution.h.

virtual int32_t get_num_model_parameters (  )  [pure virtual]

get number of parameters in model

abstract base method

Returns:
number of parameters in model

Implemented in CGHMM, CHistogram, CHMM, and CLinearHMM.

int32_t get_num_relevant_model_parameters (  )  [virtual]

get number of parameters in model that are relevant, i.e. > ALMOST_NEG_INFTY

Returns:
number of relevant model parameters

Definition at line 50 of file Distribution.cpp.

virtual float64_t get_pseudo_count (  )  [virtual]

get pseudo count

Returns:
pseudo count

Definition at line 177 of file Distribution.h.

virtual void set_features ( CFeatures f  )  [virtual]

set feature vectors

Parameters:
f new feature vectors

Definition at line 150 of file Distribution.h.

virtual void set_pseudo_count ( float64_t  pseudo  )  [virtual]

set pseudo count

Parameters:
pseudo new pseudo count

Definition at line 171 of file Distribution.h.

virtual bool train ( CFeatures data = NULL  )  [pure virtual]

learn distribution

Parameters:
data training data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data)
Returns:
whether training was successful

Implemented in CGHMM, CHistogram, CHMM, and CLinearHMM.


Member Data Documentation

CFeatures* features [protected]

feature vectors

Definition at line 181 of file Distribution.h.

float64_t pseudo_count [protected]

pseudo count

Definition at line 183 of file Distribution.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation