Arthur Samuel described it as: "The field of study that gives computers the ability to learn without being explicitly programmed." This is an older, informal definition.
Tom Mitchell provides a more modern definition: "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."
Please check out the courses below for better understanding and to follow with this docs:
https://app.pluralsight.com/library/courses/deep-learning-big-picture/table-of-contents
https://app.pluralsight.com/library/courses/python-understanding-machine-learning/table-of-contents
https://app.pluralsight.com/library/courses/spark-2-getting-started/table-of-contents
https://classroom.udacity.com/nanodegrees/nd009-infn/dashboard/overview
https://classroom.udacity.com/nanodegrees/nd009t/dashboard/overview