Machine Learning (ML) is everywhere in our society, from email spam filtering to vaccine development to navigating to a destination by car with minimal traffic en route. With technological advancements such as the internet and digitalization, our world has become incredibly data-intensive. ML can make our lives easier and our world more interpretable and responsive to information. Learning the concepts and skills to use ML is highly valued in the 21st century. Investing the time to immerse yourself and become competent in this field will bring you huge rewards.

## What is Machine Learning?

ML is a subdivision of artificial intelligence (AI). It refers to the ability of machines to recognize and learn features in data and develop the ability to solve problems in the same sense that the human brain autonomously learns over time. Machine learning has been around since the 1950s: the “learning machine” built by Alan Turing, IBM’s first checkers-playing program, and the invention of the perceptron by Frank Rosenblatt. The underpinning statistical methods behind machine learning, such as the least-squares method, Bayes’ Theorem and Markov chains, have existed for around 100 years to centuries. What makes ML truly exciting in the modern era is the combination of model innovation, the arrival of huge databases for training algorithms and powerful computers able to train models within small timeframes. What we are capable of doing now was the stuff of dreams in the 20th Century.

## Prerequisite Books for Machine Learning

ML allows data scientists to leverage data-driven algorithms to produce accurate results and build efficient, automated solutions from trained models. As you get started, I would recommend gaining an intuitive understanding of statistics and predictive modelling. Two books are essential for building a solid foundation:

- Introduction to Statistical Learning—This book introduces statistical learning methods, essential tools for gaining insight into vast and complex datasets. It is very clear and provides plenty of straightforward explanations. This is the book if you want to grasp the theory and mathematics behind ML techniques.
- Applied Predictive Modeling—This book is intended for a broad audience as an introduction to predictive modelling and how to apply it. It has intuitive explanations and an emphasis on problem-solving with real data. Practice truly makes perfect, and the more you see techniques applied to real data, the more expertise you will gain. It is recommended that you have some knowledge of basic statistics, such as correlation and linear regression analysis.

Visit my blog post on machine learning book recommendations for a wider selection of books. Each course will have practical applications, examples, and assignments with which you can progress as fast as you want to. The courses will use the standard open-source programming languages Python and R. They will focus on explaining concepts mathematically while staying engaging and intuitive. When you choose a course to complete, remember it is fine to be uncomfortable or to find the material difficult. It helps to bounce between examples and reading material and, most of all, be confident that you can learn machine learning.

## Top Online Courses for Machine Learning

- Machine Learning – Andrew Ng
- Deep Learning Specialization – Andrew Ng
- MicroMasters Program in Machine Learning – Columbia University
- Machine Learning A-Z: Hands-On Python & R In Data Science – Kirill Eremenko, SuperDataScience Team
- Practical Deep Learning for Coders – Fast.ai

### Machine Learning – Andrew Ng, Coursera

Pricing: Free to audit, $79/month for certification

Course material (spread over 11 weeks) :

- Introduction
- Linear Regression with One Variable
- Linear Algebra Review
- Linear Regression with Multiple Variables
- Octave/Matlab Tutorial
- Logistic Regression
- Regularization
- Neural Networks: Representation
- Neural Networks: Learning
- Advice for Applying Machine Learning
- Machine Learning System Design
- Support Vector Machines
- Unsupervised Learning
- Dimensionality Reduction
- Anomaly Detection
- Recommender Systems
- Large Scale Machine Learning
- Application Example: Photo OCR

This course is the touchstone of machine learning education. It is an introductory course created by Andrew Ng, one of the world’s best-known machine learning experts who co-founded Google Brain and Coursera and was the VP of the Chinese research engine Baidu.

The course depends on linear algebra, calculus, probability, statistics, and information theory. However, you do not need in-depth knowledge of these fields to start learning. If you need to learn or refresh your understanding of these concepts, refer to the book companions at the start of this post, Khan Academy or go through the 3Blue1Brown video series. The course is very interactive and requires participation in quizzes and assignments.

The course stands out from other typical machine learning courses in that it uses the programming language Octave instead of Python or R. Given that the material is of a very high standard, it is worth using Octave to learn the fundamentals of machine learning. You can prioritize learning Python and R in parallel or after completing this course. Investing roughly three to four months of your time will give you a broad knowledge base to build into more specialized topics like deep learning.

### Deep Learning Specialization – Andrew Ng, Coursera

Pricing: Free to audit, $49/month for certification

Courses:

- Neural Networks and Deep Learning
- Improving Neural Networks, Hyperparameter Tuning, Regularization, and Optimization
- Structuring Machine Learning Projects
- Convolutional Neural Networks
- Sequence Models

This advanced course by Andrew Ng builds on the base made with the “Machine Learning” course above. The course focuses on understanding and applying neural networks. Unlike the Machine Learning course, the programming language used for the course material is Python and the TensorFlow library for neural networks. It is suitable for deep learning beginners with fundamental Python skills. The assignments after each week’s lecture require you to write code based on what you have learned during the lecture. You will get to grips with the inner functionalities of neural networks instead of just calling a framework and running a black box. Each course has a roughly four-week syllabus, requiring an investment of two to four hours a week.

The mathematics required for this course is the same as that required for the Machine Learning course. However, a book companion specifically for Deep Learning is invaluable. I recommend Grokking Deep Learning by Andrew Trask. This book contains a comprehensive introduction to the inner workings of neural networks, complete with code snippets. It is not an advanced mathematics book but provides the majority of the mathematics required to truly understand deep learning.

This course is highly recommended as an affordable and high-quality way to learn about one of the most exciting trends in machine learning.

### MicroMasters Program in Machine Learning – Columbia University

Pricing: Free to audit, $300 for certification

Course material:

- Maximum likelihood estimation, linear regression, least squares
- Ridge regression, bias-variance, Bayes rule, maximum a posteriori inference
- Bayesian linear regression, sparsity, subset selection for linear regression
- Nearest neighbour classification, Bayes classifiers, linear classifiers, perceptron
- Logistic regression, Laplace approximation, kernel methods, Gaussian processes
- Maximum margin, support vector machines, trees, random forests, boosting
- Clustering, K-means, EM algorithm, missing data
- Non-negative matrix factorization, latent factor models, PCA and variations
- Markov models, hidden Markov models
- Continuous state-space models, association analysis
- Model selection, next steps

This course is mathematically rigorous and specifically for advanced machine learning students. If you want to focus on mathematics to understand the more complex areas of machine learning, this course is for you. Before attempting this course, it would be best if you had prior exposure to machine learning concepts. This course requires the active use of a book companion, as there is an assumption of considerable fluency in probability and statistics. I would suggest the two companions described at the beginning of the post, in particular, The Elements of Statistical Learning. I would also add Machine Learning: A Probabilistic Perspective to your group of companions.

Four programming projects, weekly quizzes, and a final exam are included. The projects and quizzes are in either Python or Octave. This is a demanding course that requires a passion for the material and the mathematics behind it to get the most out of it.

### Machine Learning A-Z: Hands-On Python & R In Data Science – Kirill Eremenko, SuperDataScience Team

Pricing: £39.99 with frequent deals

Course Material:

- Data preprocessing
- Regression
- Classification
- Clustering
- Association Rule Learning
- Reinforcement Learning
- Natural Language Processing (NLP)
- Deep Learning
- Dimensionality Reduction
- Model Selection & Boosting

This extensive course boasts over 280 lectures aimed at all levels of students. Python and R are used for the course materials, presenting a chance to develop skills in both languages. Interactive problem sets exist, where you can submit your solution to the instructors via the Q&A section or private message and have your answer evaluated and discussed. As it is a top-rated course, there is a comprehensive Q&A section, so any issues you come across, whether technical or course-related, will likely be addressed there. The learning curve for this course is steep. Topics that would have their course, e.g., Deep Learning or NLP, are discussed as a module. Therefore, reading around the course material is advised if you are an entry-level learner. I would suggest this course if you want to familiarise yourself with machine learning concepts and the most popular programming languages.

### Practical Deep Learning For Coders – Fast.ai

Pricing: Free

Course Material:

- Introduction to Random Forests
- Random forest (RF) deep dive
- Performance, validation, and model interpretation
- Feature importance, tree interpreter
- Extrapolation and RF from scratch
- Data products and live coding
- RF from scratch and gradient descent
- Gradient descent and logistic regression
- Regularization, learning rates, and natural language processing (NLP)
- More NLP and Columnar data
- Embeddings
- Complete Rossmann, ethical issues

This course is a great addition that is completely free and is taught by Jeremy Howard, the founder of fast.ai. The course does not cover a broad range of topics compared to the Andrew Ng courses and focuses more on Random Forests, validation, ethics, and natural language processing. Therefore, it is recommended that you go through one of the more general courses beforehand. The content is based on the University of San Diego’s data science program and is lecture-driven. There are practical problem sets and a discussion board to get feedback and support. This course does not provide certification or graded assignments. In addition to the course material, you will learn how to use the fastai open-source library built with PyTorch. This library is used extensively in NLP problems, a rapidly growing area of machine learning. You can develop and deploy machine learning models on cloud providers like AWS.

Using a course with a fully-baked development environment can be a drawback. A lot of the practice required to understand model building exists in library wrappers. So, if you prefer to get your hands dirty, you may want to find projects to work through on Kaggle.

It is possible to gain surface-level knowledge of machine learning by following some lectures and completing assignments. However, understanding machine learning requires reading beyond course materials and finding explanations that you can grasp fully. In tandem, you want to apply the concepts by starting projects as soon as possible; this will ensure you get out of your comfort zone and boost your retention of information. I have listed a video below that explores some advice for learning machine learning by yourself.

Machine learning is transforming the world in the same way as electricity does. It is one of the most exciting fields to be in and provides entertaining applications and projects to build. It exists as one component of data science: statistical data analysis, data wrangling, and visualization. To combine these skills, click here for the best data science courses.

Feel free to share this post if it will be useful to someone you know.

Have fun learning, and enjoy your journey!

Suf is a senior advisor in data science with deep expertise in Natural Language Processing, Complex Networks, and Anomaly Detection. Formerly a postdoctoral research fellow, he applied advanced physics techniques to tackle real-world, data-heavy industry challenges. Before that, he was a particle physicist at the ATLAS Experiment of the Large Hadron Collider. Now, he’s focused on bringing more fun and curiosity to the world of science and research online.