Similarity-based Learning via Data Driven Embeddings