On Distributed Learning Techniques For Machine Learning