ML 면접 대비

·2023년 3월 15일
0

ML 기초

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

  • 'Bayes 법칙'에 기반한 분류기, 학습방법
  • 분류를 쉽고 빠르게 하기 위해 분류기에 사용하는 특징들이 서로 "확률적이고 독립"이라는 다소 순진, 억지성격의 가정이 들어갔다.
  • 확률적으로 독립이라는 가정에 위반되는 경우에는 error 발생할 수 있어 주의 필요하다.
  • 실제 적용 가능함에도 불구하고 실제 data에서는 사실상 볼 수 없는 가정이므로 '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 : data가 생성되는 과정을 P(Y), P(X|Y)로 정의하고 베이즈 정리를 통해 P(Y|X)를 간접 도출, data 범주 분포를 학습

  • Discriminative model : data가 주어졌을 때 레이블이 나타날 조건부확률 P(Y|X)를 직접적으로 반환, 결정경계를 학습

Cross-Validation

  • 작은 dataset에 대해 모든 data가 최소 1번 이상 test set으로 쓰이게 하는 교차 검증

Decision Tree

  • Pruning(가지치기)을 통해 model 복잡성을 줄이고 예측 정확도 높이기 위해 예측력이 약한 가지는 제거

Model Accuracy & Performance

  • Accuracy Paradox : model 성능 측정 시 정확도만 가지고 판단하는 것은 좋은 지표가 아님
  • ex : 범주 A 발생률이 지배적이고 test set의 99%가 범주 A이면 정확도는 높아짐 -> Precision, Recall 등 이용

F1 score

  • model Precision과 Recall에 대한 조화 평균
  • 조화 평균은 큰 값에 패널티를 주어 작은값 위주로 평균을 내어 imbalanced data에 유리

Ensemble

  • model 과적합을 감소시키고 더 robust하게 만들어 줌
  • Bagging : data를 bootstrap해 각 dataset에 model 만든 뒤 평균 또는 voting으로 결과 도출 (variance 감소)
  • Random Forest : Bagging에서 model이 가지치기를 할 때 m개의 변수만 고려 (전체 변수 개수의 제곱근)
  • Boosting : 잘 학습되지 않은 data에 대해 가중치를 주어 학습 (bias 감소)

과적합(Overfitting) 피하기

  • model 간단하게 만들기 (변수 개수 줄이기)
  • 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

  • 해당 차원 좌표를 계산하지 않고 고차원 공간에서 활성화할 수 있는 kernel

R square

  • 선형 모델이 주어진 자료에 적합한 정도를 측정하는 결정 계수

DL 기초

활성화 함수(Activation Function) 종류

  • sigmoid : 역전파 과정에서 기울기 소실되는 문제 발생
  • tanh : sigmoid의 기울기 소실 문제 해결
  • ReLU : 특정값에 수렴하지 않음
  • Leaky ReLU : 음수에서 기울기가 0되는 ReLU 문제 해결
  • softmax : 다중 클래스 분류 시 사용

Loss Function

  • MSE
  • Cross Entropy

Optimizer

  • 배치 경사 하강법 : 오차 구할 때 전체 데이터 고려
  • 확률적 경사 하강법 (SGD) : 오차 구할 때 랜덤으로 1개 data 고름
  • 미니 배치 경사 하강법 : 오차 구할 때 정해진 개수 data 고름
  • Momentum : 직전 SGD 접선 기울기 일부 비율 반영하여 local minimum 탈출
  • Adagrad : 각 매개변수마다 learning rate 다르게 하기
  • RMSprop : Adagrad에서 learning rate 과도하게 낮아지는 것 방지
  • Adam = Adgrad + RMSprop (방향 + 학습률)

epoch & batch size & iteration

  • epoch : 순전파, 역전파가 끝난 상태
  • batch size : 매개변수 update 할 data 갯수
  • iteration : 한 epoch 위해 필요한 batch size 수 = (전체 data / batch size)

RNN

  • 입출력 sequence 단위로 처리
  • 설계방식 : 일대다 / 다대일 / 다대다

LSTM

  • 입력 게이트 : 현재 정보 기억하기 위한 게이트
  • 삭제 게이트 : 기억 삭제하기 위한 게이트
  • 출력 게이트 : 출력 위한 게이트

GRU

  • 리셋 게이트 : 과거 정보 일부 지우는 게이트
  • 업데이트 게이트 : 현재 정보 얼마나 취할지 결정한는 게이트

0개의 댓글