Chapter 1: The Machine Learning Landscape Flashcards
How would you define Machine Learning?
Machine Learning is about building systems that can learn from data. Learning
means getting better at some task, given some performance measure.
Can you name four types of problems where Machine Learning shines?
Machine Learning is great for complex problems for which we have no algorith‐
mic solution, to replace long lists of hand-tuned rules, to build systems that adapt
to fluctuating environments, and finally to help humans learn (e.g., data mining).
What is a labeled training set?
A labeled training set is a training set that contains the desired solution (a.k.a. a
label) for each instance.
What are the two most common supervised tasks?
The two most common supervised tasks are regression and classification.
Can you name four common unsupervised tasks?
Common unsupervised tasks include clustering, visualization, dimensionality
reduction, and association rule learning.
What type of Machine Learning algorithm would you use to allow a robot to
walk in various unknown terrains?
Reinforcement Learning is likely to perform best if we want a robot to learn to
walk in various unknown terrains, since this is typically the type of problem that
Reinforcement Learning tackles. It might be possible to express the problem as a
supervised or semisupervised learning problem, but it would be less natural.
What type of algorithm would you use to segment your customers into multiple
groups?
If you don’t know how to define the groups, then you can use a clustering algo‐
rithm (unsupervised learning) to segment your customers into clusters of similar
customers. However, if you know what groups you would like to have, then you can feed many examples of each group to a classification algorithm (supervised
learning), and it will classify all your customers into these groups
Would you frame the problem of spam detection as a supervised learning problem or an unsupervised learning problem?
Spam detection is a typical supervised learning problem: the algorithm is fed
many emails along with their labels (spam or not spam).
What is an online learning system?
An online learning system can learn incrementally, as opposed to a batch learn‐
ing system. This makes it capable of adapting rapidly to both changing data and
autonomous systems, and of training on very large quantities of data.
What is out-of-core learning?
Out-of-core algorithms can handle vast quantities of data that cannot fit in a
computer’s main memory. An out-of-core learning algorithm chops the data into
mini-batches and uses online learning techniques to learn from these minibatches
What type of learning algorithm relies on a similarity measure to make predictions?
An instance-based learning system learns the training data by heart; then, when
given a new instance, it uses a similarity measure to find the most similar learned
instances and uses them to make predictions.
What is the difference between a model parameter and a learning algorithm’s
hyperparameter?
A model has one or more model parameters that determine what it will predict
given a new instance (e.g., the slope of a linear model). A learning algorithm tries
to find optimal values for these parameters such that the model generalizes well
to new instances. A hyperparameter is a parameter of the learning algorithm
itself, not of the model (e.g., the amount of regularization to apply).
What do model-based learning algorithms search for? What is the most common
strategy they use to succeed? How do they make predictions?
Model-based learning algorithms search for an optimal value for the model
parameters such that the model will generalize well to new instances. We usually
train such systems by minimizing a cost function that measures how bad the sys‐
tem is at making predictions on the training data, plus a penalty for model com‐
plexity if the model is regularized. To make predictions, we feed the new
instance’s features into the model’s prediction function, using the parameter val‐
ues found by the learning algorithm.
Can you name four of the main challenges in Machine Learning?
Some of the main challenges in Machine Learning are the lack of data, poor data
quality, nonrepresentative data, uninformative features, excessively simple mod‐
els that underfit the training data, and excessively complex models that overfit
the data.
If your model performs great on the training data but generalizes poorly to new
instances, what is happening? Can you name three possible solutions?
If a model performs great on the training data but generalizes poorly to new
instances, the model is likely overfitting the training data (or we got extremely
lucky on the training data). Possible solutions to overfitting are getting more
data, simplifying the model (selecting a simpler algorithm, reducing the number
of parameters or features used, or regularizing the model), or reducing the noise
in the training data.