산업공학/Deep Learning

[딥러닝] DL 실무 기초 개념

테드리 2024. 8. 16. 09:53

1.  데이터 셋

1) Training Set

  • 모델을 학습시키는 용도
  • Train Set에 대해서 Gradient Descent하여 Loss를 최소화시키는 모델의 weight 최적화

2) Validation Set

  • 모델의 성능 평가와 Hyper Parameter를 Tuning하는데 쓰이는 데이터셋
  • Train Set에 대해 Overfitting되는 것을 방지하기 위해 사용

3) Test Set

  • 검증 단계에서 선택한 최적의 모델의 최종 성능을 평가하는데 사용
  • Hyper Parameter Tuning을 과도하게 적용하는 경우 Validation Set에 대해 unintentional overfitting 발생할 수 있다.

 

2. Overfitting

 Overfitting(과적합)이란 Unseen Data에 대해서 모델이 일반화되지 않은 현상을 의미한다. 즉, NN 모델이 학습 데이터에 있는 Noise까지도 학습시켜서 일반화 성능이 저하되는 현상이다.

 

비유하자면, 맞춤 옷을 제작할 때, 옷이 너무 딱 맞으면, 그 옷은 입은 사람의 몸에 완벽하게 맞는다. 이는 입는 사람의 몸매를 정확히 반영하기 때문에, 어떤 면에서는 이상적으로 보일 수 있다. 하지만, 이렇게 제작된 옷은 오직 그 사람에게만 완벽하게 맞으며, 조금이라도 체형이 변하거나 다른 사람이 입었을 때는 그만큼 잘 맞지 않게 된다.

 

 

3. K-Fold Cross Validation

1. 데이터 분할

  • 원본 데이터셋을 K개의 서로 겹치지 않는 부분 집합으로 나눈다. (일반적으로 K = 5 또는 10 사용)

2. 데이터 반복 학습 및 검증 

  • 하나의 폴드를 검증 데이터로 사용
  • 나머지 K-1 개의 폴드를 훈련 데이터로 사용하여 모델 학습

https://brunch.co.kr/@cherrybrownbear/58

3. 성능 측정

  • 각 반복마다 모델을 검증용 폴드에 대한 성능 평가
  • 모든 K번의 평가를 완료한 후에 평균 성능 계산

4. 최종 성능 평가 혹은 Hyper Parameter Tuning

  • Fold들에 대한 평균 성능을 최종 성능 지표로 사용
  • 혹은 Hyper Parameter Tuning에 사용

 

K-Fold Cross Validation의 장점:

  • 데이터를 효과적으로 사용하여 모델의 성능 평가
  • 과적합 문제를 예방하고 모델의 일반화 성능을 더 신뢰성 있게 평가

 

4. Loss Function과 Evaluation Metric의 차이

1) Loss Function

  • 예측한 값과 실제 값의 오차 
  • 학습 단계에서 Loss를 최소화하는 방향으로 모델 학습
  • 미분 가능해야 한다
  • Cross Entropy, MSE 등등

2) Evaluation Metric

  • 학습된 모델의 성능을 평가하는데 사용되는 지표이다
  • 손실함수와 달리 평가 지표는 더 직관적이다
  • 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1-Score 등등

 

즉, Loss Function은 모델 학습 단계에서 모델의 가중치를 조정하기 위한 목적으로 예측 오차를 측정하기 위해 사용되고, Evaluation Metric은 학습된 모델의 성능을 평가하고 보고하기 위해 사용된다.