An important, yet under-explored, problem in pattern recognition concerns learning from data labeled at varying levels of specificity. The majority of existing machine learning methods are based on the inductive learning paradigm, where a labeled training set (one label per training example) trains a classifier which is markedly different from the human learning experience, where any one object can take multiple labels (i.e. a dog is a dog, but it is also an animal and a living object). As a result, we propose a framework whereby the classification problem is a special case of the more general categorization problem. In this paper, we present a semi-supervised algorithm that can incorporate data with multiple labels drawn from a hierarchy to learn a categorical representation. We show that the proposed algorithm is able to learn the underlying hierarchy and to generalize to data outside of the training set. We validate the efficacy of the algorithm by training on a dataset of faces and testing the hierarchy on other images of faces.