1. A non-transitory storage medium storing instructions executable by a computer to perform a machine learning method operating on training instances from a plurality of domains including (i) one or more source domains and (ii) a target domain with each training instance represented by values for a set of features and some training instances being labeled with labels of a set of labels, the machine learning method including the operations of: performing domain adaptation using stacked marginalized denoising autoencoding (mSDA) operating on the training instances with at least one of: (1) different feature corruption probabilities for different features of the set of features and (2) different feature corruption probabilities for different domains of the plurality of domains to generate a stack of domain adaptation transform layers operative to transform the domains to a common adapted domain; performing supervised or semi-supervised learning on the training instances transformed to the common adapted domain using the stack of domain adaptation transform layers to generate a classifier that outputs label predictions from the set of labels for the training instances; and generating a label prediction for an input instance in the target domain represented by values for the set of features by applying the classifier to the input instance transformed to the common adapted domain using the stack of domain adaptation transform domains.