1. A method for training a multi-class classifier, comprising a processor for performing steps of the method iteratively until a termination condition is reached, comprising the steps of: estimating probabilities of class membership for unlabeled data obtained from an active pool of unlabeled data; determining a difference between a largest probability and a second largest probability; selecting the unlabeled data with the lowest difference; labeling the selected unlabeled data; adding the labeled data to a training data set; and training the classifier with the training data set.