We investigate the problem of learning optimal descriptors for a given classiﬁcation task. Many hand-crafted descriptors have been proposed in the literature for measuring visual similarity. Looking past initial differences, what really distinguishes one descriptor from another is the tradeoff that it achieves between discriminative power and invariance. Since this trade-off must vary from task to task, no single descriptor can be optimal in all situations. Our focus, in this paper, is on learning the optimal tradeoff for classiﬁcation given a particular training set and prior constraints. The problem is posed in the kernel learning framework. We learn the optimal, domain-speciﬁc kernel as a combination of base kernels corresponding to base features which achieve different levels of trade-off (such as no invariance, rotation invariance, scale invariance, afﬁne invariance, etc.) This leads to a convex optimisation problem with a unique global optimum which can be solved for efﬁciently. The method is shown to achieve state-of-the-art performance on the UIUC textures, Oxford ﬂowers and Caltech 101 datasets.