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

CIsomap Class Reference


Detailed Description

the class Isomap used to preprocess data using K-Isomap algorithm as described in

Silva, V. D., & Tenenbaum, J. B. (2003). Global versus local methods in nonlinear dimensionality reduction. Advances in Neural Information Processing Systems 15, 15(Figure 2), 721-728. MIT Press. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.3407&rep=rep1&type=pdf

Shortest paths are being computed with Dijkstra's algorithm with heap in parallel. Due to sparsity of the kNN graph Fibonacci Heap with amortized O(1) Extract-Min operation time complexity is used.

It is possible to apply preprocessor to specified distance using apply_to_distance.

Definition at line 47 of file Isomap.h.

Inheritance diagram for CIsomap:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CIsomap ()
virtual ~CIsomap ()
virtual bool init (CFeatures *features)
virtual void cleanup ()
virtual CSimpleFeatures
< float64_t > * 
apply_to_distance (CDistance *distance)
virtual SGMatrix< float64_tapply_to_feature_matrix (CFeatures *features)
virtual SGVector< float64_tapply_to_feature_vector (SGVector< float64_t > vector)
virtual const char * get_name () const
virtual EPreprocessorType get_type () const
void set_k (int32_t k)
int32_t get_k ()

Protected Member Functions

void init ()
SGMatrix< float64_tisomap_distance (SGMatrix< float64_t > D_matrix)

Static Protected Member Functions

static void * run_dijkstra_thread (void *p)

Protected Attributes

int32_t m_k

Constructor & Destructor Documentation

CIsomap (  ) 

Definition at line 57 of file Isomap.cpp.

~CIsomap (  )  [virtual]

Definition at line 69 of file Isomap.cpp.


Member Function Documentation

CSimpleFeatures< float64_t > * apply_to_distance ( CDistance distance  )  [virtual]

apply preprocessor to CDistance

Parameters:
distance distance
Returns:
embedded features

Reimplemented from CMultidimensionalScaling.

Definition at line 82 of file Isomap.cpp.

SGMatrix< float64_t > apply_to_feature_matrix ( CFeatures features  )  [virtual]

apply preprocessor to features

Parameters:
features 
Returns:
embedded feature matrix

Reimplemented from CMultidimensionalScaling.

Definition at line 100 of file Isomap.cpp.

SGVector< float64_t > apply_to_feature_vector ( SGVector< float64_t vector  )  [virtual]

apply preprocessor to feature vector

Parameters:
vector 

Reimplemented from CMultidimensionalScaling.

Definition at line 130 of file Isomap.cpp.

void cleanup (  )  [virtual]

empty cleanup

Reimplemented from CMultidimensionalScaling.

Definition at line 78 of file Isomap.cpp.

int32_t get_k (  ) 

getter for k parameter

Returns:
k value

Definition at line 101 of file Isomap.h.

virtual const char* get_name ( void   )  const [virtual]

get name

Reimplemented from CMultidimensionalScaling.

Definition at line 84 of file Isomap.h.

virtual EPreprocessorType get_type (  )  const [virtual]

get type

Reimplemented from CMultidimensionalScaling.

Definition at line 87 of file Isomap.h.

bool init ( CFeatures features  )  [virtual]

empty init

Parameters:
features 

Reimplemented from CMultidimensionalScaling.

Definition at line 73 of file Isomap.cpp.

void init ( void   )  [protected]

default init

Reimplemented from CMultidimensionalScaling.

Definition at line 62 of file Isomap.cpp.

SGMatrix< float64_t > isomap_distance ( SGMatrix< float64_t D_matrix  )  [protected]

approximate geodesic distance with shortest path in kNN graph

Parameters:
D_matrix distance matrix (deleted on exit)
Returns:
approximate geodesic distance matrix

Definition at line 136 of file Isomap.cpp.

void * run_dijkstra_thread ( void *  p  )  [static, protected]

run dijkstra thread

Parameters:
p thread params

Definition at line 256 of file Isomap.cpp.

void set_k ( int32_t  k  ) 

setter for k parameter

Parameters:
k 

Definition at line 92 of file Isomap.h.


Member Data Documentation

int32_t m_k [protected]

k, number of neighbors for K-Isomap

Definition at line 110 of file Isomap.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