Distributionally Robust Machine Learning with Multi-source Data