Features that allow stacking of a number of DotFeatures.
They transparently provide all the operations of DotFeatures, i.e.

:
and addition on to a dense vector
:
Definition at line 45 of file CombinedDotFeatures.h.

Classes | |
| struct | combined_feature_iterator |
Public Member Functions | |
| CCombinedDotFeatures () | |
| CCombinedDotFeatures (const CCombinedDotFeatures &orig) | |
| virtual | ~CCombinedDotFeatures () |
| virtual int32_t | get_num_vectors () |
| virtual int32_t | get_dim_feature_space () |
| virtual float64_t | dot (int32_t vec_idx1, CDotFeatures *df, int32_t vec_idx2) |
| virtual float64_t | dense_dot (int32_t vec_idx1, const float64_t *vec2, int32_t vec2_len) |
| virtual void | dense_dot_range (float64_t *output, int32_t start, int32_t stop, float64_t *alphas, float64_t *vec, int32_t dim, float64_t b) |
| virtual void | dense_dot_range_subset (int32_t *sub_index, int32_t num, float64_t *output, float64_t *alphas, float64_t *vec, int32_t dim, float64_t b) |
| virtual void | add_to_dense_vec (float64_t alpha, int32_t vec_idx1, float64_t *vec2, int32_t vec2_len, bool abs_val=false) |
| virtual int32_t | get_nnz_features_for_vector (int32_t num) |
| virtual EFeatureType | get_feature_type () |
| virtual EFeatureClass | get_feature_class () |
| virtual int32_t | get_size () |
| virtual void * | get_feature_iterator (int32_t vector_index) |
| virtual bool | get_next_feature (int32_t &index, float64_t &value, void *iterator) |
| virtual void | free_feature_iterator (void *iterator) |
| virtual CFeatures * | duplicate () const |
| void | list_feature_objs () |
| CDotFeatures * | get_first_feature_obj () |
| CDotFeatures * | get_first_feature_obj (CListElement *¤t) |
| CDotFeatures * | get_next_feature_obj () |
| CDotFeatures * | get_next_feature_obj (CListElement *¤t) |
| CDotFeatures * | get_last_feature_obj () |
| bool | insert_feature_obj (CDotFeatures *obj) |
| bool | append_feature_obj (CDotFeatures *obj) |
| bool | delete_feature_obj () |
| int32_t | get_num_feature_obj () |
| virtual void | get_subfeature_weights (float64_t **weights, int32_t *num_weights) |
| virtual void | set_subfeature_weights (float64_t *weights, int32_t num_weights) |
| virtual const char * | get_name () const |
Protected Member Functions | |
| void | update_dim_feature_space_and_num_vec () |
Protected Attributes | |
| CList * | feature_list |
| int32_t | num_vectors |
| total number of vectors | |
| int32_t | num_dimensions |
| total number of dimensions | |
constructor
Definition at line 29 of file CombinedDotFeatures.cpp.
| CCombinedDotFeatures | ( | const CCombinedDotFeatures & | orig | ) |
copy constructor
Definition at line 37 of file CombinedDotFeatures.cpp.
| ~CCombinedDotFeatures | ( | ) | [virtual] |
destructor
Definition at line 51 of file CombinedDotFeatures.cpp.
| void add_to_dense_vec | ( | float64_t | alpha, | |
| int32_t | vec_idx1, | |||
| float64_t * | vec2, | |||
| int32_t | vec2_len, | |||
| bool | abs_val = false | |||
| ) | [virtual] |
add vector 1 multiplied with alpha to dense vector2
| alpha | scalar alpha | |
| vec_idx1 | index of first vector | |
| vec2 | pointer to real valued vector | |
| vec2_len | length of real valued vector | |
| abs_val | if true add the absolute value |
Implements CDotFeatures.
Definition at line 226 of file CombinedDotFeatures.cpp.
| bool append_feature_obj | ( | CDotFeatures * | obj | ) |
append feature object
| obj | feature object to append |
Definition at line 320 of file CombinedDotFeatures.h.
| bool delete_feature_obj | ( | ) |
delete feature object
Definition at line 332 of file CombinedDotFeatures.h.
compute dot product between vector1 and a dense vector
| vec_idx1 | index of first vector | |
| vec2 | pointer to real valued vector | |
| vec2_len | length of real valued vector |
Implements CDotFeatures.
Definition at line 136 of file CombinedDotFeatures.cpp.
| void dense_dot_range | ( | float64_t * | output, | |
| int32_t | start, | |||
| int32_t | stop, | |||
| float64_t * | alphas, | |||
| float64_t * | vec, | |||
| int32_t | dim, | |||
| float64_t | b | |||
| ) | [virtual] |
Compute the dot product for a range of vectors. This function makes use of dense_dot alphas[i] * sparse[i]^T * w + b
| output | result for the given vector range | |
| start | start vector range from this idx | |
| stop | stop vector range at this idx | |
| alphas | scalars to multiply with, may be NULL | |
| vec | dense vector to compute dot product with | |
| dim | length of the dense vector | |
| b | bias |
Reimplemented from CDotFeatures.
Definition at line 157 of file CombinedDotFeatures.cpp.
| void dense_dot_range_subset | ( | int32_t * | sub_index, | |
| int32_t | num, | |||
| float64_t * | output, | |||
| float64_t * | alphas, | |||
| float64_t * | vec, | |||
| int32_t | dim, | |||
| float64_t | b | |||
| ) | [virtual] |
Compute the dot product for a subset of vectors. This function makes use of dense_dot alphas[i] * sparse[i]^T * w + b
| sub_index | index for which to compute outputs | |
| num | length of index | |
| output | result for the given vector range | |
| alphas | scalars to multiply with, may be NULL | |
| vec | dense vector to compute dot product with | |
| dim | length of the dense vector | |
| b | bias |
Reimplemented from CDotFeatures.
Definition at line 192 of file CombinedDotFeatures.cpp.
| float64_t dot | ( | int32_t | vec_idx1, | |
| CDotFeatures * | df, | |||
| int32_t | vec_idx2 | |||
| ) | [virtual] |
compute dot product between vector1 and vector2, appointed by their indices
| vec_idx1 | index of first vector | |
| df | DotFeatures (of same kind) to compute dot product with | |
| vec_idx2 | index of second vector |
Implements CDotFeatures.
Definition at line 103 of file CombinedDotFeatures.cpp.
| CFeatures * duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 46 of file CombinedDotFeatures.cpp.
| virtual void free_feature_iterator | ( | void * | iterator | ) | [virtual] |
clean up iterator call this function with the iterator returned by get_first_feature
| iterator | as returned by get_first_feature |
Implements CDotFeatures.
Definition at line 235 of file CombinedDotFeatures.h.
| virtual int32_t get_dim_feature_space | ( | ) | [virtual] |
obtain the dimensionality of the feature space
Implements CDotFeatures.
Definition at line 72 of file CombinedDotFeatures.h.
| virtual EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 150 of file CombinedDotFeatures.h.
| virtual void* get_feature_iterator | ( | int32_t | vector_index | ) | [virtual] |
iterate over the non-zero features
call get_feature_iterator first, followed by get_next_feature and free_feature_iterator to cleanup
| vector_index | the index of the vector over whose components to iterate over |
Implements CDotFeatures.
Definition at line 186 of file CombinedDotFeatures.h.
| virtual EFeatureType get_feature_type | ( | ) | [virtual] |
get feature type
Implements CFeatures.
Definition at line 141 of file CombinedDotFeatures.h.
| CDotFeatures* get_first_feature_obj | ( | ) |
get first feature object
Definition at line 259 of file CombinedDotFeatures.h.
| CDotFeatures* get_first_feature_obj | ( | CListElement *& | current | ) |
get first feature object
| current | list of features |
Definition at line 269 of file CombinedDotFeatures.h.
| CDotFeatures* get_last_feature_obj | ( | ) |
get last feature object
Definition at line 297 of file CombinedDotFeatures.h.
| virtual const char* get_name | ( | void | ) | const [virtual] |
| virtual bool get_next_feature | ( | int32_t & | index, | |
| float64_t & | value, | |||
| void * | iterator | |||
| ) | [virtual] |
iterate over the non-zero features
call this function with the iterator returned by get_first_feature and call free_feature_iterator to cleanup
| index | is returned by reference (-1 when not available) | |
| value | is returned by reference | |
| iterator | as returned by get_first_feature |
Implements CDotFeatures.
Definition at line 207 of file CombinedDotFeatures.h.
| CDotFeatures* get_next_feature_obj | ( | CListElement *& | current | ) |
get next feature object
| current | list of features |
Definition at line 288 of file CombinedDotFeatures.h.
| CDotFeatures* get_next_feature_obj | ( | ) |
get next feature object
Definition at line 278 of file CombinedDotFeatures.h.
| int32_t get_nnz_features_for_vector | ( | int32_t | num | ) | [virtual] |
get number of non-zero features in vector
| num | which vector |
Implements CDotFeatures.
Definition at line 244 of file CombinedDotFeatures.cpp.
| int32_t get_num_feature_obj | ( | ) |
get number of feature objects
Definition at line 349 of file CombinedDotFeatures.h.
| virtual int32_t get_num_vectors | ( | ) | [virtual] |
get the number of vectors
Implements CFeatures.
Definition at line 63 of file CombinedDotFeatures.h.
| virtual int32_t get_size | ( | ) | [virtual] |
get the size of a single element
Implements CFeatures.
Definition at line 159 of file CombinedDotFeatures.h.
| void get_subfeature_weights | ( | float64_t ** | weights, | |
| int32_t * | num_weights | |||
| ) | [virtual] |
get subfeature weights
| weights | subfeature weights | |
| num_weights | where number of weights is stored |
Definition at line 261 of file CombinedDotFeatures.cpp.
| bool insert_feature_obj | ( | CDotFeatures * | obj | ) |
insert feature object
| obj | feature object to insert |
Definition at line 307 of file CombinedDotFeatures.h.
| void list_feature_objs | ( | ) |
list feature objects
Definition at line 56 of file CombinedDotFeatures.cpp.
| void set_subfeature_weights | ( | float64_t * | weights, | |
| int32_t | num_weights | |||
| ) | [virtual] |
set subfeature weights
| weights | new subfeature weights | |
| num_weights | number of subfeature weights |
Definition at line 281 of file CombinedDotFeatures.cpp.
| void update_dim_feature_space_and_num_vec | ( | ) | [protected] |
update total number of dimensions and vectors
Definition at line 74 of file CombinedDotFeatures.cpp.
CList* feature_list [protected] |
feature list
Definition at line 378 of file CombinedDotFeatures.h.
int32_t num_dimensions [protected] |
total number of dimensions
Definition at line 383 of file CombinedDotFeatures.h.
int32_t num_vectors [protected] |
total number of vectors
Definition at line 381 of file CombinedDotFeatures.h.