1. A method comprising executing instructions by a special purpose computing apparatus to: for data from a first domain, the first domain data having a plurality of original labels, generate a first plurality of signals using a hypothesis function for a second domain, the hypothesis function determined by using a plurality of labels that are associated with data from a second domain, the first plurality of signals representative of a plurality of first predicted labels for the first domain data; apply a label relation function to the first plurality of signals representative of the first predicted labels for the first domain data and the original labels for the first domain data to generate a second plurality of signals, the second plurality of signals representative of a plurality of weighting factors for the first domain data; generate a new hypothesis function for the second domain using the second domain data, the first domain data, and the weighting factors for the first domain data; and evaluate a performance of the new hypothesis function for the second domain to determine if there is a convergence.