Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes

CHashedWDFeaturesTransposed Class Reference


Detailed Description

Features that compute the Weighted Degreee Kernel feature space explicitly.

See also:
CWeightedDegreeStringKernel

Definition at line 28 of file HashedWDFeaturesTransposed.h.

Inheritance diagram for CHashedWDFeaturesTransposed:
Inheritance graph
[legend]

List of all members.

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 CFeaturesduplicate () 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_twd_weights
uint32_t mask
int32_t m_hash_bits
float64_t normalization_const

Constructor & Destructor Documentation

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

Parameters:
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.

copy constructor

Definition at line 99 of file HashedWDFeaturesTransposed.cpp.

~CHashedWDFeaturesTransposed (  )  [virtual]

destructor

Definition at line 115 of file HashedWDFeaturesTransposed.cpp.


Member Function Documentation

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

Parameters:
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.

float64_t dense_dot ( int32_t  vec_idx1,
const float64_t vec2,
int32_t  vec2_len 
) [virtual]

compute dot product between vector1 and a dense vector

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Returns:
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

Parameters:
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())

Returns:
dimensionality

Implements CDotFeatures.

Definition at line 58 of file HashedWDFeaturesTransposed.h.

virtual EFeatureClass get_feature_class (  )  [virtual]

get feature class

Returns:
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

Parameters:
vector_index the index of the vector over whose components to iterate over
Returns:
feature iterator (to be passed to get_next_feature)

Implements CDotFeatures.

Definition at line 199 of file HashedWDFeaturesTransposed.h.

virtual EFeatureType get_feature_type (  )  [virtual]

get feature type

Returns:
templated feature type

Implements CFeatures.

Definition at line 137 of file HashedWDFeaturesTransposed.h.

virtual const char* get_name ( void   )  const [virtual]
Returns:
object name

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

Parameters:
index is returned by reference (-1 when not available)
value is returned by reference
iterator as returned by get_first_feature
Returns:
true if a new non-zero feature got returned

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

Parameters:
num which vector
Returns:
number of non-zero features in 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

Returns:
number of examples/vectors (possibly of subset, if implemented)

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

Returns:
memory footprint of one feature

Implements CFeatures.

Definition at line 156 of file HashedWDFeaturesTransposed.h.

void set_normalization_const ( float64_t  n = 0  ) 

set normalization constant

Parameters:
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.


Member Data Documentation

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.

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.


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