- Overfitting 은 Model 학습데이터를 과도하게 학습하게 되어,
학습데이터 이외의 새로운 데이터에 대해 예측을 하지 못하는 현상이다.
- Underfitting 은 Model 이 학습을 제대로 하지못하여, 어떠한 데이터도 예측 하지 못하는 현상이다.
![]()
- 더 많은 Dataset 을 확보한다.
→ 가장 확실한 방법! 다양한 Feature 를 포함하는 데이터가 많으면 많을수록, Overfitting 현상이 발생할 확률은 ↓
- Dropout 기법
→ Train 과정 동안 일부 Layer 출력을 0으로 만드는 노이즈를 추가함으로써 학습을 복잡하게 만들어준다.
- EarlyStopping
→ Validation Acc 가 감소하는 지점에서 학습을 중단한다. (Overfitting 발생)
![]()
- Model Complexity 를 줄인다.
→ Model 이 너무 deep 한 경우, Overfitting 이 발생 할 수 있다.
가장 좋은 방법은 추가적인 Dataset 을 확보하는 것입니다.
하지만, Real World 에서 추가 데이터셋 확보는 어려운 경우가 많음으로, 일부 Layer 의 출력을 끄는 Dropout 기법을 적용하거나, Overfitting 발생 지점에서 학습을 중단하는 EarlyStopping 기법을 사용 해볼 수 있습니다.
또한, 주어진 Task 에 비해 너무 Model의 복잡도가 크다고 판단되는 경우, 모델 변경 또는 Layer 을 줄여봄으로써 복잡도를 줄여 볼 수 있습니다.