Heterogeneous Component Analysis