SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CTOPFeatures Class Reference

Detailed Description

The class TOPFeatures implements TOP kernel features obtained from two Hidden Markov models.

It was used in

K. Tsuda, M. Kawanabe, G. Raetsch, S. Sonnenburg, and K.R. Mueller. A new discriminative kernel from probabilistic models. Neural Computation, 14:2397-2414, 2002.

which also has the details.

Note that TOP-features are computed on the fly, so to be effective feature caching should be enabled.

It inherits its functionality from CSimpleFeatures, which should be consulted for further reference.

Definition at line 68 of file TOPFeatures.h.

Inheritance diagram for CTOPFeatures:
Inheritance graph
[legend]

Public Member Functions

 CTOPFeatures ()
 CTOPFeatures (int32_t size, CHMM *p, CHMM *n, bool neglin, bool poslin)
 CTOPFeatures (const CTOPFeatures &orig)
virtual ~CTOPFeatures ()
void set_models (CHMM *p, CHMM *n)
virtual float64_tset_feature_matrix ()
int32_t compute_num_features ()
bool compute_relevant_indizes (CHMM *hmm, T_HMM_INDIZES *hmm_idx)
virtual const char * get_name () const
- Public Member Functions inherited from CSimpleFeatures< float64_t >
 CSimpleFeatures (int32_t size=0)
 CSimpleFeatures (const CSimpleFeatures &orig)
 CSimpleFeatures (SGMatrix< float64_t > matrix)
 CSimpleFeatures (float64_t *src, int32_t num_feat, int32_t num_vec)
 CSimpleFeatures (CFile *loader)
virtual CFeaturesduplicate () const
virtual ~CSimpleFeatures ()
void free_feature_matrix ()
void free_features ()
float64_tget_feature_vector (int32_t num, int32_t &len, bool &dofree)
SGVector< float64_tget_feature_vector (int32_t num)
void set_feature_vector (SGVector< float64_t > vector, int32_t num)
void free_feature_vector (float64_t *feat_vec, int32_t num, bool dofree)
void free_feature_vector (SGVector< float64_t > vec, int32_t num)
void vector_subset (int32_t *idx, int32_t idx_len)
void feature_subset (int32_t *idx, int32_t idx_len)
void get_feature_matrix (float64_t **dst, int32_t *num_feat, int32_t *num_vec)
SGMatrix< float64_tget_feature_matrix ()
float64_tget_feature_matrix (int32_t &num_feat, int32_t &num_vec)
SGMatrix< float64_tsteal_feature_matrix ()
void set_feature_matrix (SGMatrix< float64_t > matrix)
virtual void set_feature_matrix (float64_t *fm, int32_t num_feat, int32_t num_vec)
CSimpleFeatures< float64_t > * get_transposed ()
float64_tget_transposed (int32_t &num_feat, int32_t &num_vec)
virtual void copy_feature_matrix (SGMatrix< float64_t > src)
void obtain_from_dot (CDotFeatures *df)
virtual bool apply_preprocessor (bool force_preprocessing=false)
virtual int32_t get_size ()
virtual int32_t get_num_vectors () const
int32_t get_num_features ()
void set_num_features (int32_t num)
void set_num_vectors (int32_t num)
void initialize_cache ()
virtual EFeatureClass get_feature_class ()
virtual EFeatureType get_feature_type ()
virtual bool reshape (int32_t p_num_features, int32_t p_num_vectors)
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 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 bool Align_char_features (CStringFeatures< char > *cf, CStringFeatures< char > *Ref, float64_t gapCost)
virtual void load (CFile *loader)
virtual void save (CFile *saver)
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 CFeaturescopy_subset (SGVector< index_t > indices)
- Public Member Functions inherited from CDotFeatures
 CDotFeatures (int32_t size=0)
 CDotFeatures (const CDotFeatures &orig)
 CDotFeatures (CFile *loader)
virtual ~CDotFeatures ()
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)
float64_t get_combined_feature_weight ()
void set_combined_feature_weight (float64_t nw)
SGMatrix< float64_tget_computed_dot_feature_matrix ()
SGVector< float64_tget_computed_dot_feature_vector (int32_t num)
void benchmark_add_to_dense_vector (int32_t repeats=5)
void benchmark_dense_dot_range (int32_t repeats=5)
virtual SGVector< float64_tget_mean ()
virtual SGMatrix< float64_tget_cov ()
- Public Member Functions inherited from CFeatures
 CFeatures (int32_t size=0)
 CFeatures (const CFeatures &orig)
 CFeatures (CFile *loader)
virtual ~CFeatures ()
virtual int32_t add_preprocessor (CPreprocessor *p)
 set preprocessor
virtual CPreprocessordel_preprocessor (int32_t num)
 del current preprocessor
CPreprocessorget_preprocessor (int32_t num)
 get current preprocessor
void set_preprocessed (int32_t num)
bool is_preprocessed (int32_t num)
int32_t get_num_preprocessed ()
 get whether specified preprocessor (or all if num=1) was/were already applied
int32_t get_num_preprocessors () const
void clean_preprocessors ()
int32_t get_cache_size ()
void list_feature_obj ()
bool check_feature_compatibility (CFeatures *f)
bool has_property (EFeatureProperty p)
void set_property (EFeatureProperty p)
void unset_property (EFeatureProperty p)
virtual void set_subset (CSubset *subset)
virtual void remove_subset ()
virtual void subset_changed_post ()
index_t subset_idx_conversion (index_t idx) const
bool has_subset () const
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

Protected Member Functions

virtual float64_tcompute_feature_vector (int32_t num, int32_t &len, float64_t *target=NULL)
void compute_feature_vector (float64_t *addr, int32_t num, int32_t &len)

Protected Attributes

CHMMpos
CHMMneg
bool neglinear
bool poslinear
T_HMM_INDIZES pos_relevant_indizes
T_HMM_INDIZES neg_relevant_indizes
- Protected Attributes inherited from CSimpleFeatures< float64_t >
int32_t num_vectors
 number of vectors in cache
int32_t num_features
 number of features in cache
float64_tfeature_matrix
int32_t feature_matrix_num_vectors
int32_t feature_matrix_num_features
CCache< float64_t > * feature_cache
- Protected Attributes inherited from CDotFeatures
float64_t combined_weight
 feature weighting in combined dot features
- Protected Attributes inherited from CFeatures
CSubsetm_subset

Additional Inherited Members

- Static Public Member Functions inherited from CDotFeatures
static void * dense_dot_range_helper (void *p)
- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters

Constructor & Destructor Documentation

default constructor

Definition at line 18 of file TOPFeatures.cpp.

CTOPFeatures ( int32_t  size,
CHMM p,
CHMM n,
bool  neglin,
bool  poslin 
)

constructor

Parameters
sizecache size
ppositive HMM
nnegative HMM
neglinif negative HMM is of linear shape
poslinif positive HMM is of linear shape

Definition at line 23 of file TOPFeatures.cpp.

CTOPFeatures ( const CTOPFeatures orig)

copy constructor

Definition at line 34 of file TOPFeatures.cpp.

~CTOPFeatures ( )
virtual

Definition at line 44 of file TOPFeatures.cpp.

Member Function Documentation

float64_t * compute_feature_vector ( int32_t  num,
int32_t &  len,
float64_t target = NULL 
)
protectedvirtual

compute feature vector

Parameters
numnum
lenlen
target
Returns
something floaty

Reimplemented from CSimpleFeatures< float64_t >.

Definition at line 88 of file TOPFeatures.cpp.

void compute_feature_vector ( float64_t addr,
int32_t  num,
int32_t &  len 
)
protected

computes the feature vector to the address addr

Parameters
addraddress
numnum
lenlen

Definition at line 104 of file TOPFeatures.cpp.

int32_t compute_num_features ( )

compute number of features

Returns
number of features

Definition at line 335 of file TOPFeatures.cpp.

bool compute_relevant_indizes ( CHMM hmm,
T_HMM_INDIZES *  hmm_idx 
)

compute relevant indices

Parameters
hmmHMM to compute for
hmm_idxHMM index
Returns
if computing was successful

Definition at line 232 of file TOPFeatures.cpp.

virtual const char* get_name ( ) const
virtual
Returns
object name

Reimplemented from CSimpleFeatures< float64_t >.

Definition at line 117 of file TOPFeatures.h.

float64_t * set_feature_matrix ( )
virtual

set feature matrix

Returns
something floaty

Definition at line 193 of file TOPFeatures.cpp.

void set_models ( CHMM p,
CHMM n 
)

set HMMs

Parameters
ppositive HMM
nnegative HMM

Definition at line 64 of file TOPFeatures.cpp.

Member Data Documentation

CHMM* neg
protected

negative HMM

Definition at line 145 of file TOPFeatures.h.

T_HMM_INDIZES neg_relevant_indizes
protected

negative relevant indices

Definition at line 154 of file TOPFeatures.h.

bool neglinear
protected

if negative HMM is a LinearHMM

Definition at line 147 of file TOPFeatures.h.

CHMM* pos
protected

positive HMM

Definition at line 143 of file TOPFeatures.h.

T_HMM_INDIZES pos_relevant_indizes
protected

positive relevant indices

Definition at line 152 of file TOPFeatures.h.

bool poslinear
protected

if positive HMM is a LinearHMM

Definition at line 149 of file TOPFeatures.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation