Machine Learning
Machine Learning
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.