machine learning — theory and algorithms