An approach to supervised distance metric learning based on difference of convex functions programming. (September 2018)