61 SG_ERROR(
"Expected features of class string type word!\n")
67 int32_t* int_transition_probs=SG_MALLOC(int32_t,
num_params);
73 int_transition_probs[i]=0;
81 get_feature_vector(vec, len, free_vec);
84 for (int32_t feat=0; feat<len ; feat++)
85 int_transition_probs[feat*
num_symbols+vector[feat]]++;
88 free_feature_vector(vector, vec, free_vec);
100 int32_t offs=i*num_symbols+
102 get_masked_symbols((uint16_t)j,(uint8_t) 254);
103 int32_t original_num_symbols=(int32_t)
105 get_original_num_symbols();
107 for (int32_t k=0; k<original_num_symbols; k++)
108 sum+=int_transition_probs[offs+k];
119 SG_FREE(int_transition_probs);
124 const int32_t* indizes, int32_t num_indizes,
float64_t pseudo)
128 int32_t* int_transition_probs=SG_MALLOC(int32_t,
num_params);
133 int_transition_probs[i]=0;
135 for (vec=0; vec<num_indizes; vec++)
144 get_feature_vector(indizes[vec], len, free_vec);
146 free_feature_vector(vector, indizes[vec], free_vec);
150 for (int32_t feat=0; feat<len ; feat++)
151 int_transition_probs[feat*
num_symbols+vector[feat]]++;
163 int32_t original_num_symbols=(int32_t)
165 get_original_num_symbols();
166 for (int32_t k=0; k<original_num_symbols; k++)
168 sum+=int_transition_probs[i*num_symbols+
170 get_masked_symbols((uint16_t)j,(uint8_t) 254)+k];
174 (int_transition_probs[i*num_symbols+j]+pseudo)/
176 get_original_num_symbols()*pseudo);
182 SG_FREE(int_transition_probs);
190 for (int32_t i=1; i<len; i++)
201 get_feature_vector(num_example, len, free_vec);
205 free_feature_vector(vector, num_example, free_vec);
214 for (int32_t i=1; i<len; i++)
225 get_feature_vector(num_example, len, free_vec);
230 free_feature_vector(vector, num_example, free_vec);
240 get_feature_vector(num_example, len, free_vec);
243 ASSERT(position>=0 && position<len)
244 uint16_t sym=(uint16_t) (num_param-position*
num_symbols);
249 free_feature_vector(vector, num_example, free_vec);
309 void CLinearHMM::init()
318 "transition_probs",
"Transition probabilities.");
320 "log_transition_probs",
"Transition probabilities (logspace).");
virtual void set_features(CFeatures *f)
Class ShogunException defines an exception which is thrown whenever an error inside of shogun occurs...
float64_t * transition_probs
virtual int32_t get_num_vectors() const =0
virtual float64_t get_log_derivative(int32_t num_param, int32_t num_example)
Base class Distribution from which all methods implementing a distribution are derived.
float64_t get_log_likelihood_example(uint16_t *vector, int32_t len)
floatmax_t get_num_symbols()
virtual SGVector< float64_t > get_transition_probs()
virtual bool set_log_transition_probs(const SGVector< float64_t > probs)
virtual EFeatureClass get_feature_class() const =0
virtual void load_serializable_post()
all of classes and functions are contained in the shogun namespace
virtual bool set_transition_probs(const SGVector< float64_t > probs)
The class Features is the base class of all feature objects.
virtual bool train(CFeatures *data=NULL)
float64_t * log_transition_probs
virtual SGVector< float64_t > get_log_transition_probs()
void add_matrix(bool **param, index_t *length_y, index_t *length_x, const char *name, const char *description="")
virtual EFeatureType get_feature_type() const =0
virtual void load_serializable_post()
virtual int32_t get_vector_length(int32_t vec_num)
float64_t get_likelihood_example(uint16_t *vector, int32_t len)