dynamo.tl.psl
- dynamo.tl.psl(Y, sG=None, dist=None, K=10, C=1000.0, param_gamma=0.001, d=2, maxIter=10, verbose=False)[source]
This function is a pure Python implementation of the PSL algorithm.
Reference: Li Wang and Qi Mao, Probabilistic Dimensionality Reduction via Structure Learning. T-PAMI, VOL. 41, NO. 1, JANUARY 2019
- Parameters:
Y ('numpy.ndarray') – data list
sG ('scipy.sparse.csr_matrix') – a prior kNN graph passed to the algorithm
dist ('numpy.ndarray') – a dense distance matrix between all vertices. If no distance matrix passed, we will use the kNN based algorithm, otherwise we will use the original algorithm reported in the manuscript.
K ('int') – number of nearest neighbors used to build the neighborhood graph. Large k can obtain less sparse structures. Ignored if sG is used.
C ('int') – The penalty parameter for loss term. It controls the preservation of distances. The larger it is, the distance is more strictly preserve. If the structure is very clear, a larger C is preferred.
param_gamma ('int') – param_gamma is trying to make a matrix A nonsingular, it is like a round-off parameter. 1e-4 or 1e-5 is good. It corresponds to the variance of prior embedding.
d ('int') – embedding dimension
maxIter ('int') – Number of maximum iterations
verbose ('bool') – Whether to print running information
- Returns:
- (S,Z): ‘tuple’
a tuple of the adjacency matrix and the reduced low dimension embedding.