Public Member Functions | Protected Member Functions | Protected Attributes

CCombinedDotFeatures Class Reference


Detailed Description

Features that allow stacking of a number of DotFeatures.

They transparently provide all the operations of DotFeatures, i.e.

\[r = {\bf x} \cdot {\bf x'}\]

\[r = {\bf x} \cdot {\bf z}\]

\[{\bf z'} = \alpha {\bf x} + {\bf z}\]

Definition at line 45 of file CombinedDotFeatures.h.

Inheritance diagram for CCombinedDotFeatures:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CCombinedDotFeatures ()
 CCombinedDotFeatures (const CCombinedDotFeatures &orig)
virtual ~CCombinedDotFeatures ()
virtual int32_t get_num_vectors () const
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 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 CFeaturesduplicate () const
void list_feature_objs ()
CDotFeaturesget_first_feature_obj ()
CDotFeaturesget_first_feature_obj (CListElement *&current)
CDotFeaturesget_next_feature_obj ()
CDotFeaturesget_next_feature_obj (CListElement *&current)
CDotFeaturesget_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

CListfeature_list
int32_t num_vectors
 total number of vectors
int32_t num_dimensions
 total number of dimensions

Constructor & Destructor Documentation

constructor

Definition at line 29 of file CombinedDotFeatures.cpp.

copy constructor

Definition at line 37 of file CombinedDotFeatures.cpp.

~CCombinedDotFeatures (  )  [virtual]

destructor

Definition at line 51 of file CombinedDotFeatures.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 226 of file CombinedDotFeatures.cpp.

bool append_feature_obj ( CDotFeatures obj  ) 

append feature object

Parameters:
obj feature object to append
Returns:
if appending was successful

Definition at line 322 of file CombinedDotFeatures.h.

bool delete_feature_obj (  ) 

delete feature object

Returns:
if deleting was successful

Definition at line 334 of file CombinedDotFeatures.h.

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

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

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.

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

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 103 of file CombinedDotFeatures.cpp.

CFeatures * duplicate (  )  const [virtual]

duplicate feature object

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

Parameters:
iterator as returned by get_first_feature

Implements CDotFeatures.

Definition at line 237 of file CombinedDotFeatures.h.

virtual int32_t get_dim_feature_space (  )  const [virtual]

obtain the dimensionality of the feature space

Returns:
dimensionality

Implements CDotFeatures.

Definition at line 72 of file CombinedDotFeatures.h.

virtual EFeatureClass get_feature_class (  )  [virtual]

get feature class

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

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 188 of file CombinedDotFeatures.h.

virtual EFeatureType get_feature_type (  )  [virtual]

get feature type

Returns:
templated feature type

Implements CFeatures.

Definition at line 141 of file CombinedDotFeatures.h.

CDotFeatures* get_first_feature_obj (  ) 

get first feature object

Returns:
first feature object

Definition at line 261 of file CombinedDotFeatures.h.

CDotFeatures* get_first_feature_obj ( CListElement *&  current  ) 

get first feature object

Parameters:
current list of features
Returns:
first feature object

Definition at line 271 of file CombinedDotFeatures.h.

CDotFeatures* get_last_feature_obj (  ) 

get last feature object

Returns:
last feature object

Definition at line 299 of file CombinedDotFeatures.h.

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

Implements CSGObject.

Definition at line 372 of file CombinedDotFeatures.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 209 of file CombinedDotFeatures.h.

CDotFeatures* get_next_feature_obj ( CListElement *&  current  ) 

get next feature object

Parameters:
current list of features
Returns:
next feature object

Definition at line 290 of file CombinedDotFeatures.h.

CDotFeatures* get_next_feature_obj (  ) 

get next feature object

Returns:
next feature object

Definition at line 280 of file CombinedDotFeatures.h.

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 244 of file CombinedDotFeatures.cpp.

int32_t get_num_feature_obj (  ) 

get number of feature objects

Returns:
number of feature objects

Definition at line 351 of file CombinedDotFeatures.h.

virtual int32_t get_num_vectors (  )  const [virtual]

get the number of vectors

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

Returns:
size of a 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

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

Parameters:
obj feature object to insert
Returns:
if inserting was successful

Definition at line 309 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

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


Member Data Documentation

CList* feature_list [protected]

feature list

Definition at line 380 of file CombinedDotFeatures.h.

int32_t num_dimensions [protected]

total number of dimensions

Definition at line 385 of file CombinedDotFeatures.h.

int32_t num_vectors [protected]

total number of vectors

Definition at line 383 of file CombinedDotFeatures.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