CDistribution Class Reference

Inheritance diagram for CDistribution:

Inheritance graph
[legend]

List of all members.

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

Protected Attributes

CFeaturesfeatures
float64_t pseudo_count


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


Constructor & Destructor Documentation

CDistribution::CDistribution (  ) 

default constructor

Definition at line 14 of file Distribution.cpp.

CDistribution::~CDistribution (  )  [virtual]

Definition at line 20 of file Distribution.cpp.


Member Function Documentation

virtual float64_t CDistribution::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 124 of file Distribution.h.

virtual CFeatures* CDistribution::get_features (  )  [virtual]

get feature vectors

Returns:
feature vectors

Definition at line 150 of file Distribution.h.

virtual float64_t CDistribution::get_likelihood_example ( int32_t  num_example  )  [virtual]

compute likelihood for example

Parameters:
num_example which example
Returns:
likelihood for 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

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

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

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

Parameters:
num_example which example
Returns:
log likelihood for example

Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.

float64_t CDistribution::get_log_likelihood_sample (  )  [virtual]

compute log likelihood for whole sample

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

Returns:
model parameter (logarithmic)

Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.

virtual float64_t CDistribution::get_model_parameter ( int32_t  num_param  )  [virtual]

get model parameter

Parameters:
num_param which param
Returns:
model parameter

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

Returns:
number of parameters in model

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

Returns:
number of relevant model parameters

Definition at line 48 of file Distribution.cpp.

virtual float64_t CDistribution::get_pseudo_count (  )  [virtual]

get pseudo count

Returns:
pseudo count

Definition at line 162 of file Distribution.h.

virtual void CDistribution::set_features ( CFeatures f  )  [virtual]

set feature vectors

Parameters:
f new feature vectors

Definition at line 144 of file Distribution.h.

virtual void CDistribution::set_pseudo_count ( float64_t  pseudo  )  [virtual]

set pseudo count

Parameters:
pseudo new pseudo count

Definition at line 156 of file Distribution.h.

virtual bool CDistribution::train (  )  [pure virtual]

train distribution

abstrace base method

Returns:
if training was successful

Implemented in CHistogram, CGHMM, CHMM, and CLinearHMM.


Member Data Documentation

feature vectors

Definition at line 166 of file Distribution.h.

pseudo count

Definition at line 168 of file Distribution.h.


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

SHOGUN Machine Learning Toolbox - Documentation