In this video, we’ll introduce you to machine learning and deep learning models.
Data contains a wealth of information that can be used to solve certain types of problems.
Traditional data analysis approaches, such as a person manually inspecting the data or
a specialized computer program that automates the human analysis, quickly reach their limits
due to the amount of data to be analyzed or the complexity of the problem.
Machine learning uses algorithms – also known as ”models” - to identify patterns
in the data.
The process by which the model learns these patterns from data is called “model training."
Once a model is trained, it can then be used to make predictions.
When the model is presented with new data, it tries to make predictions or decisions
based on the patterns it has learned from past data.
Machine learning models can be divided into three basic classes: supervised learning,
unsupervised learning, and reinforcement learning.
Supervised learning is one of the most commonly used type of machine learning models.
In supervised learning, a human provides input data and the correct outputs.
The model tries to identify relationships and dependencies between the input data and
the correct output.
Generally speaking, supervised learning is used to solve regression and classification
problems.
Let’s look at an example for each problem type:
Regression models are used to predict a numeric, or “real," value.
For example, given information about past home sales, such as geographic location, size,
number of bedrooms, and sales price, you can train a model to predict the estimated sales
price for other homes with similar characteristics.
Classification models are used to predict whether something belongs to a category, or
“class."
For example, given a set of emails along with a designation of whether or not they are considered
spam, an algorithm can be trained to identify unsolicited emails.
In unsupervised learning, the data is not labelled by a human.
The models must analyze the data and try to identify patterns and structure within the
data based only on the characteristics of the data itself.
Clustering and anomaly detection are two examples of this learning style.
Clustering models are used to divide each record of a data set into one of a small number
of similar groups.
An example of a clustering model could be providing purchase recommendations for an
e-commerce store based on past shopping behavior and the content of a shopping basket.
Anomaly detection identifies outliers in a data set, such as fraudulent credit card transactions
or suspicious online log-in attempts.
The third type of learning, reinforcement learning, is loosely based on the way human
beings and other organisms learn.
Think about a mouse in a maze.
If the mouse gets to the end of the maze it gets a piece of cheese.
This is the “reward” for completing a task.
The mouse learns – through trial and error – how to get through the maze to get as
much cheese as it can.
In a similar way, a reinforcement learning model learns the best set of actions to take,
given its current environment, in order to get the most reward over time.
This type of learning has recently been very successful in beating the best human players
in games such as go, chess, and popular strategy video games.
Deep learning is a specialized type of machine learning.
It refers to a general set of models and techniques that tries to loosely emulate the way the
human brain solves a wide range of problems.
It is commonly used to analyze natural language, both spoken and text, as well as images, audio,
and video, to forecast time series data and much more.
Deep learning has had a lot of recent success in these and other areas and is therefore
becoming an increasingly popular and important tool for data science.
Deep learning typically requires very large data sets of labeled data to train a model,
is compute-intensive, and usually requires special purpose hardware to achieve acceptable
training times.
You can build a custom deep learning model from scratch or use pre-trained models from
public model repositories.
Deep learning models are implemented using popular frameworks such as TensorFlow, PyTorch,
and Keras.
Deep learning frameworks typically provide a Python API, and many support other programming
languages, such as C++ and JavaScript.
You can download pre-trained state-of-the-art models from repositories that are commonly
referred to as model "zoos."
Popular model zoos include those provided by TensorFlow, PyTorch, Keras, and ONNX.
Models are also published by academic and commercial research groups.
While it is beyond the scope of this video to explain in detail how you would go about
building a model, let’s briefly outline the high-level tasks using an example.
Assume you want to enable an application to identify objects in images by training a deep
learning model.
First, you collect and prepare data that will be used to train a model.
Data preparation can be a time-consuming and labor-intensive process.
In order to train a model to detect objects in images, you need to label the raw training
data by, for example, drawing bounding boxes around objects and labeling them.
Next, you build a model from scratch or select an existing model that might be well suited
for the task from a public or private resource.
You then train the model on your prepared data.
During training, your model learns from the labeled data how to identify objects that
are depicted in an image.
Once training has commenced, you analyze the training results and repeat the process until
the trained model performance meets your requirements.
When the trained model performs as desired, you deploy it to make it available to your
applications.
In this video, you’ve learned about machine learning and deep learning, what they are
used for, and where to find open source models.
In the next video, we’ll introduce you to the Model Asset eXchange, a curated collection
of ready-to-use and customizable deep learning models.