A distance metric learning algorithm that minimizes the sum of distances between similar data, with non similar data constrained to be separated.
LSI(initial_metric = NULL, learning_rate = "adaptive", eta0 = 0.1, max_iter = 100, max_proj_iter = 5000, itproj_err = 0.001, err = 0.001, supervised = FALSE)
initial_metric | If array or matrix, it must be a positive semidefinite matrix with the starting metric for gradient descent, where d is the number of features. |
---|---|
learning_rate | Type of learning rate update for gradient descent. Possible values are: - 'adaptive' : the learning rate will increase if the gradient step is succesful, else it will decrease. - 'constant' : the learning rate will be constant during all the gradient steps. |
eta0 | The initial value for learning rate. Float. |
max_iter | Number of iterations for gradient descent. Integer. |
max_proj_iter | Number of iterations for iterated projections. Integer. |
itproj_err | Convergence error criterion for iterated projections. Float. |
err | Convergence error stop criterion for gradient descent. |
supervised | If True, the algorithm will accept a labeled dataset (X,y). Else, it will accept the dataset and the similarity sets, (X,S,D). |
If | None, euclidean distance will be used. If a string, the following values are allowed: - 'euclidean' : the euclidean distance. - 'scale' : a diagonal matrix that normalizes each attribute according to its range will be used. |
The LSI transformer, structured as a named list.
Eric P Xing et al. “Distance metric learning with application to clustering with side-information”. In: Advances in neural information processing systems. 2003, pages 521-528.