foundations of machine learning solutions