Source Separation and Machine Learning