SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | 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]

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_tget_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 CFeaturesget_features ()
virtual void set_pseudo_count (float64_t pseudo)
virtual float64_t get_pseudo_count ()
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual const char * get_name () const =0
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

Protected Attributes

CFeaturesfeatures
float64_t pseudo_count

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Protected Member Functions inherited from CSGObject
virtual void load_serializable_pre () throw (ShogunException)
virtual void load_serializable_post () throw (ShogunException)
virtual void save_serializable_pre () throw (ShogunException)
virtual void save_serializable_post () throw (ShogunException)

Constructor & Destructor Documentation

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_parampartial derivative against which param
num_examplewhich example
Returns
derivative of likelihood function

Definition at line 129 of file Distribution.h.

virtual CFeatures* get_features ( )
virtual

get feature vectors

Returns
feature vectors

Definition at line 160 of file Distribution.h.

virtual float64_t get_likelihood_example ( int32_t  num_example)
virtual

compute likelihood for example

Parameters
num_examplewhich example
Returns
likelihood for 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

Parameters
num_paramderivative against which param
num_examplewhich example
Returns
derivative of likelihood (logarithmic)

Implemented in CHMM, CGMM, CLinearHMM, CGaussian, CHistogram, CGHMM, and CPositionalPWM.

SGVector< float64_t > get_log_likelihood ( )
virtual

compute log likelihood for each example

Returns
log likelihood vector

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_examplewhich example
Returns
log likelihood for example

Implemented in CHMM, CGMM, CLinearHMM, CGaussian, CHistogram, CPositionalPWM, and CGHMM.

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 CHMM, CLinearHMM, CGMM, CGaussian, CHistogram, CGHMM, and CPositionalPWM.

virtual float64_t get_model_parameter ( int32_t  num_param)
virtual

get model parameter

Parameters
num_paramwhich param
Returns
model parameter

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

Returns
number of parameters in model

Implemented in CHMM, CLinearHMM, CGMM, CGaussian, CHistogram, CGHMM, and CPositionalPWM.

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 176 of file Distribution.h.

virtual void set_features ( CFeatures f)
virtual

set feature vectors

Parameters
fnew feature vectors

Definition at line 149 of file Distribution.h.

virtual void set_pseudo_count ( float64_t  pseudo)
virtual

set pseudo count

Parameters
pseudonew pseudo count

Definition at line 170 of file Distribution.h.

virtual bool train ( CFeatures data = NULL)
pure virtual

learn distribution

Parameters
datatraining 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 CHMM, CGaussian, CLinearHMM, CGMM, CHistogram, CGHMM, and CPositionalPWM.

Member Data Documentation

CFeatures* features
protected

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.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation