1. A method for training a neural network for use in discriminative classification and regression, the method comprising the steps of: randomly selecting, in a computer process, an unlabeled datapoint associated with a phenomenon of interest; determining, in a computer process, a set of datapoints associated with the phenomenon of interest that is likely to be in the same class as the selected unlabeled datapoint; predicting, with the neural network in a computer process, a class label for the selected unlabeled datapoint; predicting, with the neural network in a computer process, a class label for the set of datapoints, the class label comprising a number; combining the predicted class labels in a computer process, by taking a mean of the class labels, to predict a composite class label that describes the selected unlabeled datapoint and the set of datapoints; and using the combined class label to adjust at least one parameter of the neural network in a computer process.