Machine learning methods and algorithms