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.
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
Free Machine learning courses
- 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
Paid Machine Learning Courses
- 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
- Clustering 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
Popular Machine Learning Libraries in Python
There are a number of machine learning libraries available in Python.
|Name of Library||Popular Modules||Alternatives||Difficulty to Learn||Specialization|
|OpenAI||GPT-3, Codex||LLaMA, BERT||High||NLP, AI Research|
|Scikit-learn||Classification, Regression||XGBoost, LightGBM||Low||General ML|
|NLTK||Tokenization, POS Tagging||spaCy, TextBlob||Moderate||NLP|
|spaCy||tokens, displacy||nltk, TextBlob||Easy||NLP|
|TensorFlow||Keras, tf.data||PyTorch, MXNet||High||Deep Learning|
|PyTorch||Tensors, Autograd||TensorFlow, MXNet||Moderate||Deep Learning|
|Keras||Sequential, Functional API||TensorFlow, PyTorch||Moderate||Deep Learning|
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
How to Gather Data for Machine Learning
Machine learning requires a lot of data to produce prediction that can be used. Hence, data scientists use many techniques for gathering data to train their machine learning models.
There are three main ways to gather data for machine learning:
- Internal Data
- Web Scraping
Internal Data for Machine Learning
There are many sources of internal data that can be used to train machine learning models. From Google Analytics data to customer sales data or even data that your business gathers from things like video cameras, all can be used in Machine learning.
APIs for Machine Learning
Machine learning engineers and data scientists often use application programming interfaces such as the Reddit API or the Wikipedia API to gather publicly available data to train their machine learning models. Internal APIs such as the Google Search Console API can be used to gather internal data too.
Web Scraping for Machine Learning
Web scraping is an essential technique used by data scientists to gather data for machine learning. It provides a way to automate data gathering from the Internet and is the basis of how Large Language Models were all built.
Useful Skills for Machine Learning
There are some important skills that data scientists and machine learning engineers should have:
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.