Features that compute the Weighted Degreee Kernel feature space explicitly.
Definition at line 28 of file HashedWDFeaturesTransposed.h.
Public Member Functions | |
CHashedWDFeaturesTransposed (void) | |
CHashedWDFeaturesTransposed (CStringFeatures< uint8_t > *str, int32_t start_order, int32_t order, int32_t from_order, int32_t hash_bits=12) | |
CHashedWDFeaturesTransposed (const CHashedWDFeaturesTransposed &orig) | |
virtual | ~CHashedWDFeaturesTransposed () |
virtual int32_t | get_dim_feature_space () const |
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 CFeatures * | duplicate () const |
virtual EFeatureType | get_feature_type () |
virtual EFeatureClass | get_feature_class () |
virtual int32_t | get_num_vectors () const |
virtual int32_t | get_size () |
void | set_normalization_const (float64_t n=0) |
float64_t | get_normalization_const () |
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 const char * | get_name () const |
Protected Member Functions | |
void | set_wd_weights () |
Static Protected Member Functions | |
static void * | dense_dot_range_helper (void *p) |
Protected Attributes | |
CStringFeatures< uint8_t > * | strings |
SGString< uint8_t > * | transposed_strings |
int32_t | degree |
int32_t | start_degree |
int32_t | from_degree |
int32_t | string_length |
int32_t | num_strings |
int32_t | alphabet_size |
int32_t | w_dim |
int32_t | partial_w_dim |
float64_t * | wd_weights |
uint32_t | mask |
int32_t | m_hash_bits |
float64_t | normalization_const |
CHashedWDFeaturesTransposed | ( | void | ) |
default constructor
Definition at line 38 of file HashedWDFeaturesTransposed.cpp.
CHashedWDFeaturesTransposed | ( | CStringFeatures< uint8_t > * | str, | |
int32_t | start_order, | |||
int32_t | order, | |||
int32_t | from_order, | |||
int32_t | hash_bits = 12 | |||
) |
constructor
str | stringfeatures (of bytes) | |
start_order | do degrees starting with start_order up to order | |
order | of wd kernel | |
from_order | use first order weights from higher order weighting | |
hash_bits | number of bits in hash |
Definition at line 63 of file HashedWDFeaturesTransposed.cpp.
CHashedWDFeaturesTransposed | ( | const CHashedWDFeaturesTransposed & | orig | ) |
copy constructor
Definition at line 99 of file HashedWDFeaturesTransposed.cpp.
~CHashedWDFeaturesTransposed | ( | ) | [virtual] |
destructor
Definition at line 115 of file HashedWDFeaturesTransposed.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 474 of file HashedWDFeaturesTransposed.cpp.
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 157 of file HashedWDFeaturesTransposed.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 194 of file HashedWDFeaturesTransposed.cpp.
void * dense_dot_range_helper | ( | void * | p | ) | [static, protected] |
Compute the dot product for a range of vectors. This function is called by the threads created in dense_dot_range
Reimplemented from CDotFeatures.
Definition at line 369 of file HashedWDFeaturesTransposed.cpp.
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] |
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.
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 125 of file HashedWDFeaturesTransposed.cpp.
CFeatures * duplicate | ( | ) | const [virtual] |
duplicate feature object
Implements CFeatures.
Definition at line 551 of file HashedWDFeaturesTransposed.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 226 of file HashedWDFeaturesTransposed.h.
virtual int32_t get_dim_feature_space | ( | ) | const [virtual] |
obtain the dimensionality of the feature space
(not mix this up with the dimensionality of the input space, usually obtained via get_num_features())
Implements CDotFeatures.
Definition at line 58 of file HashedWDFeaturesTransposed.h.
virtual EFeatureClass get_feature_class | ( | ) | [virtual] |
get feature class
Implements CFeatures.
Definition at line 146 of file HashedWDFeaturesTransposed.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 199 of file HashedWDFeaturesTransposed.h.
virtual EFeatureType get_feature_type | ( | ) | [virtual] |
get feature type
Implements CFeatures.
Definition at line 137 of file HashedWDFeaturesTransposed.h.
virtual const char* get_name | ( | void | ) | const [virtual] |
Implements CSGObject.
Definition at line 232 of file HashedWDFeaturesTransposed.h.
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 215 of file HashedWDFeaturesTransposed.h.
virtual 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 122 of file HashedWDFeaturesTransposed.h.
float64_t get_normalization_const | ( | ) |
get normalization constant
Definition at line 166 of file HashedWDFeaturesTransposed.h.
virtual int32_t get_num_vectors | ( | ) | const [virtual] |
get number of examples/vectors, possibly corresponding to the current subset
abstract base method
Implements CFeatures.
Definition at line 151 of file HashedWDFeaturesTransposed.h.
virtual int32_t get_size | ( | ) | [virtual] |
get memory footprint of one feature
abstract base method
Implements CFeatures.
Definition at line 156 of file HashedWDFeaturesTransposed.h.
void set_normalization_const | ( | float64_t | n = 0 |
) |
set normalization constant
n | n=0 means automagic |
Definition at line 535 of file HashedWDFeaturesTransposed.cpp.
void set_wd_weights | ( | ) | [protected] |
create wd kernel weighting heuristic
Definition at line 515 of file HashedWDFeaturesTransposed.cpp.
int32_t alphabet_size [protected] |
size of alphabet
Definition at line 258 of file HashedWDFeaturesTransposed.h.
int32_t degree [protected] |
degree
Definition at line 248 of file HashedWDFeaturesTransposed.h.
int32_t from_degree [protected] |
from degree
Definition at line 252 of file HashedWDFeaturesTransposed.h.
int32_t m_hash_bits [protected] |
number of bits in hash
Definition at line 268 of file HashedWDFeaturesTransposed.h.
uint32_t mask [protected] |
mask
Definition at line 266 of file HashedWDFeaturesTransposed.h.
float64_t normalization_const [protected] |
normalization const
Definition at line 271 of file HashedWDFeaturesTransposed.h.
int32_t num_strings [protected] |
number of strings
Definition at line 256 of file HashedWDFeaturesTransposed.h.
int32_t partial_w_dim [protected] |
partial w dim == hashsize
Definition at line 262 of file HashedWDFeaturesTransposed.h.
int32_t start_degree [protected] |
start_degree
Definition at line 250 of file HashedWDFeaturesTransposed.h.
int32_t string_length [protected] |
length of string in vector
Definition at line 254 of file HashedWDFeaturesTransposed.h.
CStringFeatures<uint8_t>* strings [protected] |
stringfeatures the wdfeatures are based on
Definition at line 242 of file HashedWDFeaturesTransposed.h.
SGString<uint8_t>* transposed_strings [protected] |
pointer to transposed strings
Definition at line 245 of file HashedWDFeaturesTransposed.h.
int32_t w_dim [protected] |
w dim
Definition at line 260 of file HashedWDFeaturesTransposed.h.
float64_t* wd_weights [protected] |
wd weights
Definition at line 264 of file HashedWDFeaturesTransposed.h.