So far, I have read some highly cited metric learning papers. The general idea of such papers is to learn a mapping such that mapped data points with same label lie close to each other and far from samples of other classes. To evaluate such techniques they report the accuracy of the KNN classifier on the generated embedding. So my question is if we have a labelled dataset and we are interested in increasing the accuracy of classification task, why do not we learn a classifier on the original datapoints. I mean instead of finding a new embedding which suites KNN classifier, we can learn a classifier that fits the (not embedded) datapoints. Based on what I have read so far the classification accuracy of such classifiers is much better than metric learning approaches. Is there a study that shows metric learning+KNN performs better than fitting a (good) classifier at least on some datasets?
I would say the objective of metric learning is not really to improve the performance for classification. As you may have discovered yourself, learning directly a classification objective generally yields better performance.
One of the most useful features of metric learning is generalization ability in the form of one-shot (or few-shot) learning.
Let's say you want to design a system capable of identifying a person through a picture of their face. Using a classification scheme you would need possibly hundreds of examples for each person to build a model with satisfactory performance (you would also need to retrain the model every time you want to add someone to the system). With metric learning, for each new person you just need a few "prototype" pictures and your classification becomes just a nearest neighbor search in the metric space, with no retraining required.