Principles of machine learning