과적합(Overfitting)이 발생했다는 걸 인식하는 건 모델 개발의 핵심이죠. 과적합은 모델이 훈련 데이터에는 잘 맞지만, 새로운 데이터(검증 또는 테스트 세트)에는 성능이 떨어지는 현상이에요. 아래와 같은 징후와 진단 방법을 통해 확인할 수 있습니다.
✅ 과적합 여부를 판단하는 방법
1. 훈련 손실 vs 검증 손실 차이가 큼
- 훈련 손실은 계속 낮아지는데, 검증 손실은 중간부터 정체되거나 증가하면 과적합 가능성 높음

2. 예측 성능이 훈련 데이터에서는 높고, 검증/테스트에서는 낮음
- 예: Train R² = 0.95, Test R² = 0.42
- 정확도나 MSE 등 평가 지표가 훈련과 테스트 간 차이가 클수록 과적합 가능성 있음
3. 학습 epoch이 길어질수록 검증 성능이 나빠짐
- 손실 시각화 그래프에서 다음처럼 그려짐:

4. 예측 결과가 지나치게 훈련 데이터의 패턴만 따를 때
- 예: 훈련 구간은 잘 맞추지만, 실제 상황에서는 잡음을 확대하거나 무의미한 추세까지 과잉 반영함
✅ 실습적으로 확인하는 방법 (예: Keras)

✅ 과적합 진단을 위한 팁
지표확인할 것
| 손실 그래프 | 검증 손실이 상승하거나 발산하는지 |
| 평가 지표(RMSE, R² 등) | 훈련과 검증 간의 차이가 큰지 |
| 예측 결과 플롯 | 훈련 데이터와 테스트 데이터에서 양상이 다른지 |
✅ 그럼 어떻게 대응할까?
- Dropout
- EarlyStopping
- 데이터 증강
- 더 간단한 모델 구조
- 더 많은 데이터 확보
- 정규화 (L1/L2)