Machine Learning Interview Questions and Answers PDF
Machine Learning Interview Questions and Answers PDF
Questions
With the demand for machine learning engineers and data scientists outstripping the supply,
organizations are finding it difficult to hire skilled talent and so are prospective candidates
for machine learning jobs finding it difficult to crack a machine learning interview. Machine
learning is a broad field and there are no specific machine learning interview questions that
are likely to be asked during a machine learning engineer job interview because the
machine learning interview questions asked will focus on the open job position the employer
is trying to fill. For instance, if you consider a machine learning engineer job role for finance
vs. a robotics job, both of them will be completely different in terms of data, architecture and
the responsibilities involved. Machine learning engineer job role for robotics will require a
candidate to focus working on Neural Networks based architecture while the machine
learning tasks for finance will focus working more on Linear and Logistic
regression algorithms.
A machine learning interview is definitely not a pop quiz and one must know what to expect
going in. In our earlier posts, we have discussed about the different kind of big data
interview questions and data science interview questions that are likely to be asked in an
analytic job related interview. The main focus of this blog post is to give prospective
machine teaching engineers a knick-knack of the kind of machine learning interview
questions that are likely to be asked in a machine learning job interview.
Disclaimer – There is no guarantee that machine learning interview questions listed in this article will be asked in a machine learning job
interview. The purpose of these machine learning questions is to give the readers information on what kind of knowledge an applicant for a
machine learning job position needs to possess.
In inductive machine learning, the model learns by examples from a set of observed
instances to draw a generalized conclusion whereas in deductive learning the model first
draws the conclusion and then the conclusion is drawn. Let’s understand this with an
example, for instance, if you have to explain to a kid that playing with fire can cause burns.
There are two ways you can explain this to kids, you can show them training examples of
various fire accidents or images with burnt people and label them as “Hazardous”. In this
case the kid will learn with the help of examples and not play with fire. This is referred to as
Inductive machine learning. The other way is to let your kid play with fire and wait to see
what happens. If the kid gets a burn they will learn not to play with fire and whenever they
come across fire, they will avoid going near it. This is referred to as deductive learning.
2) How will you know which machine learning algorithm to choose for your
classification problem?
If accuracy is a major concern for you when deciding on a machine learning algorithm then
the best way to go about it is test a couple of different ones (by trying different parameters
within each algorithm ) and choose the best one by cross-validation. A general rule of
thumb to choose a good enough machine learning algorithm for your classification problem
is based on how large your training set is. If the training set is small then using low
variance/high bias classifiers like Naïve Bayes is advantageous over high variance/low bias
classifiers like k-nearest neighbour algorithms as it might overfit the model. High
variance/low bias classifiers tend to win when the training set grows in size.
Naïve Bayes machine learning algorithm is considered Naïve because the assumptions the
algorithm makes are virtually impossible to find in real-life data. Conditional probability is
calculated as a pure product of individual probabilities of components. This means that the
algorithm assumes the presence or absence of a specific feature of a class is not related to
the presence or absence of any other feature (absolute independence of features), given
the class variable. For instance, a fruit may be considered to be a banana if it is yellow, long
and about 5 inches in length. However, if these features depend on each other or are based
on the existence of other features, a naïve Bayes classifier will assume all these properties
to contribute independently to the probability that this fruit is a banana. Assuming that all
features in a given dataset are equally important and independent rarely exists in the real-
world scenario.
Machine learning is all about making decisions based on previous experience with a task
with the intent of improving its performance. There are multiple examples that can be given
to explain machine learning to a layperson –
6) You are given a dataset where the number of variables (p) is greater than the
number of observations (n) (p>n). Which is the best technique to use and why?
When the number of variables is greater than the number of observations, it represents a
high dimensional dataset. In such cases, it is not possible to calculate a unique least square
coefficient estimate. Penalized regression methods like LARS, Lasso or Ridge seem work
well under these circumstances as they tend to shrink the coefficients to reduce variance.
Whenever the least square estimates have higher variance, Ridge regression technique
seems to work best.
.8) Name some feature extraction techniques used for dimensionality reduction.
9) List some use cases where classification machine learning algorithms can be
used.
11) How much data will you allocate for your training, validation and test sets?
There is no to the point answer to this question but there needs to be a balance/equilibrium
when allocating data for training, validation and test sets.
If you make the training set too small, then the actual model parameters might have high
variance. Also, if the test set is too small, there are chances of unreliable estimation of
model performance. A general thumb rule to follow is to use 80: 20 train/test spilt. After this
the training set can be further split into validation sets.
12) Which one would you prefer to choose – model accuracy or model performance?
Model accuracy is just a subset of model performance but is not the be-all and end-all of
model performance. This question is asked to test your knowledge on how well you can
make a perfect balance between model accuracy and model performance.
13) What is the most frequent metric to assess model accuracy for classification
problems?
Percent Correct Classification (PCC) measures the overall accuracy irrespective of the kind
of errors that are made, all errors are considered to have same weight.
15) Why is Manhattan distance not used in kNN machine learning algorithm to
calculate the distance between nearest neighbours?
16) What is a Receiver Operating Characteristic (ROC) curve? What does it convey?
A ROC curve is a graph that plots True Positive Rate vs False Positive Rate. It displays the
performance of a classification algorithm at all classification thresholds.
Curves that are pointed towards the left corner of the plot belong to good classifiers.
17) List a few distances used for the K-means clustering algorithm.
1. Euclidean Distance
2. Minkowski Distance
3. Hamming Distance
4. Manhattan Distance
5. Chebychev Distance
18) Consider a dataset that contains features belonging to four classes. You are
asked to use Logistic Regression as a classification algorithm to train your
dataset. Do you think it is a good idea? If not, which algorithm would you suggest for
the task?
No, it is not advisable to use Logistic Regression for multi-class classification as even when
the estimated coefficients for the Logistic Regression model are evaluated for well-
separated classes, the model is unstable.
A simple alternative to this would be the Linear Discriminant Analysis algorithm which is
more stable than the Logistic Regression for multi-class classification.
19) What is the major difference between Quadratic Discriminant Analysis (QDA) and
Linear Discriminant Analysis (LDA)?
LDA presumes that features within each class form a part of a multivariate Gaussian
distribution with a class-specific mean vector and a covariance matrix that is shared by all N
classes. However, QDA assumes that each class has its own covariance matrix.
Quadratic Discriminant Analysis would be the perfect choice as it is best suited for cases
where the decision boundaries between the classes are moderately non-linear.
In Machine learning, when we are trying to fit a set of ‘f’ feature variables to a model, we
shrink the coefficients of the model corresponding to a few of the f feature variables to zero.
This shrinkage is known as regularization. It is a method to perform feature variable
selection.
The two most widely used regularization techniques are ridge regression and lasso
regression.
In supervised learning, we train our machine learning model using a dataset where the
target values corresponding to each set of feature variables are known.
In ridge regression, an extra term that is In Lasso regression, an extra term that is
proportional to the square of the coefficients proportional to the coefficients is added to
is added to the RSS (Residual sum-of- the RSS (Residual sum-of-squares) to
squares) to penalize the estimation of the penalize the estimation of the coefficients
coefficients of the linear regression model. of the linear regression model.
In unsupervised learning, we train our machine learning model using a dataset where the
target values corresponding to each set of feature variables are not known. We thus look for
patterns in the feature variable space and cluster similar ones together.
26) Which algorithms can be used for both classification and regression problems?
Following machine learning algorithms can be used for both classification and regression:
The splitting technique is labelled top-down because it starts from the top of the tree (the
point at which all the feature variables haven’t been split) and then successively divides the
target variable space, each division is indicated by two new branches further down on the
tree.
The technique is also labelled as greedy. That is because, at every step of the tree-
generating process, the best division (or split) is ensured at that specific step, instead of
moving ahead and choosing a split that generates a better tree in some later step.
Neural Networks
Decision Tree
Consider a random experiment whose all possible outcomes are finite. Let C denote the
sample space of all possible outcomes. Then, the probability for an event A (which is a
subset of C) is given by,
However, if a hypothesis H is given, then the probability of the event A is given by:
Where A and H are both subsets of C. Thus, given anyone hypothesis, this defines the
probability for any member of the set of possible results. It may be regarded as a function of
both A and H, but is usually used as a function of A alone, for some specific H. On the other
hand, the likelihood, L(H|A) of the hypothesis H given event of interest, A, is proportional to
P(A|H), the constant of proportionality being arbitrary. The key here is that with probability,
A is the variable and H is constant while with likelihood, H is the variable for constant A.
Finding the middle element of a linked list in a single pass means we should traverse the
complete linked list twice as we do in a two-pass case. To achieve this task, we can use two
pointers: slw_ptr (slow pointer) and fst_ptr (fast pointer). If the slow pointer reads each
element of the list and the fast pointer is made to run twice as fast as the slow pointer, then
when the fast pointer is at the end of the linked list, the slow pointer will be at the middle
element.
Steps:
The following function will print the InOrder traversal of a tree in C++:
if (node == NULL)
return;
printInorder(node->left);
2) Is the given machine learning model prove to over fitting? If so, what can you do about
this?
3) What type of data does the machine learning model handle –categorical, numerical, etc.?
7) Which is your favourite machine learning algorithm? Why it is your favourite and how will
you explain about that machine learning algorithm to a layperson?
10) Which tools and environments have you used to train and assess machine learning
models?
11) If you claim in your resume that you know about recommender systems, then you might
be asked to explain about PLSI and SVD models in detail.
Assume that all the marbles look the same and weigh the same except the one which
is slightly heavier than each one of them.
In the neural network machine learning algorithm, we use the backpropagation algorithm to
identify the correct weights for a given dataset. When the backpropagation algorithm is used
with gradient descent, there are chances that the code will display that the loss function is
decreasing with each iteration even though there is a bug in the code. Hence, it is important
The loss function in the Neural Network machine learning algorithm is the function that the
gradient descent algorithm uses to compute the gradient. It plays an important role in
configuring a machine learning model.
4) Which one is better – random weight assignment or assigning the same weights
to the units in the hidden layer?
For hidden layers of a neural network, it is better to assign random weights to each unit of
the layer than assigning the same weights to it. That is because if we use the same weights
for each unit, then all the units will generate the same output and lower the entropy. Thus,
we should always use random weights that are able to break the symmetry and to quickly
reach the cost function minima.
A spam filter can be designed by training a neural network with emails that are spam and
emails that are not spam. Of course, before feeding the network with emails, one must
convert the textual data into numbers through text processing techniques.
7) Given a number, how will you find the closest number in a series of floating-point data?
8) What is boosting?
A few of the reasons for the gradient descent algorithm showing slow convergence or no
convergence at all are:
A good way of calculating the range of an objective function’s learning rate is by training a
network beginning with a low learning rate and increasing the learning rate exponentially for
every batch. One should then store the values for loss corresponding to each learning rate
value and then plot it to visualize which range of learning rate corresponds to a fast
decrease in the loss function.
3) If the gradient descent does not converge, what could be the problem?
4) Given the song list and metadata, disambiguate artists having same names.
5) How will you sample a stream of data to match the distribution with real data?
2) Differentiate between gradient boosted tree and random forest machine learning
algorithm.
4) Considering that you have 100 data points and you have to predict the gender of a
customer. What are the difficulties that could arise?
A machine learning interview is a compound process and the final result of the interview is
determined by multiple factors and not just by looking at the number of right answers given
by the candidate. If you really want that machine learning job, it’s going to take time and
dedication as you practice multiple ways to answer the above listed machine learning
interview questions, but hopefully it is the enjoyable kind. You will learn a lot and get a good
deal of knowledge preparing for your next machine learning interview with the help of these
questions.
Machine learning interview questions updated on this blog have been collected from various
sources like actual interview experiences of data scientists, discussions on quora, facebook,
job portals and other forums,etc. To contribute to this blogpost and help the learning
community, please feel free to post your questions in the comments section below.
Stay tuned to this blog for more updates on Machine Learning Interview Questions and
Answers!