Machine Learning is the study of computer algorithms that improve automatically through experience. These algorithms build a mathematical model based on sample data. It is seen as a subset of Artificial Intelligence.
At the moment doesn't exists a clear classification working for any machine learning approach. Anyway, some partial classification arised.
Approaches are traditionally divided into three broad categories: Supervised Learning (you know the desired output), Unsupervised Learning (you don't know or you know a little about the desired output) and Reinforcement Learning (you learn from the environment). Some of the approaches don't fit neatly into this three-fold categorisation.
Another classification compares "traditional" approaches, based mostly on statistics and optimization techniques, and Deep Learning, which has become the dominant approach for much ongoing work, based on Neural Networks. The main difference is the importance of the feature engineering phase. Traditional methods requires a lot of effort to find the best shape for the features. Deep Learning instead, just requires a huge amount of data (and a little bit of luck).
Another classification is based on the field of use. Specializations are emerging to deal with specific problems: Predictive Analytics, Service Personalization, Natural Language Processing, Computer Vision, Speech Recognition and many more.
Machine Learning Scientists (or Machine Learning Reserachers) are people who work with data and build machine learning models. They clean and interpret data and build prototype models using a combination of machine learning algorithms and data.
Machine Learning Engineers are the "support troops" of Machine Learning Scientists. They do anything from data lake set up and management to building easy to use computational clusters for training and finally ensuring high availability deployment of models. Often this also involves models optimization and performance enhancements.
Machine learning engineers come from software development and DevOps backgrounds and have started to specialize in ML infrastructure. These people are familiar with containers, container orchestration and building robust deployment pipelines.
MLOps is a practice, similar to the DevOps or DataOps, for collaboration and communication between Machine Learning experts and operations professionals to help manage production ML (or deep learning) lifecycle.
- The Hundred-Page Machine Learning Book
- Introduction to Machine Learning with Python
- Hands-On Machine Learning with Scikit-Learn and TensorFlow
- Deep Learning
- Deep Learning for Coders with fastai and PyTorch
- Machine Learning (Coursera)
- Feature Engineering (Kaggle)
- Deep Learning Specialization (Coursera)
- Practical Deep Learning for Coders (Fast.ai)
- Full Stack Deep Learning (Berkeley)
- IBM AI Engineering (Coursera)
- Mathematics for Machine Learning (Coursera)
- Description: This course is an introduction to the mathematics involved in Machine Learning. It is divided in three submodules: Linear Algebra, Calculus and Probability and Statistics.
- Feedback: The course is very well done, with interesting interactive examples and programming tasks relevant to the topics. However it is very basic, and sometimes it might appear to be too slow.