LocalTangentSpaceAlignment used to embed data using Local Tangent Space Alignment (LTSA) algorithm as described in:
Zhang, Z., & Zha, H. (2002). Principal Manifolds and Nonlinear Dimension Reduction via Local Tangent Space Alignment. Journal of Shanghai University English Edition, 8(4), 406-424. SIAM. Retrieved from http://arxiv.org/abs/cs/0212008
Due to performance reasons on high-dimensional datasets please use KernelLocalTangentSpaceAlignment with linear kernel.
The stated eigenproblem is solved in the same way as CLocallyLinearEmbedding (LAPACK or ARPACK if available).
The local tangent space alignment step is parallel. Neighborhood determination is parallel as in CLocallyLinearEmbedding.
This algorithm is pretty stable for variations of k parameter value but be sure it is set with a consistent value (at least 3-5) for reasonable results.
Please do not use multithreading whether your LAPACK is not thread-safe.
|virtual const char *||get_name () const|
|virtual SGMatrix< float64_t >||construct_weight_matrix (CSimpleFeatures< float64_t > *simple_features, float64_t *W_matrix, SGMatrix< int32_t > neighborhood_matrix)|
|static void *||run_ltsa_thread (void *p)|
|SGMatrix< float64_t > construct_weight_matrix||(||CSimpleFeatures< float64_t > *||simple_features,|
|SGMatrix< int32_t >||neighborhood_matrix|
|const char * get_name||(||)|| const
|void * run_ltsa_thread||(||void *||p||)||