Machine learning: theory to applications