On the Training/Test Distributions Gap: A Data Representation Learning Framework