본문 바로가기

REVIEW/INTERN+INTERVIEW

[ML] 머신러닝 기초 (for 기술면접 대비)

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

머신러닝 기초

  • Bias & Variance
    - Bias : 참값과 추정값들의 차이
    - Variance : 추정값들의 흩어진 정도
    - train data에 bias를 최대한 낮출 경우 모델 복잡도가 높아져 variance가 커지고,
      variance를 줄이기 위해 모델 복잡도를 낮출 경우 bias가 높아지는 trade-off 관계가 존재
  • Supervised & Unsupervised ML
    - 지도 학습 (Supervised Learning) : 정답 알려주며 학습, label된 train data 필요, 분류 + 회귀
    - 비지도 학습 (Unsupervised Learning) : 정답을 따로 알려주지 않는 학습, 군집화
    - 강화 학습 (Reinforcement Learning) : 상/벌 reward를 주어 상을 최대화 및 벌을 최소화
  • KNN vs K-means
    - KNN : 지도 학습
    - K-means : 비지도 학습
  • ROC curve
    - 다양한 임계값에서 True Positive Rate(=TP/TP+FN, 정답이 Positive인 것들 중 정답 맞춘 비율)와 False Positive Rate(=FP/FP+TN, 정답이 Negative인 것들 중 정답 맞춘 비율) 값을 나타낸 것
    - ROC curve 면적인 AUC가 클수록 정확도 높다고 판단
  • Precision & Recall
    - Precision = TP / (TP+FP)
    - Recall = TP / (TP+FN)
  • Bayes' Theorem
    - 사전 지식이 주어졌을 때의 사후 확률
    - P(A|B) = P(B|A)P(A) / P(B)
    - P(A) : A의 사전확률, P(B) : B의 사전확률, P(B|A) : A가 주어졌을 때 B의 조건부 확률, P(A|B) : A의 사후확률
  • Naive Bayes
    - 특성 사이 독립
    - 실제 적용이 가능함에도 불구하고 실제 데이터에서는 사실상 볼 수 없는 가정이므로 'naive'라고 칭함
    - 조건부 확률을 모두 곱하여 구하는 것이 실제로는 볼 수 없는 가정이므로
  • Lasso (L1 Regularization) & Ridge (L2 Regularization)
    - 정규화를 통해 계수 크기를 줄여 다중공선성을 방지하며 모델을 더욱 단순하게 만듦
    - Ridge : 모든 항에 오차를 확산 (라플라스 사전확률)
    - Lasso : 가중치를 1 또는 0으로 할당하는 변수 많도록 더 sparse하며 binary함 (가우시안 사전확률)
  • Type 1 & Type 2 Error
    - Type 1 : False Positive
    - Type 2 : False Negative
  • 푸리에 변환 (Fourier Transform)
    - 일반 함수를 대칭 함수의 중첩으로 분해
    - 오디오 신호, 센서 데이터에서 feature 추출 시 사용
  • Probability & Likelihood
    - Probability : 관측값(구간)이 분포 안에 얼마의 확률로 존재할지 나타냄 (확률 분포 고정)
    - Likelihood (가능도) : 관측값이 어떤 확률 분포에서 왔을지에 대한 확률
    - Discrete 사건 : 확률 = 가능도
    - 연속 사건 : 특정 사건이 일어날 확률이 전부 0으로 계산되어 확률 ≠ 가능도 = pdf 값
    - Maximum Likelihood (최대 우도 추정) : 각 관측값에 대한 총 가능도를 최대로 하는 분포
  • Deep Learning & Machine Learning
    - 딥러닝은 머신러닝의 일부로, 뉴럴 네트워크를 통해 역전파 등으로 학습 진행 (unsupervised)
  • Generative & Discriminative model
    - Generative model : 데이터가 생성되는 과정을 p(Y), p(X|Y)로 정의하고 베이즈 정리를 통해 p(Y|X)를 간접 도출, 데이터 범주 분포를 학습
    - Discriminative model : 데이터가 주어졌을 때 레이블이 나타날 조건부확률 p(Y|X)을 직접적으로 반환, 결정경계를 학습
  • Cross-Validation 
    - 작은 데이터셋에 대해 모든 데이터가 최소 1번 이상 test set으로 쓰이게 하는 교차 검증
  • Decision Tree
    - Pruning(가지치기)을 통해 모델 복잡성 줄이고 예측 정확도 높이기 위해 예측력이 약한 가지는 제거
  • Model Accuracy & Performance
    - Accuracy Paradox : 모델 성능 측정 시 정확도만 가지고 판단하는 것은 좋은 지표가 아님
    - ex: 범주 A 발생률이 지배적이고 test set의 99%가 범주 A이면 정확도는 높아짐 → Precision, Recall 등 이용
  • F1 score
    - 모델 Precision과 Recall에 대한 조화 평균
    - 조화 평균은 큰 값에 패널티를 주어 작은값 위주로 평균을 내어 imbalanced data에 유리
  • Ensemble
    - 모델 과적합을 감소시키고 더 robust 하게 만들어 줌
    - Bagging : data를 bootstrap하여 각 dataset에 모델을 만든 뒤 평균 또는 voting으로 결과 도출 (variance 감소)
    - Random Forest : Bagging에서 모델이 가지치기를 할 때 m개의 변수만 고려 (전체 변수 개수의 제곱근)
    - Boosting : 잘 학습되지 않은 data에 대해 가중치를 주어 학습 (bias 감소)
  • 과적합(overfitting) 피하기
    - 모델 간단하게 만들기 (변수 개수 줄이기)
    - k-fold cross validation 사용
    - 정규화 사용
  • 평가 지표
    - 눈금 의존 오차 : MAE(Mean Absolute Error, 평균 절대 오차), RMSE(Root Mean Squared Error, 제곱근 평균 제곱 오차)
    - 백분율 오차 (단위 상관 X) : MAPE(Mean Absolute Percentage Error, 평균 절대 백분율 오차)
  • Logistic Regression
    - 회귀 함수를 sigmoid 함수를 통해 분류하는 것으로, 일정 threshold 이상 넘을 때를 기준으로 분류
    - Odds : 사건 A가 발생하지 않을 확률 대비 일어날 확률 (odds를 통해 sigmoid 함수 도출 가능)
  • Kernel Trick
    - 해당 차원 좌표를 계산하지 않고 고차원 공간에서 활성화할 수 있는 커널
  • R square
    - 선형 모델이 주어진 자료에 적합한 정도를 측정하는 결정 계수
    - 1 - 추정 모형 MSE / 평균 관측 값 MSE

 

딥러닝 기초

  • 활성화 함수(Activation Function) 종류
    - sigmoid : 역전파 과정에서 기울기 소실되는 문제 발생
    - tanh : sigmoid의 기울기 소실 문제 해결
    - ReLU : 특정값에 수렴하지 않음
    - Leaky ReLU : 음수에서 기울기가 0되는 ReLU 문제 해결
    - softmax : 다중 클래스 분류 시 사용
  • Loss Function
    - MSE
    - Cross Entropy
  • Optimizer
    - 배치 경사 하강법 : 오차 구할 때 전체 데이터 고려
    - 확률적 경사 하강법 (SGD) : 오차 구할 때 랜덤으로 1개 데이터 고름
    - 미니 배치 경사 하강법 : 오차 구할 때 정해진 개수 데이터 고름
    - Momentum : 직전 SGD 접선 기울기 일부 비율 반영하여 local minimum 탈출
    - Adagrad : 각 매개변수마다 learning rate 다르게 하기
    - RMSprop : Adagrad에서 learning rate 과도하게 낮아지는 것 방지
    - Adam = Adagrad + RMSprop (방향 + 학습률)
  • epoch & batch size & iteration
    - epoch : 순전파, 역전파가 끝난 상태
    - batch size : 매개변수 업데이트 할 데이터 개수
    - iteration : 한 epoch 위해 필요한 batch size 수 (=전체 데이터 / batch size)
  • RNN
    - 입출력 sequence 단위로 처리
    - 설계방식 : 일대다 / 다대일 / 다대다
  • LSTM
    - 입력 게이트 : 현재 정보 기억하기 위한 게이트
    - 삭제 게이트 : 기억을 삭제하기 위한 게이트
    - 출력 게이트 : 출력을 위한 게이트
  • GRU
    - 리셋 게이트 : 과거 정보 일부 지우는 게이트
    - 업데이트 게이트 : 현재 정보 얼마나 취할지 결정하는 게이트

 

반응형