Artificial Intelligence
Machine Learning (ML)
- Supervised Machine Learning
- Unsupervised Machine Learning
Classical programming uses programs (algorithms) to create results:
Traditional Computing
Data + Computer Algorithm = Result
Machine Learning uses results to create programs (algorithms):
Machine Learning
Data + Result = Computer Algorithm
Machine Learning
Machine Learning is often considered equivalent with Artificial Intelligence.
This is not correct. Machine learning is a subset of Artificial Intelligence.
Machine Learning is a discipline of AI that uses data to teach machines.
"Machine Learning is a field of study that gives computers the ability to learn without being programmed."
Arthur Samuel (1959)
Supervised Learning
Supervised learning uses labeled data (data with known answers) to train algoritms to:
- Classify Data
- Predict Outcomes
Supervised learning can classify data like "What is spam in an e-mail", based on known spam examples.
Supervised learning can predict outcomes like like predicting what kind of video you like, based on videos you have played.
Unsupervised Learning
Unsupervised learning is used to predict undefined relationships like meaningful patterns in data.
It is about creating computer algorithms than can improve themselves.
It is expected that machine learning will shift to unsupervised learning to allow programmers to solve problems without creating models.
Self-Supervised Learning
Self-supervised learning is similar to unsupervised learning because both work with data without human added labels.
The difference is that unsupervised learning uses clustering, grouping, and dimensionality reduction, while self-supervised learning draw its own conclusions for regression and classification tasks.
Machine Learning Terminology
Key Machine Learning terminologies are:
- Labels
- Features
- Models
- Training
- Inference
Relationships
Machine learning systems uses Relationships between Inputs to produce Predictions.
In algebra, a relationship is often written as y = ax + b:
- y is the label we want to predict
- a is the slope of the line
- x are the input values
- b is the intercept
With ML, a relationship is written as y = b + wx:
- y is the label we want to predict
- w is the weight (the slope)
- x are the features (input values)
- b is the intercept
Machine Learning Labels
In Machine Learning terminology, the label is the thing we want to predict.
It is like the y in a linear graph:
Algebra | Machine Learning |
y = ax + b | y = b + wx |
Machine Learning Features
In Machine Learning terminology, the features are the input.
They are like the x values in a linear graph:
Algebra | Machine Learning |
y = ax + b | y = b + wx |
Sometimes there can be many features (input values) with different weights:
y = b + w1x1 + w2x2 + w3x3 + w4x4
Machine Learning Models
A Model defines the relationship between the label (y) and the features (x).
There are three phases in the life of a model:
- Data Collection
- Training
- Inference
Machine Learning Training
The goal of training is to create a model that can answer a question. Like what is the expected price for a house?
Machine Learning Inference
Inference is when the trained model is used to infer (predict) values using live data. Like putting the model into production.