|
SHOGUN
v1.1.0
|
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.

Public Member Functions | |
| CIsomap () | |
| virtual | ~CIsomap () |
| const char * | get_name () const |
| void | set_k (int32_t k) |
| int32_t | get_k () const |
Public Member Functions inherited from CMultidimensionalScaling | |
| CMultidimensionalScaling () | |
| virtual | ~CMultidimensionalScaling () |
| virtual CSimpleFeatures < float64_t > * | embed_distance (CDistance *distance) |
| virtual CFeatures * | apply (CFeatures *features) |
| SGVector< float64_t > | get_eigenvalues () const |
| void | set_landmark_number (int32_t num) |
| int32_t | get_landmark_number () const |
| void | set_landmark (bool landmark) |
| bool | get_landmark () const |
Public Member Functions inherited from CEmbeddingConverter | |
| CEmbeddingConverter () | |
| virtual | ~CEmbeddingConverter () |
| virtual CSimpleFeatures < float64_t > * | embed (CFeatures *features) |
| void | set_target_dim (int32_t dim) |
| int32_t | get_target_dim () const |
| void | set_distance (CDistance *distance) |
| CDistance * | get_distance () const |
| void | set_kernel (CKernel *kernel) |
| CKernel * | get_kernel () const |
Public Member Functions inherited from CConverter | |
| CConverter () | |
| virtual | ~CConverter () |
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) |
| SGIO * | get_global_io () |
| void | set_global_parallel (Parallel *parallel) |
| Parallel * | get_global_parallel () |
| void | set_global_version (Version *version) |
| Version * | get_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 void | init () |
| HELPERS. | |
| virtual SGMatrix< float64_t > | process_distance_matrix (SGMatrix< float64_t > distance_matrix) |
| SGMatrix< float64_t > | isomap_distance (SGMatrix< float64_t > D_matrix) |
Protected Member Functions inherited from CMultidimensionalScaling | |
| SGMatrix< float64_t > | classic_embedding (SGMatrix< float64_t > distance_matrix) |
| SGMatrix< float64_t > | landmark_embedding (SGMatrix< float64_t > distance_matrix) |
Static Protected Member Functions | |
| static void * | run_dijkstra_thread (void *p) |
| THREADS. | |
Static Protected Member Functions inherited from CMultidimensionalScaling | |
| static void * | run_triangulation_thread (void *p) |
| STATIC. | |
| static SGVector< int32_t > | shuffle (int32_t count, int32_t total_count) |
Protected Attributes | |
| int32_t | m_k |
| FIELDS. | |
Protected Attributes inherited from CMultidimensionalScaling | |
| SGVector< float64_t > | m_eigenvalues |
| FIELDS. | |
| bool | m_landmark |
| int32_t | m_landmark_number |
Protected Attributes inherited from CEmbeddingConverter | |
| int32_t | m_target_dim |
| CDistance * | m_distance |
| CKernel * | m_kernel |
Additional Inherited Members | |
Public Attributes inherited from CSGObject | |
| SGIO * | io |
| Parallel * | parallel |
| Version * | version |
| Parameter * | m_parameters |
| Parameter * | m_model_selection_parameters |
| CIsomap | ( | ) |
Definition at line 56 of file Isomap.cpp.
|
virtual |
Definition at line 68 of file Isomap.cpp.
| int32_t get_k | ( | ) | const |
|
virtual |
|
protectedvirtual |
HELPERS.
default init
Reimplemented from CMultidimensionalScaling.
Definition at line 63 of file Isomap.cpp.
approximate geodesic distance with shortest path in kNN graph
| D_matrix | distance matrix (deleted on exit) |
Definition at line 93 of file Isomap.cpp.
|
protectedvirtual |
process distance matrix (redefined in isomap, for mds does nothing)
| distance_matrix | distance matrix |
Reimplemented from CMultidimensionalScaling.
Definition at line 88 of file Isomap.cpp.
|
staticprotected |
| void set_k | ( | int32_t | k | ) |
|
protected |