Table of Contents

728x90

Epoch를 늘려서 train_loss를 줄이고 accuracy와 f1score를 높였지만 submission 점수가 낮게 나오는 이유는 여러 가지가 있을 수 있습니다. 주된 원인과 해결 방법을 설명드리겠습니다.

1. 오버피팅(Overfitting)

  • 설명: 모델이 훈련 데이터에 너무 맞추어져서 테스트 데이터에서는 일반화되지 못하는 경우입니다.
  • 해결 방법: 정규화 기법(예: Dropout, 가중치 감쇠), 조기 종료(Early Stopping)를 사용하고 데이터 증강(Data Augmentation)을 더 많이 적용해 모델의 일반화 성능을 높입니다.

2. 데이터 누출(Data Leakage)

  • 설명: 훈련 데이터 외의 정보가 모델 학습에 포함되면서 평가 시 성능이 과대 평가되는 경우입니다.
  • 해결 방법: 훈련, 검증, 테스트 데이터를 철저히 분리하고 교차 검증을 사용하여 데이터 누출을 방지합니다.

3. 부적절한 교차 검증(Cross-Validation)

  • 설명: 교차 검증의 데이터 분포가 실제 테스트 데이터와 다를 경우입니다.
  • 해결 방법: Stratified Cross-Validation을 사용하여 각 fold가 전체 데이터의 분포를 잘 대표하도록 합니다.

4. 평가 척도 불일치

  • 설명: 훈련 시 사용한 평가 척도와 실제 대회에서 사용하는 척도가 다른 경우입니다.
  • 해결 방법: 훈련 시 사용한 평가 척도가 대회 평가 척도와 일치하도록 합니다.

5. 분포 차이(Distribution Shift)

  • 설명: 훈련 데이터와 테스트 데이터의 분포가 다른 경우입니다.
  • 해결 방법: 테스트 데이터의 분포를 분석하고, 가능한 경우 유사한 분포를 훈련 데이터에 적용합니다.

6. 모델 복잡도(Model Complexity)

  • 설명: 모델이 너무 복잡해 훈련 데이터에 과적합되는 경우입니다.
  • 해결 방법: 모델을 단순화하거나, Dropout과 같은 정규화 기법을 추가로 사용합니다.

'DeepLearning' 카테고리의 다른 글

Normalize  (0) 2024.08.07
이미지 크기  (0) 2024.08.07
EfficientVit  (0) 2024.08.06
Tesseract OCR  (0) 2024.08.03
`img_size`를 조정한다는 것  (0) 2024.07.30