This introduction to machine learning tutorial will give you the theory and the tools to help you learn what is machine learning,
What is Machine Learning
Machine learning (ML) is the use of computer algorithms and statistical methods to help computers learn and make decisions from data, without human supervision.
Machine learning is a branch of Artificial Intelligence (AI) and a major component of data science.
Artificial Intelligence VS Machine Learning VS Deep Learning
Artificial intelligence, machine learning and deep learning or often used interchangeably, but they are not the same.
- Artificial Intelligence, or AI, is an umbrella term and refers to the science that studies way to build computer algorithms that learn and solve problem in a similar way as human cognitive function.
- Machine Learning, or ML, is a subset of artificial intelligence (AI). It refers to the set of algorithms that have the ability to learn from data without being explicitly programmed.
- Deep Learning, or DL, is a subset of machine learning (ML). It refers to a set of algorithms that try to mimic human neural systems, also known as neural networks.
Machine Learning Examples
Machine learning can be used in any field where data is involved.
Here are real-world examples of the application of machine learning:
- Image Recognition
- Information Retrieval
- Image Generation
- Video Generation
- Music Generation
Using machine learning to tackle climate change and monitor biodiversity.
Documents, Images or Videos are often classified using machine learning (document clusters, recommender systems).
Facebook uses machine learning to predict a person’ likelihood to click on an ad (source).
Search Engines can use machine learning to help satisfy the user better, but also to improve the efficiency of crawling, indexation and serving of content.
Here is an example using DALL-E
Facebook’s “Make-A-Video” generates videos from text.
Soundraw.io creates music using machine learning systems.
Common Machine Learning Tasks
Below are common machine learning tasks that you may be interested in learning about.
- Natural Language Processing (NLP)
How to Learn Machine Learning?
Beginners with no programming or mathematical background can learn machine learning. The mathematical, statistical and programming skills can be learn with dedicated learning.
To learn machine learning, you need to:
- Focus on short term achievable learning. You don’t need to be a data scientist at Google overnight. Within a year you can definitely have a good understanding of the essentials of machine learning.
- Overcome mental barriers. People love to promote that machine learning is an incredibly complex world meant only for the geniuses of the world. Truth is, you can leverage some machine learning very early in your learning process.
- Choose a programming language. Python, R, Java, C… The list of programming languages that you can use for Machine Learning is very large. Python is convenient with a large community and lot of packages available. R is arguably better for mathematical modules and applications. C is better for performance, but has an incredible steep learning curve.
- Find a course or a program. Some prefer regular academic programs in Universities. I prefer online courses, preferably within a platform that has complete programs that will cover the programming and statistical requirement to improve your machine learning skills over time. DataCamp, Coursera, Udemy, EdX, or even YouTube can be an ally.
- Follow a learning schedule that you can keep for at least a year. Learning machine learning takes time. Find a moment every day, every week to learn in a structured way. Keep note of your learnings.
- Stop and try ideas for yourself. Working on your own projects early on will help you to keep motivated and will provide early return on investment. Even if it is not the best machine learning at first, it is still progress you can be proud of.
If you want to start learning, check out some of the Free Github Repositories to learn data science.
Machine learning can be for Anyone
My simplest advice to learn machine learning is to stop believing that machine learning is only for statistician or engineers. It is simply not true. Machine learning is available to anyone motivated enough. Just see this post by Santiago:
Find a Course in Machine Learning
To get started in machine learning is to find a course that will allow you to get started from the very beginning.
Resources to Learn Machine Learning
- Python Data Science Handbook by Jake VanderPlas
- Machinelearningmastery by Jason Brownlee
- A Complete Machine Learning Package by Jean de Nyandwi
- Machine Learning Course by Andres Segura-Tinoco
- Data Scientist with Python track in DataCamp
Types of Machine Learning
The 5 main types of machine are:
- Supervised Learning
- Unsupervised Learning
- Semi-Supervised Learning
- Self-Supervised learning
- Reinforcement Learning
What is Supervised Learning?
Supervised learning defines an algorithm used in machine learning to train models based on labelled data. Supervised learning is most commonly used for classification and regression problems.
- Supervised learning
What is Unsupervised Learning?
Unsupervised learning is one of the techniques used in machine learning to train models by finding patterns in unlabelled data. Unsupervised learning is most commonly used for clustering and dimensionality reduction problems.
- Unsupervised learning
What is Semi-supervised Learning?
Semi-supervised learning has attributes common to both supervised and unsupervised learning. In semi-supervised learning, part of training data is labelled while the rest is not. Semi-supervised learning is most commonly used in problems that involve large datasets where it would be too resource-intensive to label all the data.
What is Self-supervised Learning?
While semi-supervised learning requires at least some of the data points to be labelled, self-supervised learning requires no labelled data. Instead, it relies on the underlying structure of the data to make predictions.
What is Reinforcement Learning?
Reinforcement learning is a type of machine learning that train models to make a sequence of decisions by maximizing the total reward. It is most commonly used in AI and robotics.
Machine Learning Algorithms
There are a lot of different machine learning algorithms, and some would fall into multiple categories, but I created a mind-map to help visualize the most important machine learning algorithms.
This is just to get a global picture of machine learning and should not be used as a source of truth. For instance, Logistic regression could be both a Classification and a Regression algorithm.
Below shows a table of content format with links to the algorithms that I have written about.
- Supervised learning
- Unsupervised Learning
- Dimensionality reduction algorithms
- Principal component analysis (PCA)
- Non-negative matrix factorization (NMF)
- Linear discriminant analysis (LDA)
- T-distributed stochastic neighbor embedding (t-SNE)
- Generalized discriminant analysis (GDA)
- Kernel PCA
- Clustering algorithms
- Dimensionality reduction algorithms
- Decision Tree algorithms
- Classification and regression trees (CART)
- Ensemble algorithms
- Random Forest
- Bootstrap Aggregation (Bagging)
- Stacked generalization (Blending)
- Deep Learning algorithms
- Convolutional Neural Networks (CNN)
- Recurrent Neural Networks (RNN)
- Long Short-Term Memory (LSTM)
- Deep Belief Networks (DBN)
- Deep Boltzmann Machines (DBM)
- Neural networks algorithms
- Radial Basis Function Network (RBFN)
- Bayesian algorithms
- Naive Bayes
- Gaussian Naive Bayes
- Causal Impact
Data Science and Machine Learning Process
A machine learning process is an iterative process that data scientists follow to improve their decision-making through better analysis, visualization, interpretation and modelling of their data.
Depending on the role, the process may vary, but altogether following this “typical” process help to increase confidence in the results.
- Problem definition
- Data collection
- Data preparation
- Exploratory data analysis (EDA)
- Data preprocessing
- Feature engineering and feature selection
- Model preparation
- Split into training and testing sets
- Hyperparameter tuning
- Cross validation
- Model training
- Model evaluation
- Precision-Recall curve
- ROC curve
- Model selection
- Model deployment
Who Can Leverage Machine learning?
- Machine learning for SEO
- Machine learning in Data Science
- Machine Learning for Scientists
- Machine Learning in Finance
- Machine Learning in E-commerce
- Machine Learning in Job Search
- Machine Learning in Image Recognition
Machine Learning Books
Hands-on machine learning with scikit-learn keras and tensorflow by Aurélien Geron
Who to Follow in the Machine Learning Community?
Here is an amazing list of people who are shaping Machine Learning community:
- Mark Tenenholtz
- Pratham Prasoon
- Sayan Nath
- Jean de Nyandwi
- Matthias Niessner
- Andrew Trask
- Jake VanderPlas
- Sayak Paul
- Alejandro Piad Morffis
- Vincent D. Warmerdam
- Josh Gordon
- Jason Brownlee
- François Chollet
- Aurélien Geron
- Philip Vollet
Alternatively, you can follow this machine learning list on Twitter.
In this introduction to machine learning, we have learned what machine learning is and how it is different to AI. We also have covered the types of machine learning and which algorithms can be used for each type.
Finally, we have seen what the data science process is and why it is important.
Now, I sure hope that you will keep learning machine learning and share your progress as you go. Good luck.
SEO Strategist at Tripadvisor, ex- Seek (Melbourne, Australia). Specialized in technical SEO. In a quest to programmatic SEO for large organizations through the use of Python, R and machine learning.