1. A method comprising: mapping, using a processor, each data set of a collection of data sets of labeled patterns to a point on a parameter space, the parameter space being one of a Grassman manifold, a Stiefel manifold, a Flag manifold, and a product of manifolds, each labeled pattern having a variation of state distinguishing the labeled pattern from other labeled patterns in the data set; mapping a data set of unlabeled patterns to a point on the parameter space, each unlabeled pattern having a variation of state distinguishing the unlabeled pattern from other unlabeled patterns in the data set; if a distance, computed on the parameter space, between the point mapped from the data set of unlabeled patterns and one of the points mapped from the data set of labeled patterns satisfies a distance criterion evaluated on the parameter space, attributing the label of the data set of the labeled pattern mapped to the point satisfying the distance criterion to the data set of unlabeled patterns.