머신러닝

41 Essential Machine Learning Interview Questions (with answers)

이슈카 2017. 3. 21. 15:02

https://www.springboard.com/blog/machine-learning-interview-questions/

원문은 위에 링크에 존재합니다.

관련 있는 내용에 대해서만 짤막하게 적겠습니다. 발번역입니다.

원문을 읽어보시는 게 좋을 것 같습니다.

Q1- What’s the trade-off between bias and variance?
Q1- 편의-분산 상충관계( 바이어스 배리언스 트레이드 오프) 란 무엇인가?

More reading: Bias-Variance Tradeoff (Wikipedia)

편의(bias, 바이어스)란 사용하는 학습 알고리즘에서 잘못되거나 너무 단순한 가정때문에 발생하는 에러.
데이터에 대한 underfitting이 발생할 수 있다.

분산은 사용하는 학습 알고리즘이 너무 복잡하기 때문에 발생하는 에러.
학습 데이터 변화에 너무 민감하여, overfitting 된다.

바이어스-배리언스 분해는 학습 오차를 3부분으로 나눈다. 바이어스 + 배리언스 + 줄일 수 없는 오차(irreducible error)
만약 모델을 더 복잡하게 하고,  변수를 더 많이 추가하면, 바이어스는 줄어들지만, 분산이 늘어난다.

Q2- What is the difference between supervised and unsupervised machine learning?
Q2- 지도 학습과 비지도 학습 사이의 차이점은 무엇인가?
More reading: What is the difference between supervised and unsupervised machine learning? (Quora)

지도 학습은 타겟 변수가 필요하다.
비지도 학습은 명시적인 라벨이 필요없다.

Q3- How is KNN different from k-means clustering?
Q3- KNN(최근접이웃)과 k-means 클러스터링의 차이점은?

More reading: How is the k-nearest neighbor algorithm different from k-means clustering? (Quora)

K-Nearest Neighbors 는 지도학습 분류 알고리즘이고 k-means는 비지도학습 클러스터링 알고리즘

Q4- Explain how a ROC curve works.
Q4- ROC 커브가 어떻게 작동하는지 설명하라
More reading: Receiver operating characteristic (Wikipedia)

ROC 커브는 다양한 임계점(thresholds)에서 true positive rate 와 false positive rate 사이의 대비를 그래프로 나타낸 것이
확률 값을 다양한 지점(thresholds)에서 나누게 되면, 각각 나뉘었을때 TPR과 FPR이 다르게 되는데 그것을 나타낸 것.

Q5- Define precision and recall.

Q5- 정밀도와 재현성을 정의하라

More reading: Precision and recall (Wikipedia)

재현성(recall)은 TPR로 알려져 있다. 실제로 클릭 중에 예측 클릭의 비율
정밀도(precision)은 예측 클릭 중에 실제 클릭의 비율

예측 (10개 사과와 5개 오렌지) 중에 실제(10개 사과)를 맞추는 거라면,
재현성은 100% 다. 10/10
정밀도는 66.7% 10/15

Q6- What is Bayes’ Theorem? How is it useful in a machine learning context?
Q6- 베이즈 이론이 무엇인가? 기계학습의 맥락에서 어떻게 유용한가?
More reading: An Intuitive (and Short) Explanation of Bayes’ Theorem (BetterExplained)

베이즈 이론은 사전 지식을 알고 있을 때 발생한 사건의 사후확률을 알려준다.

독감 테스트에서 독감이라고 판단할 확률이 60% 일때, 독감이라고 예측한 사람 중 50%는 음성이었고, 전체 인구의 5%가 독감 일 때,
독감 테스트에서 독감에 걸렸다고 했을 때 그게 사실일 확률은 얼마인가?

0.6 * 0.05 / ( 0.6 * 0.05 + 0.5 * 0.95) = 0.0594% 실제로 독감일 확률

Q7- Why is “Naive” Bayes naive?
Q7- 나이브 베이즈 는 왜 순진(naive) 한가?
More reading: Why is “naive Bayes” naive? (Quora)

실제와는 달리, 개별 요소의 조건부 확률이 전부 독립이라고 가정하기 때문이다.

Q8- Explain the difference between L1 and L2 regularization.
Q8- L1 과 L2 패널티 사이의 차이점을 설명하라
More reading: What is the difference between L1 and L2 regularization? (Quora)

L2 패널티는 모든 항에 대해 오차를 퍼지게 하는 경향이 있고, L1은 더 많은 변수를 0으로 할당한다. L1은 라플라시안에 해당하고, L2는 가우시안 사전확률에 해당.


Q10- What’s the difference between Type I and Type II error?

Q10- 1종 오류와 2종 오류 사이의 차이점은 무엇인가?
More reading: Type I and type II errors (Wikipedia)

1종 오류는 실제 무죄인데 유죄라고 하는 것, 2종 오류는 유죄인데 무죄라고 하는 것.

Q11- What’s a Fourier transform?
푸리에 변환이 무엇인가?
More reading: Fourier transform (Wikipedia)
https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/


푸리에 변환은 스무디가 주어졌을 때 레시피를 찾아내는 것
특정 신호(스무디)에 대해 여러 주파수(과일 필터)를 반복해보면서, 주기(레시피)를 찾아내는 것

Q12- What’s the difference between probability and likelihood?
Q12- 확률과 우도 사이의 차이점
More reading: What is the difference between “likelihood” and “probability”? (Cross Validated)

확률(probability)은 주어진 파라미터에 대해 관찰값이 나올 가능성 P( data | θ )
우도, 가능도(likelihood)는 주어진 관찰값에 해 파라미터가 나올 가능성 L( θ | data )

_Q13- What is deep learning, and how does it contrast with other machine learning algorithms?_
Q13- 딥러닝은 무엇인가? 다른 기계학습 알고리즘과 다르게 떻게 동작하는가?
More reading: Deep learning (Wikipedia)

딥러닝은 신경망과 관련된 기계학습의 부분집합
신경망을 사용해 자료의 표현(high level representation)을 학습하는 비지도 학습 알고리즘이라고 볼 수 있음

Q14- What’s the difference between a generative and discriminative model?
결정적(discriminative) 모형과 생성적(generative) 모형사이의 차이점
More reading: What is the difference between a Generative and Discriminative Algorithm? (Stack Overflow)

생성적 모형은 자료의 분포를 학습한다. 결정적 모형은 자료의 서로 다른 분류 사이의 "차이점"을 학습한다.

Q15- What cross-validation technique would you use on a time series dataset?
Q15- 시계열 자료에 대해 CV를 어떻게 해야하는가?
More reading: Using k-fold cross-validation for time-series model selection (CrossValidated)

일반적인 k 겹 교차 검증(k fold cross-validation)은 시계열에서는사용할 수 없음. 랜덤하게 분포된 자료가 아니기 때문

k fold 를 사용하면 미래의 정보가 중간 예측에 들어가게 됨. 따라서 다음과 같이 함

  • fold 1 : training [1], test [2]
  • fold 2 : training [1 2], test [3]
  • fold 3 : training [1 2 3], test [4]
  • fold 4 : training [1 2 3 4], test [5]
  • fold 5 : training [1 2 3 4 5], test [6]

Q16- How is a decision tree pruned?
Q16-  의사결정나무가 가지치기를 어떻게 하는가?
More reading: Pruning (decision trees)

모델 복잡도를 줄이기 위해 약한 예측력을 갖는 가치를 잘라내는 것
단순한 방법은 , 각 노드를 교체해본다. 하나씩 빼보면서, 예측 정확도가 줄어들지 않는다면, 가지치기 한다.

Q17- Which is more important to you– model accuracy, or model performance?
Q17- 모델 정확도나 모델 성능 중 어느 것이 더 중요한가?
More reading: Accuracy paradox (Wikipedia)

예측력이 줄어들 수 있는 정확도가 높은 모형이 있을 수 있다. 어떻게 이럴 수 있는가?

사실 정확도는 성능의 일부인데, 때때로 이것을 오해한다. 예를 들어, 클릭 예측 문제에서
정확도가 높은 모형은 모두 다 클릭을 안한다고 만드는 모형이다. 그러나 예측에는 쓸모없다.
이 질문은 정확도가 모델 성능의 전부는 아니라는 것

Q18- What’s the F1 score? How would you use it?
Q18- F1 스코어는 무엇인가? 어떻게 사용하는가?
More reading: F1 score (Wikipedia)

F1 스코어는 모델 성능의 척도이다. 정밀도(precision)과 재현성(recall)의 조화평균이다.
1에 가까울 수록, 가장 좋고, 0은 가장 나쁘다.
실제 음성(노출을 노출로 예측하는 것) 에 관심이 없는 분류 문제에 사용한다.

Q19- How would you handle an imbalanced dataset?
Q19- 불균형 자료는 어떻게 다루는가?
More reading: 8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset (Machine Learning Mastery)

불균형 자료는 90%이상이 하나의 종류인 분류문제이다. 정확도 90%는 아무런 예측력이 없음을 나타낸다. 해결하는 방법은
1. 더 많은 료를 모은다
2. 표본 추출을 통해 불균형을 맞춘다.
3. 다른 종류의 알고리즘을 사용한다.

Q21- Name an example where ensemble techniques might be useful.
Q21- 앙상블이 유용할 수 있는 예
More reading: Ensemble learning (Wikipedia)

앙상블 기법은 예측 성능을 최적화하기 위해 학습 알고리즘을 결합하는 것
일반적으로 모델의 과적합을 줄이고, 더 강건한 모델을 만든다.

Q22- How do you ensure you’re not overfitting with a model?
Q22- 오버피팅을 어떻게 피할 수 잇는가?
More reading: How can I avoid overfitting? (Quora)

1. 단순한 모형을 사용한다
2. 교차검증(CV)을 한다
3. LASSO와 같은 패널티 기법을 쓴다.

Q23- What evaluation approaches would you work to gauge the effectiveness of a machine learning model?
Q23- 기계학습 모델의 효과 측정을 위해 어떤 방법을 쓰는가?
More reading: How to Evaluate Machine Learning Algorithms (Machine Learning Mastery)

CV를 한다.
F1, 정확도, 혼동행렬(confusion matrix) 등을 사용한다.

Q25- What’s the “kernel trick” and how is it useful?
Q25- 커널트릭이란 무엇이고 어떻게 사용하는가?
More reading: Kernel method (Wikipedia)

커널 트릭은 점의 좌표를 명시적으로 계산하지 하지 않고도 고차원에서 가능하게 하는 방법
각 변수에 커널 함수를 씌우고 내적을 구한다.