Discriminative Probabilistic Prototype Learning