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]

List of all members.

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

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

Constructor & Destructor Documentation

CLinearHMM (  ) 

default constructor

Definition at line 22 of file LinearHMM.cpp.

CLinearHMM ( CStringFeatures< uint16_t > *  f  ) 

constructor

Parameters:
f features 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_features number of features
p_num_symbols number 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:
vector vector
len length
pos position

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:
vector the example
len length 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_param which example's param
num_example which 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:
obs observation
pos position

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:
vector the example
len length 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_example which 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_param which 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 ( void   )  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:
obs observation
position position
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 ( void   )  throw (ShogunException) [protected, virtual]

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:
ShogunException Will 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:
probs new 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:
probs new 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:
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

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:
indizes indices
num_indizes number of indices
pseudo_count pseudo count
Returns:
if training was successful

Definition at line 123 of file LinearHMM.cpp.


Member Data Documentation

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.

transition probs

Definition at line 224 of file LinearHMM.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