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 개의 폴드를 훈련 데이터로 사용하여 모델 학습

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은 학습된 모델의 성능을 평가하고 보고하기 위해 사용된다.
'산업공학 > Deep Learning' 카테고리의 다른 글
[딥러닝] PyTorch - Transforms (1) | 2024.08.17 |
---|---|
[딥러닝] PyTorch - Dataset and Data Loader (0) | 2024.08.17 |
[딥러닝] PyTorch - Tensor (1) | 2024.08.16 |
[딥러닝] Neural Network (2) | 2024.07.15 |
[딥러닝] Gradient Descent (경사하강법) (2) | 2024.04.04 |