Distance Metric Learning in R

The state-of-the-art algorithms for distance metric learning, including global and local methods such as Relevant Component Analysis, Discriminative Component Analysis, Local Fisher Discriminant Analysis, etc. These distance metric learning methods are widely applied in feature extraction, dimensionality reduction, clustering, classification, information retrieval, and computer vision problems.


Travis-CI Build Status Coverage Status License

Brief Intro

Distance metric is widely used in the machine learning literature. We used to choose a distance metric according to a priori (Euclidean Distance , L1 Distance, etc.) or according to the result of cross validation within small class of functions (e.g. choosing order of polynomial for a kernel). Actually, with priori knowledge of the data, we could learn a more suitable distance metric with (semi-)supervised distance metric learning techniques. sdml is such an R package aims to implement the state-of-the-art algorithms for supervised distance metric learning. These distance metric learning methods are widely applied in feature extraction, dimensionality reduction, clustering, classification, information retrieval, and computer vision problems.

Algorithms

Algorithms planned in the first development stage:

  • Supervised Global Distance Metric Learning:

    • Relevant Component Analysis (RCA) - implemented
    • Kernel Relevant Component Analysis (KRCA)
    • Discriminative Component Analysis (DCA) - implemented
    • Kernel Discriminative Component Analysis (KDCA)
    • Global Distance Metric Learning by Convex Programming - implemented
  • Supervised Local Distance Metric Learning:

    • Local Fisher Discriminant Analysis - implemented
    • Kernel Local Fisher Discriminant Analysis - implemented
    • Information-Theoretic Metric Learning (ITML)
    • Large Margin Nearest Neighbor Classifier (LMNN)
    • Neighbourhood Components Analysis (NCA)
    • Localized Distance Metric Learning (LDM)

The algorithms and routines might be adjusted during developing.

Links

Track Devel: https://github.com/terrytangyuan/dml

Report Bugs: https://github.com/terrytangyuan/dml/issues

Contact

Contact the maintainer of this package: Yuan Tang [email protected]

News

Version 1.0.0 (2012-01-10) - Initial Release

  • initial version of the Relevant Component Analysis (RCA) algorithm
  • initial version of the Kernel Relevant Component Analysis (KRCA) algorithm
  • initial version of the Local Fisher Discriminant Analysis (LFDA) algorithm
  • initial version of the Kernel Local Fisher Discriminant Analysis (KLFDA) algorithm
  • initial version of the Discriminative Component Analysis (DCA) algorithm
  • initial version of the Kernel Discriminative Component Analysis (KDCA) algorithm

Version 1.1.0 (2015-08-27) - Stable Version

  • Added Semi-supervised Local Fisher Discriminant Analysis (SELF) algorithm
  • Existing algorithms in this package are tested

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("dml")

1.1.0 by Yuan Tang, 4 years ago


https://github.com/terrytangyuan/dml


Report a bug at https://github.com/terrytangyuan/dml/issues


Browse source code at https://github.com/cran/dml


Authors: Yuan Tang <[email protected]> , Gao Tao <[email protected]> , Xiao Nan <[email protected]>


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports lfda

Depends on MASS

Suggests testthat


See at CRAN