The class LinearHMM is for learning Higher Order Markov chains.
While learning the parameters in
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.
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_t > | get_log_transition_probs () |
virtual bool | set_log_transition_probs (SGVector< float64_t > probs) |
virtual SGVector< float64_t > | get_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_t * | transition_probs |
float64_t * | log_transition_probs |
CLinearHMM | ( | ) |
default constructor
Definition at line 22 of file LinearHMM.cpp.
CLinearHMM | ( | CStringFeatures< uint16_t > * | f | ) |
CLinearHMM | ( | int32_t | p_num_features, | |
int32_t | p_num_symbols | |||
) |
constructor
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.
virtual float64_t get_derivative_obsolete | ( | uint16_t * | vector, | |
int32_t | len, | |||
int32_t | pos | |||
) | [virtual] |
obsolete get one example's derivative
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
vector | the example | |
len | length of vector |
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
num_param | which example's param | |
num_example | which example |
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
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
vector | the example | |
len | length of vector |
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
num_example | which example |
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
num_param | which param |
Implements CDistribution.
Definition at line 173 of file LinearHMM.h.
get logarithm of all transition probs
Definition at line 266 of file LinearHMM.cpp.
virtual const char* get_name | ( | void | ) | const [virtual] |
virtual int32_t get_num_model_parameters | ( | ) | [virtual] |
get 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
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
obs | observation | |
position | position |
Definition at line 162 of file LinearHMM.h.
virtual int32_t get_sequence_length | ( | ) | [virtual] |
get sequence length of each example
Definition at line 142 of file LinearHMM.h.
get all 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.
ShogunException | Will be thrown if an error occurres. |
Reimplemented from CSGObject.
Definition at line 290 of file LinearHMM.cpp.
set logarithm of all transition probs
probs | new logarithm transition probs |
Definition at line 271 of file LinearHMM.cpp.
set all transition probs
probs | new transition probs |
Definition at line 247 of file LinearHMM.cpp.
bool train | ( | CFeatures * | data = NULL |
) | [virtual] |
estimate LinearHMM distribution
data | training data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data) |
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
indizes | indices | |
num_indizes | number of indices | |
pseudo_count | pseudo count |
Definition at line 123 of file LinearHMM.cpp.
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.