ML 기본 상식

2024. 4. 16. 01:28기술 면접/AI(ML,DL)

Training 세트와 Test 세트를 분리하는 이유는?

  • 모델의 일반화 성능을 측정하기 위해. 즉 unseen data에 대해 모델의 성능을 평가하고자 test set을 만들게 됩니다. 이를 하지 않았을 때는 주어진 데이터에 대해 과도하게 학습하여 새로 주어진 데이터에 대해 잘 예측하지 못하는 overfitting 문제가 발생할 수 있습니다.

그렇다면 Validation 세트가 따로 있는 이유는?

  • 학습시 모델의 성능을 평가하고 하이퍼파라미터를 수정할 수 있도록 일종의 학습시 참고하는 test set입니다. 고정된 test set만 활용할 경우 이는 또다시 test set에 overfitting이 발생하는 문제를 야기할 수 있기 때문에 보통 train/valid/test 데이터셋을 활용합니다.

Test set이 오염되었다. 무슨 말인가?

  • train 데이터와는 달리 한 번도 본적 없는 데이터로 구성되어야 합니다. 그러나 train 데이터와 매우 흡사하거나 심지어 일부 포함된 경우라면 test set이 모델의 성능을 객관적으로 판단하지 못하게 되는데 이 경우 오염되었다고 말합니다.

 

Gradient Descent란?

  • 미분. 기울기입니다. 어떤 기울기이냐? loss function에서 현재 위치의 기울기입니다. 결국 loss를 최소화 하기 위해 현재 파라미터의 값을 키우냐, 줄이느냐에 대한 방향성에 대한 지표로 기울기가 선택됩니다.

Local Minima와 Global Minimum이란?

  • loss function을 그래프로 도식화하였을 때, 목적함수를 최소화하는 모수를 찾는 과정에서 극솟값중 전역에서 최소값이 아닌 일부 지역에서 최소값인 경우를 Local minima라고 합니다. 반대로 전역에서 최솟값을 Global mininum이라고 합니다.
  • Local Minima에 빠지지 않기 위해서는 Gradient Descent(=Batch Gradient Descent) 외 여러가지 Optimizer를 활용할 수 있습니다.
    • Stochastic Gradient Descent : 랜덤으로 데이터를 하나 추출하여 weight update
      • 빠르고 메모리 소비량이 적지만 최적값에 수렴되지 않을 가능성이 높고 진폭이 매우 크다.
    • mini-batch Gradient Descent : 랜덤으로 mini-batch 개의 데이터를 추출하여 weight update
      • batch보다는 연산량이 적고 SGD보다는 안정적으로 수렴한다.

그 외 optimizer. 3장에서 다시 공부하자

 

Bias와 Variance에 대해서 설명

  • bias : 편향. 즉 모델의 탄착군(=성능)이 현재 어디를 가르키고 있는지 입니다. 
  • variance : 분산. 즉 모델의 탄착군(=성능)의 분포가 얼마나 분산되어 있는지를 나타내는 지표입니다.

**low bias, low variance일 때 최적의 상태이며 보통 bias와 variance는 trade-off 관계입니다.

bias-variance

Overfitting, Underfitting. 해결방안?

  • overfitting은 말그대로 과적합. high variance로 즉 훈련데이터에 너무 과적합되어 테스트시 성능이 떨어지는 현상입니다.
  • underfitting은 모델이 충분히 학습되지 않은 형태. 즉 high bias로 훈련데이터가 충분하지 않을 때 주로 발생합니다.
  • overfitting 해결방안은 regularization. 정규화를 수행하는 방법이 있습니다. 람다1, 람다2와 같은 수식으로써 수행할 수도 있고, 딥러닝에서는 Dropout 기능을 수행할 수 있습니다.
  • underfitting의 경우 학습데이터를 더 구축해야합니다. 또는 모델의 용량이 너무 커서 발생할 수도 있기 때문에 해당 문제에 적합한 모델을 다시 탐색하는것도 좋은 접근법이 될 수 있습니다.

 

Normalization, Regularization 차이

  1. Normalization: 해당 변수의 값을 [0,1] 사이로 scaling 하는 것.
    • 이유 : 값이 큰 feature의 영향이 커지는 것을 방지하기 위함.
    • 효과 : local minima에 빠질 확률을 줄여준다.
  2. Regularization: weight 조정 시 제약을 거는 법
    • 이유 : 과적합 방지
    • 기법 : L1(Lasso), L2(Lidge) 기법이 존재함

Normalization, Regularization 모두 정규화로 번역되곤하지만 둘은 명확한 차이가 있다.
C0(cost function), n(train data 개수), 람다(regularization 변수), w(weight. update 파라미터)

 

Loss function이란?

  • objective function. 즉 목적함수 입니다. 모델이 해당 업무를 수행하기 위한 지표로 정답과의 거리를 나타냅니다. 해당 목적식은 값을 최소화하는 x를 찾아내는 방식입니다.

 

중심극한 정리란?

  • 모집단에서 크기가 30이상인 표본을 여러번 추출 하였을 때 각 표본의 평균이 이루는 분포는 정규분포에 가까워진다. 라는 내용입니다. 해당 정리가 중요한 이유는 구성하는 정규분포가 모집단의 평균 μ 그리고 표준편차가σ/√n인 정규분포이기 때문입니다. 이 정리를 통해, 모집단의 분포 모양에 상관없이 내가 수집한 표본의 평균이 발생할 확률을 추정할 수 있습니다. 즉 중심극한 정리는 표본 평균들이 이루는 표본 분포와 모집단 간의 관계를 증명함으로써, 수집한 표본의 통계량(statistics)을 이용해 모집단의 모수(Parameters)를 추정할 수 있는 수학적(확률적) 근거를 마련해 줍니다.

 

 

SVD란?

  • 특이값 분해의 약자로 Single Value Decomposition 입니다. 기하학적 의미로는 선형 변환을 뜻합니다. 직교 행렬은 선형 변환 중 회전 변환을 의미며 대각 행렬은 스케일 변환을 의미합니다. 머신러닝에서 사용되는 SVD는 주로 Truncated SVD로 저차원의 행렬을 이용하여 본래의 행렬에 근사값을 예측하는데 사용됩니다.
  • SVD는 매우 많은 피처를 가진 고차원 행렬을 저차원 행렬로 분리하는 행렬 분해 기법입니다. 특히 이런 행렬 분해를 수행하면서 원본 행렬에서 잠재된 요소를 추출하기 때문에 토픽 모델링이나 추천 시스템에 활발하게 사용됩니다.

 

Collaborative filtering이란?

  • 협업 필터링. 주로 추천 시스템에 사용되는 방법론입니다. 사용자-아이템 행렬에서 빈칸을 메꾸기 위한 방법론으로 유저간 유사도를 기반으로 유사한 사용자가 해당 아이템에 부여한 평점을 사용하여 해당 아이템에 대한 평점을 예측하는 방법론입니다.
  • 구현이 간단하다는 장점이 있지만 아이템이나 유저가 늘어날 경우 확장성이 떨어지는 문제가 있고, 또한 sparse matrix에서 성능이 좋지 않습니다.

 

Attention이란?

  • 대략적으로는 자연어처리 예시로 들자면 문장 전체중 어디에 집중해야하는지에 대한 정보를 가중치로 표현한 것이라고 설명할 수 있습니다. Key,Query,Value matrix에 의해 계산되며 dot-product(내적) attention, multi-head(attnetion head가 여러개인 방식) attnetion 등 다양한 방법으로 구현될 수 있습니다.
    • multi-head attnetion. 왜? Google research에 따르면 여러 부분에서 도출된 정답을 합치는 것이 성능이 좋다고 알고있습니다.
    • multi-head = multi-query. 즉 여러질문에 대한 답으로 최종적인 word를 생성하는 의미입니다.

 

Transformer란?

  • Encoder-Decoder 구조로 multi-head attnetion 매커니즘을 사용하는 모델을 의미합니다. 기존이 seq2seq 모델의 한계점인 입력 시퀀스를 하나의 벡터로 압축하는 과정에서 입력 시퀀스의 정보가 일부 손실를 보정하기 위해 어텐션이 사용되었습니다.

 

Few-Shot Learning이란?

  • Downstream task의 몇 개의 예시를 보고 적응하여 문제를 해결하는 방법론을 의미합니다. fine-tuning과 비교하였을 때 weight가 업데이트 되지 않으며 많은 labeled-data가 필요한점과 대비가 됩니다.
  • 이외에도 one-shot learning, zero shot learing이 존재하는데 현재 저희가 사용하는 chatGPT의 경우 zero shot learning 방법으로 예제가 주어지지 않고 테스크 설명. 즉 프롬포트만 주어지면 작동하는 방식입니다.

'기술 면접 > AI(ML,DL)' 카테고리의 다른 글

DL 기본 상식 2  (0) 2024.04.22
DL 기본 상식  (0) 2024.04.22
ML 기본 상식 3  (1) 2024.04.22
ML 기본 상식 2  (0) 2024.04.21