SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CLinearHMM Class Reference

Detailed Description

The class LinearHMM is for learning Higher Order Markov chains.

While learning the parameters ${\bf \theta}$ in

\begin{eqnarray*} P({\bf x}|{\bf \theta}^\pm)&=&P(x_1, \ldots, x_N|{\bf \theta}^\pm)\\ &=&P(x_1,\ldots,x_{d}|{\bf \theta}^\pm)\prod_{i=d+1}^N P(x_i|x_{i-1},\ldots,x_{i-d},{\bf \theta}^\pm) \end{eqnarray*}

are determined.

A more detailed description can be found in

Durbin et.al, Biological Sequence Analysis -Probabilistic Models of Proteins and Nucleic Acids, 1998

Definition at line 39 of file LinearHMM.h.

Inheritance diagram for CLinearHMM:
Inheritance graph
[legend]

Public Member Functions

 CLinearHMM ()
 CLinearHMM (CStringFeatures< uint16_t > *f)
 CLinearHMM (int32_t p_num_features, int32_t p_num_symbols)
virtual ~CLinearHMM ()
virtual bool train (CFeatures *data=NULL)
bool train (const int32_t *indizes, int32_t num_indizes, float64_t pseudo_count)
float64_t get_log_likelihood_example (uint16_t *vector, int32_t len)
float64_t get_likelihood_example (uint16_t *vector, int32_t len)
virtual float64_t get_log_likelihood_example (int32_t num_example)
virtual float64_t get_log_derivative (int32_t num_param, int32_t num_example)
virtual float64_t get_log_derivative_obsolete (uint16_t obs, int32_t pos)
virtual float64_t get_derivative_obsolete (uint16_t *vector, int32_t len, int32_t pos)
virtual int32_t get_sequence_length ()
virtual int32_t get_num_symbols ()
virtual int32_t get_num_model_parameters ()
virtual float64_t get_positional_log_parameter (uint16_t obs, int32_t position)
virtual float64_t get_log_model_parameter (int32_t num_param)
virtual SGVector< float64_tget_log_transition_probs ()
virtual bool set_log_transition_probs (SGVector< float64_t > probs)
virtual SGVector< float64_tget_transition_probs ()
virtual bool set_transition_probs (SGVector< float64_t > probs)
virtual const char * get_name () const
- Public Member Functions inherited from CDistribution
 CDistribution ()
virtual ~CDistribution ()
virtual int32_t get_num_relevant_model_parameters ()
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 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 Member Functions

virtual void load_serializable_post () throw (ShogunException)

Protected Attributes

int32_t sequence_length
int32_t num_symbols
int32_t num_params
float64_ttransition_probs
float64_tlog_transition_probs
- Protected Attributes inherited from CDistribution
CFeaturesfeatures
float64_t pseudo_count

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters

Constructor & Destructor Documentation

default constructor

Definition at line 22 of file LinearHMM.cpp.

CLinearHMM ( CStringFeatures< uint16_t > *  f)

constructor

Parameters
ffeatures to use

Definition at line 27 of file LinearHMM.cpp.

CLinearHMM ( int32_t  p_num_features,
int32_t  p_num_symbols 
)

constructor

Parameters
p_num_featuresnumber of features
p_num_symbolsnumber of symbols in features

Definition at line 38 of file LinearHMM.cpp.

~CLinearHMM ( )
virtual

Definition at line 48 of file LinearHMM.cpp.

Member Function Documentation

virtual float64_t get_derivative_obsolete ( uint16_t *  vector,
int32_t  len,
int32_t  pos 
)
virtual

obsolete get one example's derivative

Parameters
vectorvector
lenlength
posposition

Definition at line 131 of file LinearHMM.h.

float64_t get_likelihood_example ( uint16_t *  vector,
int32_t  len 
)

get one example's likelihood

Parameters
vectorthe example
lenlength of vector
Returns
likelihood

Definition at line 213 of file LinearHMM.cpp.

float64_t get_log_derivative ( int32_t  num_param,
int32_t  num_example 
)
virtual

get logarithm of one example's derivative's likelihood

Parameters
num_paramwhich example's param
num_examplewhich example
Returns
logarithm of example's derivative

Implements CDistribution.

Definition at line 223 of file LinearHMM.cpp.

virtual float64_t get_log_derivative_obsolete ( uint16_t  obs,
int32_t  pos 
)
virtual

obsolete get logarithm of one example's derivative's likelihood

Parameters
obsobservation
posposition

Definition at line 119 of file LinearHMM.h.

float64_t get_log_likelihood_example ( uint16_t *  vector,
int32_t  len 
)

get logarithm of one example's likelihood

Parameters
vectorthe example
lenlength of vector
Returns
logarithm of likelihood

Definition at line 186 of file LinearHMM.cpp.

float64_t get_log_likelihood_example ( int32_t  num_example)
virtual

get logarithm of one example's likelihood

Parameters
num_examplewhich example
Returns
logarithm of example's likelihood

Implements CDistribution.

Definition at line 196 of file LinearHMM.cpp.

virtual float64_t get_log_model_parameter ( int32_t  num_param)
virtual

get logarithm of given model parameter

Parameters
num_paramwhich param
Returns
logarithm of given model parameter

Implements CDistribution.

Definition at line 173 of file LinearHMM.h.

SGVector< float64_t > get_log_transition_probs ( )
virtual

get logarithm of all transition probs

Returns
logarithm of transition probs vector

Definition at line 266 of file LinearHMM.cpp.

virtual const char* get_name ( ) const
virtual
Returns
object name

Implements CSGObject.

Definition at line 208 of file LinearHMM.h.

virtual int32_t get_num_model_parameters ( )
virtual

get number of model parameters

Returns
number of model parameters

Implements CDistribution.

Definition at line 154 of file LinearHMM.h.

virtual int32_t get_num_symbols ( )
virtual

get number of symbols in examples

Returns
number of symbols in examples

Definition at line 148 of file LinearHMM.h.

virtual float64_t get_positional_log_parameter ( uint16_t  obs,
int32_t  position 
)
virtual

get positional log parameter

Parameters
obsobservation
positionposition
Returns
positional log parameter

Definition at line 162 of file LinearHMM.h.

virtual int32_t get_sequence_length ( )
virtual

get sequence length of each example

Returns
sequence length of each example

Definition at line 142 of file LinearHMM.h.

SGVector< float64_t > get_transition_probs ( )
virtual

get all transition probs

Returns
vector of transition probs

Definition at line 242 of file LinearHMM.cpp.

void load_serializable_post ( ) throw (ShogunException)
protectedvirtual

Can (optionally) be overridden to post-initialize some member variables which are not PARAMETER::ADD'ed. Make sure that at first the overridden method BASE_CLASS::LOAD_SERIALIZABLE_POST is called.

Exceptions
ShogunExceptionWill be thrown if an error occurres.

Reimplemented from CSGObject.

Definition at line 290 of file LinearHMM.cpp.

bool set_log_transition_probs ( SGVector< float64_t probs)
virtual

set logarithm of all transition probs

Parameters
probsnew logarithm transition probs
Returns
if setting was successful

Definition at line 271 of file LinearHMM.cpp.

bool set_transition_probs ( SGVector< float64_t probs)
virtual

set all transition probs

Parameters
probsnew transition probs
Returns
if setting was successful

Definition at line 247 of file LinearHMM.cpp.

bool train ( CFeatures data = NULL)
virtual

estimate LinearHMM 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

Implements CDistribution.

Definition at line 54 of file LinearHMM.cpp.

bool train ( const int32_t *  indizes,
int32_t  num_indizes,
float64_t  pseudo_count 
)

alternative train distribution

Parameters
indizesindices
num_indizesnumber of indices
pseudo_countpseudo count
Returns
if training was successful

Definition at line 123 of file LinearHMM.cpp.

Member Data Documentation

float64_t* log_transition_probs
protected

logarithm of transition probs

Definition at line 226 of file LinearHMM.h.

int32_t num_params
protected

number of parameters

Definition at line 222 of file LinearHMM.h.

int32_t num_symbols
protected

number of symbols in examples

Definition at line 220 of file LinearHMM.h.

int32_t sequence_length
protected

examples' sequence length

Definition at line 218 of file LinearHMM.h.

float64_t* transition_probs
protected

transition probs

Definition at line 224 of file LinearHMM.h.


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

SHOGUN Machine Learning Toolbox - Documentation