机器学习-问答题准备(英文)-更新中
第一章 入门
-
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 it shines?
To replace long lists of hand-tuned rules, like filtering spam emails; to make better recommendations for customers; to build systems that adapt to fluctuating environments; to recognize voice and pictures. -
What is a labeled training set?
It contains desired solution (a.k.a. a label) for each instance. -
What are the two most common supervised tasks?
Regression and classification. -
Can you name four common unsupervised tasks?
Clustering, dimensionality reduction, visualization 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. -
What type of algorithm would you use to segment your customers into multiple groups?
If you don’t know what groups you would like to have, then you can use clustering, otherwise use classification instead. -
Would you frame the problem of spam detection as a supervised learning problem or an unsupervised learning problem?
It’s a supercised learning problem. -
What is an online learning system?
It can learn incrementally. This makes it capable of adapting rapidly ro 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?
Instance-based learning. -
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, for example, the slope of a linear model. A hyperparameter is a parameter of the learning algorithm itself, not of the model, for example, 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?
They 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 system is at making predictions on training data, plus a penalty for model complexity if the model is regularized. To make predictions, we feed the new instance’s features into the model’s prediction function, using the parameter values found by the learning system. -
Can you name four of the main challenges in Machine Learning?
Lack of data, poor data quality, nonrepresentative data, 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?
It seems that the model is likely overfitting the training data. Possible solutions such as getting more data, simplifying the model, and reducing the noise in the training data. -
What is a test set, and why would you want to use it?
A test set is used to estimate the generalization error that a model will make on new instances, before the model is launched in production. -
What is the purpose of a validation set?
A validation set is used to compare models. It helps to select the best model and tune the hyperparameters. -
What is the train-dev set, when do you need it, and how do you use it?
The train-dev set is a part of the training set that’s held out(the model is not trained on it).
It’s used when there is a risk of mismatch between the training data the validation plus test data.
The model is trained on the rest of the training set, and evaluated on both the train-dev set and the validation set.If the model performs well on the traing set but not on the train-dev set, then the model is overfitting the traing set. If the model performs well on train-dev set, but not on the validation set, then there is probably a significant data mismatch between the traing data and the validation + test data. -
What can go wrong if you tune hyperparameters using the test set?
If you do so, you risk overfitting the test set and the generalization error will be optimistic.